Post on 24-Jan-2015
description
1
Flying High with OSGI and Open Source
Kiran Chittargi
Lockheed Martin
2
‘NextGen’
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.
4
Challenges
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
source: www.faa.gov (2010)
“Busy Infrastructure - lots of data”
6
Information Sharing Challenges
En Route Data
Weather Data
Radar Data
Terminal Data
Traffic
Management
Inter Agency
Airline Partners
Cargo
Too many „Point to Point‟
7
ScreenScrape
ScreenScrape
ScreenScrape
ScreenScrape
MessageQueue
MessageQueue
MessageQueue
DownloadFile
DownloadFile
DownloadFile
TransactionFile
TransactionFile
TransactionFile
ORB
ORB
CICS Gateway
CICS Gateway
APPC
APPCRPC
RPC
TransactionFile
Sockets
Sockets
Message
Message
Application
Application
Application
Application
Application
Application
Application
Application
Application
Application
Source: Gartner
Current Systems Reality – most places
8
Potential Solution
En Route Data
Weather Data
Radar Data
Terminal Data
Traffic
Management
Inter Agency
Airline Partners
Cargo
“SOA” CORE SERVICES
Scalable SOA Infrastructure
9
SWIM
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
11
Life of a Flight
Pre-Flight
Flight
Services
TakeOff/
Departure
Tower
ARTCC (1…n)
Air Route Traffic Control Center
En-Route Descent/
Approach
Tower
Landing
Flight
Services
12
Service Oriented Architecture
13
• “A set of components which can be invoked, and whose interface
descriptions can be published and discovered” (W3C)
Service Provider
Service Consumer
Service Request
Service Response
Service Oriented Architecture
UDDI
Registry
14
Web Services and SOA
The
Problem
Web
Services
CreateFlight
UpdateFlight
DeleteFlight
Database
C++
ADA
Legacy
Subscribe
„It connects anything to everything‟
15
SOA is an architectural style whose goal is to achieve
loosely coupled interaction between systems.
Service C
Service A1
Service A2Service B
UDDIJava
ADA
Integration Platforms
SOA is about the un-inhibited flow
of information regardless of
platform
Legacy
Building SOA
16
Advantages:
•Capitalizes on existing
investment in legacy
•Does not require “rip
and replace” of legacy
Opportunity:
•Web Service Layer
can be more than a
middleware layer
•Web Services can do
more than just data-
aggregation Paradigm Shift:
•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
Service C
Service A1
Service A2Service B
UDDI
Web Services and SOA
17
Open Source Scalable Model
FUSE ESB is an
open source
integration
platform based on
Apache ServiceMix
that supports JBI and
OSGi for use in
enterprise
IT organizations.
Apache ActiveMQ is
an open source
message broker which
fully implements the
JMS
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 mediationThe OSGi framework is
a module system and
service platform for the
Java programming
language that implements
a complete and
dynamic component
model, something
that does not exist in
Standalone Java/VM
environments
Open-source, fully featured, easy
to use Web Services framework.
18
Service
describes
End Point Exposes
Messages Sends/Receives
Contracts
Binds to
Service
Consumerimplements
Policy governed by
Sends/Receives
Adheres
to
Component
Relation
Key
Understands
Serves
Contract Based Approach - WSDL
19
Flight Details Contract
SWIM
Service
Provider
Flight Data Ack Response
Flight Data Request
Flight Data Response
Consumers
Top Down
Server
Implementation
Service
Interface
e.g. WSDL contract as the
interface & message description
WSDL
Top Down Approach
20
• The contract isolates the developer from needing to understand
the inner workings of the corporate asset
Black Box
BackEnd
System
Availa
ble
Me
tho
ds
Web Service
WSDL
SOAP
XML Messages
Java, C++, Legacy
System exposed via CXF,
Camel components etc.
Contract is key to SOA approach
21
Typical Legacy
Application
Collection of
capabilities
developed to meet a
specific “stove-pipe”
need
Assemble Web
Services to support
new and different
needs
Reconfiguring, adding, or taking away Web
Services to meet changing needs is much
easier than modifying legacy applications
Use existing logic
OR write new logic
into small re-usable
components that
can be used for
multiple purposes –
Web Service
Services become
reusable components
for business processes
Typical Legacy
Application
Comprised of many
functionality
components that could
have use elsewhere if
capability was
accessible
Right way to SOA
22
Development options may include
• using existing logic
• writing new logic
• wrapping existing logic
• using integration tools
• a combination of approaches
Functional Components
Subscribe
Update
Flight
Create
Flight
Delete
FlightGetAll
FlightsExposed 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
Right way to SOA
23
Functionality Components
Subscribe
Approve
Time
Create
Flight
Determine
Manager
Validate
Charge
Number
Implement
Interface
1 2 3 4 5 6Define
Contract
Identify
Function
Available
ServicePublishDeploy
Development options may include
using existing logic
writing new logic
wrapping existing logic
using integration tools
a combination of approaches
Identify, Define and Implement
Functionality
The Result is a Loosely Coupled
Service Oriented Interface
Key Difference
WSDL – describes
how to invoke the
loosely coupled
interface
Schema – describes
the SOAP message
XML format
Still Main Effort
Language,
Protocol
Platform Specific
Code
Code or
Legacy
Application
Service to
Production
WSDL to
UDDI
Right way to SOA
Interchangeable
24
Core
Logic
Sources:• Legacy code
• Legacy logic re-coded
• New logic and code
New Solution
ExposedBlack Box
Legacy
System
Ava
ilab
le
Me
tho
ds
.NET
System
Ava
ilab
le
Me
tho
ds
J2EE
System
Ava
ilab
le
Me
tho
ds
Web Service
WSDL
SOAP
XML Messages
Web Service
WSDL
SOAP
XML Messages
Web Service
WSDL
SOAP
XML Messages
Co
mp
osite
Se
rvic
e
UDDI
Publisher
Consumer
Web services are easily consumed regardless of the complexity of the underlying implementation
Exposing Systems as Web Services
Similar to an OO interface
the web service defines
a contract that is its
interface to the outside
world.
Everything behind the
interface is a black box
of implementation
details and the consumer
only cares about the
interface.
25
Many Others…
BlackBerry
Portlet
Service
Find
Service
in UDDI
Generate
Interface
and Proxy
from
WSDL
Invoke
ServiceSend
Request
and Process
Response
Retrieve
WSDL
1 2 3 4
Today’s tools allow developers to easily integrate
services into new or existing applications
Consuming a Web Service
26
Thank You