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.
Transcript of "Flying high with osgi lm"
Flying High with OSGI and Open Source Kiran Chittargi Lockheed Martin
What is ‘NextGen’? <ul><li>Next Generation Air Transport System. </li></ul><ul><li>Broader term for various ongoing system wide transformation of United States National Airspace System (NAS). </li></ul><ul><li>NextGen is key to meet the demands of air traffic management as it grows. </li></ul><ul><li>Seamless data exchange between NAS users, industry and airline partners. </li></ul>
Some Statistics…. <ul><li>35000 Controllers, engineers and support staff </li></ul><ul><li>7000+ takeoff and landings per hour </li></ul><ul><li>Around 700 million passengers per year </li></ul><ul><li>40 billion worth of cargo per year </li></ul><ul><li>50,000+ carrier thru’ National Airspace per day </li></ul>source: www.faa.gov (2010) “ Busy Infrastructure - lots of data”
Information Sharing Challenges En Route Data Weather Data Radar Data Terminal Data Traffic Management Inter Agency Airline Partners Cargo Too many ‘Point to Point’
What is ‘SWIM’? <ul><li>System Wide Information Management. </li></ul><ul><li>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 </li></ul><ul><ul><li>Standardized Interfaces </li></ul></ul><ul><ul><li>Share Information across partners and providers </li></ul></ul><ul><ul><li>Increase Common Situational Awareness </li></ul></ul><ul><ul><li>Improve efficiency immensely. </li></ul></ul>source: www.faa.gov
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
<ul><li>“ A set of components which can be invoked, and whose interface descriptions can be published and discovered” (W3C) </li></ul>Service Oriented Architecture Service Provider Service Consumer Service Request Service Response UDDI Registry
Web Services and SOA The Problem Web Services Create Flight Update Flight Delete Flight Database C++ ADA Legacy Subscribe ‘ It connects anything to everything’
SOA is an architectural style whose goal is to achieve loosely coupled interaction between systems. Service C Service A1 Service A2 Service B UDDI Java ADA Integration Platforms SOA is about the un-inhibited flow of information regardless of platform Legacy Building SOA
<ul><li>Advantages: </li></ul><ul><li>Capitalizes on existing investment in legacy </li></ul><ul><li>Does not require “rip and replace” of legacy </li></ul><ul><li>Opportunity: </li></ul><ul><li>Web Service Layer can be more than a middleware layer </li></ul><ul><li>Web Services can do more than just data-aggregation </li></ul><ul><li>Paradigm Shift: </li></ul><ul><li>Need to stop thinking of whole applications </li></ul><ul><li>Need to start thinking of small, reusable business functionality, that can be consumed as is or combined to meet various business needs </li></ul>Service C Service A1 Service A2 Service B UDDI Web Services and SOA
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 mediation The 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.
Service describes End Point Exposes Messages Sends/Receives Contracts Binds to Service Consumer implements Policy governed by Sends/Receives Adheres to Component Relation Key Understands Serves Contract Based Approach - WSDL
Flight Details Contract SWIM Service Provider Top Down Server Implementation Service Interface e.g. WSDL contract as the interface & message description WSDL Top Down Approach Flight Data Ack Response Flight Data Request Flight Data Response Consumers
<ul><li>The contract isolates the developer from needing to understand the inner workings of the corporate asset </li></ul>Contract is key to SOA approach Black Box BackEnd System Available Methods Java, C++, Legacy System exposed via CXF, Camel components etc. Web Service WSDL SOAP XML Messages
Right way to SOA Services become reusable components for business processes 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 Typical Legacy Application Comprised of many functionality components that could have use elsewhere if capability was accessible
Right way to SOA Determine which methods need to be exposed as services based upon business needs <ul><li>Development options may include </li></ul><ul><li>using existing logic </li></ul><ul><li>writing new logic </li></ul><ul><li>wrapping existing logic </li></ul><ul><li>using integration tools </li></ul><ul><li>a combination of approaches </li></ul>Functional Components Subscribe Update Flight Create Flight Delete Flight GetAll 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.)
Right way to SOA Implement Interface 1 2 3 4 5 6 Define Contract Identify Function Available Service Publish Deploy 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 Interchangeable Functionality Components Subscribe Approve Time Create Flight Determine Manager Validate Charge Number
Exposing Systems as Web Services Web services are easily consumed regardless of the complexity of the underlying implementation 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. Core Logic <ul><li>Sources: </li></ul><ul><li>Legacy code </li></ul><ul><li>Legacy logic re-coded </li></ul><ul><li>New logic and code </li></ul>New Solution Exposed Black Box Legacy System Available Methods .NET System Available Methods J2EE System Available Methods Web Service WSDL SOAP XML Messages Web Service WSDL SOAP XML Messages Web Service WSDL SOAP XML Messages Composite Service UDDI Publisher Consumer
Consuming a Web Service Many Others… BlackBerry Find Service in UDDI Generate Interface and Proxy from WSDL Invoke Service Send Request and Process Response Retrieve WSDL 1 2 3 4 Today’s tools allow developers to easily integrate services into new or existing applications Portlet Service