3. What is ‘NextGen’?
• Next Generation Air Transport System.
• Broader term for various ongoing system wide
transformation of United States National
Airspace System (NAS).
• NextGen is key to meet the demands of air
traffic management as it grows.
• Seamless data exchange between NAS users,
industry and airline partners.
3
5. Some Statistics….
• 35000 Controllers, engineers and support staff
• 7000+ takeoff and landings per hour
• Around 700 million passengers per year
• 40 billion worth of cargo per year
• 50,000+ carrier thru’ National
Airspace per day
“Busy Infrastructure - lots of data”
source: www.faa.gov (2010) 5
6. Information Sharing Challenges
En Route Data
Weather Data Inter Agency
Airline Partners
Radar Data
Terminal Data
Cargo
Traffic
Management
Too many „Point to Point‟ 6
8. Potential Solution
En Route Data
Weather Data Inter Agency
Airline Partners
Radar Data
“SOA” CORE SERVICES
Terminal Data
Cargo
Traffic
Management
Scalable SOA Infrastructure
8
10. What is ‘SWIM’?
• System Wide Information Management.
• SWIM is an information technology program
that will operate in the background to provide
seamless information to users who have a
valid need for the data
• Standardized Interfaces
• Share Information across partners and
providers
• Increase Common Situational Awareness
• Improve efficiency immensely.
source: www.faa.gov 10
11. Life of a Flight
ARTCC (1…n)
Air Route Traffic Control Center
Tower Tower
Flight Flight
Services Services
Pre-Flight TakeOff/ En-Route Descent/ Landing
Departure Approach
11
13. Service Oriented Architecture
• “A set of components which can be invoked, and whose interface
descriptions can be published and discovered” (W3C)
Registry
UDDI
Service Request
Service Service
Consumer Provider
Service Response
13
14. Web Services and SOA
ADA Database
The
Problem Legacy C++
Create Update
Web Flight Flight
Services Delete
Flight
Subscribe
„It connects anything to everything‟
14
15. Building SOA
Legacy
Java
UDDI
ADA
Service B
Service A2
Service A1
Integration Platforms
SOA is about the un-inhibited flow
of information regardless of
Service C
platform
SOA is an architectural style whose goal is to achieve
loosely coupled interaction between systems.
15
16. Web Services and SOA
Advantages:
• Capitalizes on existing
UDDI investment in legacy
Service B • Does not require “rip
Service A2
and replace” of legacy
Service A1
Opportunity:
Service C • Web Service Layer
can be more than a
middleware layer
• Web Services can do
more than just data-
Paradigm Shift:
aggregation
• Need to stop thinking of whole applications
• Need to start thinking of small, reusable business functionality, that can
be consumed as is or combined to meet various business needs
16
17. Open Source Scalable Model
Apache Camel is a rule-based routing and mediation engine which
provides a Java object based implementation of the
Enterprise Integration Patterns using an API to
configure routing and mediation
The OSGi framework is
a module system and
FUSE ESB is an
service platform for the
open source
Java programming
integration
language that implements
platform based on
a complete and
Apache ServiceMix
dynamic component
that supports JBI and
model, something
OSGi for use in
that does not exist in
enterprise
Standalone Java/VM
IT organizations.
environments
Apache ActiveMQ is
an open source
Open-source, fully featured, easy message broker which
to use Web Services framework. fully implements the
JMS
17
18. Contract Based Approach - WSDL
Adheres Policy governed by
to
Binds to End Point Exposes
Serves
Service
Understands Contracts implements Service
Consumer
describes
Key
Component
Sends/Receives Messages Sends/Receives Relation
18
19. Top Down Approach
Top Down
Flight Details Contract
WSDL
Flight Data Request
SWIM
Flight Data Ack Response Consumers
Service
Service Provider
Interface
Flight Data Response
Server
Implementation
e.g. WSDL contract as the
interface & message description
19
20. Contract is key to SOA approach
• The contract isolates the developer from needing to understand
the inner workings of the corporate asset
Black Box
Web Service
Available
Methods
BackEnd WSDL
System
Java, C++, Legacy SOAP
System exposed via CXF, XML Messages
Camel components etc.
20
21. Right way to SOA
Typical Legacy Collection of Typical Legacy Comprised of many
Application capabilities Application functionality
developed to meet a components that could
specific “stove-pipe” have use elsewhere if
need capability was Use existing logic
accessible OR write new logic
into small re-usable
components that
can be used for
multiple purposes –
Web Service
Assemble Web Reconfiguring, adding, or taking away Web
Services to support Services to meet changing needs is much
new and different easier than modifying legacy applications
needs
Services become
reusable components
for business processes
21
22. Right way to SOA
Functional Components Development options may include
• using existing logic
Subscribe • writing new logic
• wrapping existing logic
• using integration tools
Create
Flight
• a combination of approaches
Update
Flight
Delete GetAll
Flight Flights
Exposed Web Services
Can be called by any consumer resource,
caller does not need to know technical aspects
of underlying implementation of the service
(Language, Platform, Host Environment etc.)
Determine which methods need to be exposed
as services based upon business needs
22
23. Right way to SOA
Functionality Components Development options may include
using existing logic
Subscribe writing new logic
wrapping existing logic
using integration tools
Create a combination of approaches
Flight
1 2 Approve 3 4 5 6
Time
Identify Define Implement Available
Deploy Publish
Function Contract Interface
Validate Service
Determine
Charge
Manager
Code or Key Difference StillNumber
Main Effort Service to WSDL to
Legacy WSDL – describes Language, Production UDDI
Application how to invoke the Protocol
loosely coupled Platform Specific
interface Code
Schema – describes
the SOAP message Identify, Define and Implement
XML format
Functionality
Interchangeable The Result is a Loosely Coupled
Service Oriented Interface
23
24. Exposing Systems as Web Services
Black Box Exposed
Similar to an OO interface
Web Service
the web service defines
.NET Available
Methods
WSDL
a System
contract that is its SOAP UDDI
interface to the outside
Sources:
XML Messages
• Legacy code
world. • Legacy logic re-coded
• New logic and code Web Service
Publisher
Available
Methods
WSDL
Legacy
Everything behind the
System SOAP Consumer
interface is a black box XML Messages
of implementation New Solution
details and the consumer Web Service
Composite
Available
Methods
Service
only cares about the
J2EE
Core
WSDL
SOAP
System
interface.
Logic XML Messages
Web services are easily consumed regardless of the complexity of the underlying implementation
24
25. Consuming a Web Service
Many Others…
BlackBerry
Portlet
Service
1 2 3 4
Generate Invoke
Find Interface Service
Retrieve Send
Service and Proxy
WSDL Request
in UDDI from and Process
WSDL Response
Today’s tools allow developers to easily integrate
services into new or existing applications
25
Example Generic Steps Decoupled… with added advantage… Architecture picture… anything that is considered an SOA architecture. COB Monday… any SOA architecture. Revisit license requirements. When did Dave Cho start? Such as where, what language, etc… Where is it hosted? New charts 4 little diagrams. Big white box… with legacy. If we take big box. Small squares in it are the functionality. Web services is pulling a small box out of a legacy system and making a generic system. Apps of the future will be a bunch of these services together to provide a solution. Box with grid… many functionality capabilities… pull one square out… used existing logic or make a new one. Generic picture of bunch of services linked together… “Assemble web services to meet changing needs” What is the difference between a web service Second chart concept If you think of concept of small recallable. A chunk of code can come from legacy. AVE. Is it code, new logic, brand new need? Need to enable a little bit of functionality. Need to say… how do we get the code and from where. Reusing or creating new logic. How do I get it from there into a web service. Wrap it, then link it into the programs or other web services… then publish to UDDI. Bare minimum’s… Use account validation as an example. Web service is the interface with all the methods. Façade for user interface Façade for pocket PC Façade maps to the web service. Façade implements the interface Web Service implements the façade Façade is used by the application to access the business logic Web service may only expose part of the façade. Public, private, etc.