Professional Documents
Culture Documents
British Airways
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”)
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?
Document-based services 10
People we talked to said …
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
Document-based services 13
Realising the ideal
Document-based services 14
plurum
• Internal beta
Document-based services 15
the problem plurum solves
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
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
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
• Proof of solution
• Migrate ba.com
Document-based services 22