Arnaud Simon Flight Data Processing

627 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
627
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Arnaud Simon Flight Data Processing

  1. 1. 22-10-2008 This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com info@soasymposium.com Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors An SOA Case Study: The ESB Based Flight Data Processing System Arnaud Simon Red Hat 1
  2. 2. 22-10-2008 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 2
  3. 3. 22-10-2008 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. 3
  4. 4. 22-10-2008 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 4
  5. 5. 22-10-2008 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 5
  6. 6. 22-10-2008 Stateless Decision Service Stateful Decision Service 6
  7. 7. 22-10-2008 Content Based Routing XML representation of a Flight Plan 7
  8. 8. 22-10-2008 XPath Content Based Routing Content Based Routing with Rules 8
  9. 9. 22-10-2008 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 ) then destinationService.add( “services:Alert”) end Decision Services and CBR Decision services are making business decisions that are dispatched to the right recipient through a CBR 9
  10. 10. 22-10-2008 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 10
  11. 11. 22-10-2008 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> 11
  12. 12. 22-10-2008 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 12
  13. 13. 22-10-2008 Protocol Gateway Coupling of Transformation, Content Based Routing and protocol bridging 13
  14. 14. 22-10-2008 MOM Client • Decouple service request from invocation • Provide fault tolerance • At-least-once delivery Business Service • Not all services are available all the time. With queueing the message simply waits until the service (or a Business duplicate) is available again. Service MOM • Unpredictable Load – During peak periods Flight plans are Queued • Higher priorities for certain flights Client • Extremely high priority for alert messages – Nore hardware can easyly be deployed ATC ATC Processing Processing 14
  15. 15. 22-10-2008 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 15

×