26
1 Flying High with OSGI and Open Source Kiran Chittargi Lockheed Martin

Flying high with osgi lm

  • Upload
    knc123

  • View
    778

  • Download
    3

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Flying high with osgi lm

1

Flying High with OSGI and Open Source

Kiran Chittargi

Lockheed Martin

Page 2: Flying high with osgi lm

2

‘NextGen’

Page 3: Flying high with osgi lm

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.

Page 4: Flying high with osgi lm

4

Challenges

Page 5: Flying high with osgi lm

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”

Page 6: Flying high with osgi lm

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‟

Page 7: Flying high with osgi lm

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

Page 8: Flying high with osgi lm

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

Page 9: Flying high with osgi lm

9

SWIM

Page 10: Flying high with osgi lm

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

Page 11: Flying high with osgi lm

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

Page 12: Flying high with osgi lm

12

Service Oriented Architecture

Page 13: Flying high with osgi lm

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

Page 14: Flying high with osgi lm

14

Web Services and SOA

The

Problem

Web

Services

CreateFlight

UpdateFlight

DeleteFlight

Database

C++

ADA

Legacy

Subscribe

„It connects anything to everything‟

Page 15: Flying high with osgi lm

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

Page 16: Flying high with osgi lm

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

Page 17: Flying high with osgi lm

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.

Page 18: Flying high with osgi lm

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

Page 19: Flying high with osgi lm

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

Page 20: Flying high with osgi lm

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

Page 21: Flying high with osgi lm

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

Page 22: Flying high with osgi lm

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

Page 23: Flying high with osgi lm

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

Page 24: Flying high with osgi lm

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.

Page 25: Flying high with osgi lm

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

Page 26: Flying high with osgi lm

26

Thank You