You are on page 1of 23

Document based services at

British Airways

12th March 2009


Mike Daley
Technical Architect

Stewart Marshall
Technical Architect

Document-based services 3
Document-based services 4
ba.com logical architecture

ba.com
ba.com Staff
Staff Travel
Travel Online
Online Check-in
Check-in
Web
Web Channel
Channel Web
Web Channel
Channel Web
Web Channel
Channel

ba.com
ba.com Baggage
Baggage Update
Update Staff
Staff Travel
Travel Online
Online Check-in
Check-in
Business
Business Logic
Logic Business
Business Logic
Logic Business
Business Logic
Logic Business
Business Logic
Logic
Server
Server Server
Server Server
Server Server
Server

Message
Message Hub
Hub
Customer
Customer Departure
Departure Control
Control
Reservations
Reservations Business Logic
Business Logic
Database
Database TPF
TPF
Server
Server

Document-based services 5
ba.com domains

ba.com
ba.com functionality
functionality
selling
selling domain
domain servicing
servicing domain
domain

Platform
Platform Platform
Platform
Technical
Technical Functional
Functional payment
payment domain
domain
Architect
Architect Architect
Architect

Business
Business
Business
Analyst
Business
Analyst
Analyst
Analyst travel
travel domain
domain
Business
Business
Business
Analyst
Business
Analyst
Analyst
Analyst

Technical
Technical customer
customer domain
domain
Technical
Technical Technical
Technical
Developer
Technical
Technical
Design
Design
Technical Technical
Developer
Technical
Technical
Technical
Design
Design Technical
Design
Design
Design
Design
Lead
Lead Design
Design
Design
Design
Lead
Lead Design
Design
Lead
Lead
Lead
Lead
Lead Lead
Lead
Lead
Lead Lead

infrastructure
infrastructure platform
platform design
design …

team
team team
team

Document-based services 6
ba.com: inside the BLS

Business
Business Logic
Logic Server
Server

schema-derived
schema-derived interfaces
interfaces

Functional
Functional Process
Process Helper
Helper
Component
Component Component
Component Component
Component

schema-derived
schema-derived interfaces
interfaces

ba.com
ba.com framework
framework

Document-based services 7
Schema in principle

Transaction
Transaction schema
schema Message
Message schema
schema
(“t-schema”)
(“t-schema”) (“m-schema”)
(“m-schema”)

imports imports imports imports

Application
Application
Application
Application base
base
baseschema
schema
base schema
schema
Application
Application base
base
(“a-schema”) schema
schema
(“a-schema”)
(“a-schema”)
(“a-schema”)
(“a-schema”)
(“a-schema”)
imports

Base
Base
Baseschema
schema (corporate)
(corporate)
Baseschema
Base
Base schema(corporate)
schema
schema (corporate)
(corporate)
(corporate)

Document-based services 8
The Reality
Single image layout – full bleed

Document-based services 9
Where do we want to be?

• More able to respond to business change


• Speed and agility in providing new business capability

• Reduced cost of change

• (Still) robust and secure

Document-based services 10
People we talked to said …

Even [huge company] don’t Think about the existing,


have this many [schema] – paper-based interfaces in
in their entire business your business

Steve Jones Arjen Poutsma

[Famous high-volume online


retailer] pass references and do
Oh…
hundreds of look ups per page boarding passes
– we get it!
Steve Jones
Us…

Document-based services 11
Target services architecture
Products
Products and
and Services
Services Order
Order Management
Management Customer
Customer Interaction
Interaction
Composite Override Product
Create/ List/
Management
Management
Searches Pricing Reccs.
Update View
Interaction Identify
Flight Ground Schedule
Merge/ Order Mgt Mgt
Priced Priced
Split Integrity
Availability Availability Case
Collaboration
Shopping Non Core Mgt
Product Flt/Grnd
Cart Mgt
Catalogue Packaging

Payment
Payment Customer
Customer Account
Account
Management
Management
Payment Authentication &
Profile Membership
Method Authorisation
Miles & History …

Billing &
Points
Settlement

Business
Business Services
Services Layer
Layer

Document-based services 12
Challenges

• Does this mean every element in a document is optional?

• How do clients know how to use the service?

• Does it mean that we pass large amounts of data to


operations that don’t need it?

Document-based services 13
Realising the ideal

• Integrate the proposition

• Work out the process

• Train the people

• Find the tooling

Document-based services 14
plurum

• Internal beta

• plurum is a small tool which you can use to create


manageable and usable interfaces for Document-based
Services

• plurum runs as a stand-alone command line tool…

• … and will eventually offer integration with Spring Web


Services

Document-based services 15
the problem plurum solves

• plurum defines annotations for XML Schema

• plurum lets you specify requirements (for inbound


messages) and guarantees (for outbound messages) to
make your clients’ lives easier and your service more usable

Document-based services 16
the plurum workflow

Use boundary
Define business
schema to
document
understand service

Use boundary
Implement as XML
schema
“Base” Schema
for validation ?

Publish operation
Identify operations
boundary schema

Add plurum Run Base Schema


annotations through plurum

Document-based services 17
add plurum annotations

<schema targetNamespace="…"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:plu="…">
<annotation><appinfo>
<!– Define the operations -->
<plu:operations>
<plu:operation>acceptPassengers</plu:opera
tion>
</plu:operations>
</appinfo></annotation>

. . .
</schema>

Document-based services 18
add plurum annotations

<complexType name="FlightPassenger">
<sequence>
<element name="SeatNumber" minOccurs="0">
<annotation><appinfo>
<plu:Derivation>
<plu:Context operationName="acceptPassengers">
<plu:Guarantee
minOccurs="1"
reason="Operation supplies seat number" />
</plu:Context>
</plu:Derivation>
</appinfo></annotation>
</element>

Document-based services 19
how plurum works

plurum
annotated schema
plurum

fo
n

r
io

ea
at

ch
er
op

op
er
h
ac

at
io
re

n
fo

Operation Operation
Operation Operation
requirements
Operation guarantees
Operation
requirements guarantees
schema
requirements schema
guarantees
schema schema
schema schema

Document-based services 20
plurum Spring WS integration

plurum WSDL
annotated schema
plurum “Base” message

links for each operation


plurum
Message Dispatcher
exposes DBSs and publishes
their WSDLs and schema

Operation Operation
Operation Operation
requirements
Operation guarantees
Operation
requirements guarantees
schema
requirements schema
guarantees
schema schema
schema schema

Document-based services 21
There’s still much to do

• Complete development and testing of plurum

• Proof of solution

• Migrate ba.com

• Post component-based development


• Refine Governance
• Implement Caching
• Extending use of Spring
• Parameter & reference data

Document-based services 22