Top Banner
22-10-2008 1 Founding Sponsors This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com [email protected] Gold Sponsors Platinum Sponsors Silver Sponsors An SOA Case Study: The ESB Based Flight Data Processing System Arnaud Simon Red Hat
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Arnaud  Simon    Flight  Data Processing

22-10-2008

1

Founding Sponsors

This Presentation Courtesy of the

International SOA Symposium

October 7-8, 2008 Amsterdam Arena

www.soasymposium.com

[email protected]

Gold Sponsors

Platinum Sponsors

Silver Sponsors

An SOA Case Study: The ESB Based Flight Data Processing System

Arnaud SimonRed Hat

Page 2: Arnaud  Simon    Flight  Data Processing

22-10-2008

2

Flight Data Processing

• Air Traffic Control organization

– Provides navigational services

– Monitors and manages all air traffic within its airspace

– Responsible for the smooth and economic management of its airspace

Aircraft operators are required to submit computerized flight plans ahead of departure

Flight Plan

• Aircraft ID

• Aircraft Type & Suffix

• Airspeed

• Proposed departure time

• Altitude

• Departure airport

• Route

• Destination

Page 3: Arnaud  Simon    Flight  Data Processing

22-10-2008

3

Flight Plan Process

ATC Flight Plan Processing Requirements

• Software quality and reusability – Comply with international safety regulatory

requirements

• Large amount of data exchange– About 25,000 flights each day

• Supports several protocols – AMHS , AFTN, CIDIN

• Safety – No data is lost even in the occurrence of failure.

Page 4: Arnaud  Simon    Flight  Data Processing

22-10-2008

4

A SOA Approach

• Decision services

• Routing Services

• Transformation Services

• MOM

Decision Service

• Operations

– Assert a fact

– Execute a rule

– Watch the result of a rule execution

Page 5: Arnaud  Simon    Flight  Data Processing

22-10-2008

5

Decision Services

• Benefits

– Alleviate other services from encapsulating business rules

– Allow creating more generic and agnostic services

– Provide unified access to different Business Rule Engines

Amendment Rule

IF

FlightPlan.departure_time >= local_night_time

AND

Weather.local_conditions == poor

AND

Plane.navigation_type != electronic

THEN

reschedule_flight

Page 6: Arnaud  Simon    Flight  Data Processing

22-10-2008

6

Stateless Decision Service

Stateful Decision Service

Page 7: Arnaud  Simon    Flight  Data Processing

22-10-2008

7

Content Based Routing

XML representation of a Flight Plan

Page 8: Arnaud  Simon    Flight  Data Processing

22-10-2008

8

XPath Content Based Routing

Content Based Routing with Rules

Page 9: Arnaud  Simon    Flight  Data Processing

22-10-2008

9

Routing Rules

rule “Routing rule – Flight Plan message”when

Message( type = MessageType.FlightPlan ) then

destinationService.add( “services:ValidateFlightPlan”)end rule “Routing rule – Alert message”

when Message( type = MessageType.Alert )

thendestinationService.add( “services:Alert”)

end

Decision Services and CBR

Decision services are making business decisions that are dispatched to the right recipient through a CBR

Page 10: Arnaud  Simon    Flight  Data Processing

22-10-2008

10

Decision Services and CBR

• Centralized RRE/CBR– Separation of Rules and CBR increases the overall

manageability and agility of the system

• Messages can be totally ignorant of their ultimate endpoint

• Single point of maintenance

• allows automating complex decisions and quickly adapting to changing business requirements

Decision Services and CBR

• Risks

– Central point of failure

Redundant architecture

– Dynamic modification of business

Rule set changes are put through a staging process

Clearly define responsible for system outages

Page 11: Arnaud  Simon    Flight  Data Processing

22-10-2008

11

Data Transformation

• Heterogeneous flight plan formats must be accepted

Centralized transformation service

Data Transformation

XSLT Transformation:

<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">

<resource-config selector=“takeoff">

<resource>ExampleTransformer</resource>

<param name="newName"> departure_time</param>

</resource-config>

</smooks-resource-list>

Page 12: Arnaud  Simon    Flight  Data Processing

22-10-2008

12

Data Transformation

• Coordinating aerial firefighting

– the transformation is an integral part of the service business logic

Dedicated bespoke transformation logic

Protocol Gateway

• Need to support disparate transports

– AMHS

– AFTN

– CIDIN

• Intra-service transport of choice: JMS

Use a Protocol Gateway

Page 13: Arnaud  Simon    Flight  Data Processing

22-10-2008

13

Protocol Gateway

Coupling of Transformation, Content Based Routing and protocol bridging

Page 14: Arnaud  Simon    Flight  Data Processing

22-10-2008

14

MOM

• Decouple service request from invocation

• Provide fault tolerance

• At-least-once delivery

• Not all services are available all the time. With queueing the message simply waits until the service (or a duplicate) is available again.

BusinessService

Client

BusinessService

MOM

• Unpredictable Load

– During peak periods Flight plans are Queued

• Higher priorities for certain flights

• Extremely high priority for alert messages

– Nore hardware can easyly be deployed

ATCProcessing

Client

ATCProcessing

Page 15: Arnaud  Simon    Flight  Data Processing

22-10-2008

15

ATC Flight Plan Processing over an ESB

Main ESB components

• Decision– Business Rule Engine

• Transformation – Data: Format change; Versioning; Non XML payload– Protocol: Legacy adapters; Transport bridging

• Queuing – Reliability; asynchronous communication

• Routing – Location transparency; Business Rules

• Governance – Auditing, SLA, Service Discovery