International Civil Aviation Organization SERVICE ORIENTED ARCHITECTURE (SOA) ICAO APAC OFFICE
BACKGROUND SOA not a new concept. Sun defined SOA in late 1990s to describe Jini. Services delivered over web using XML-based open standards, Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP), Universal Description, Discovery and Integration (UDDI) SOA emerging as premier integration and architecture framework Applications in SOA built based on Services SOA allows reuse of existing assets for creating new services SOA permits interoperability between heterogeneous applications and technology 2
3 SOA organizes technical capabilities in a standard way to allow flexible accomplishment of constantly changing demands S Service Capabilities performed by one for another to achieve a desired outcome SOA establishes services as the mechanism by which needs and capabilities are brought together O Oriented When capabilities are self-contained and independent to enable a collection of services to be linked together to solve a business problem SOA standardizes the necessary interfaces and behavior to support interaction A Architecture The fundamental organization of a system embodied in its capabilities, their interactions, and the environment SOA provides an organizing and delivery paradigm that derives greater value by reusing existing software solutions rather than duplicating capabilities 3
Enterprise Enterprises are made up of a set of Business Processes this can be bank, aviation, restaurant etc. Enterprise keeps Business ticking, for it's day to day, week to week, year to year operation that the company makes profit, provide timely services - provide a service, manufacture products, buy and/or sell, receive money, issue invoices, bank money, pay staff and so on. Most of these processes can be broken down into more fundamental discrete building blocks known as services. 4
What we need and what we have Three main factors: Open standards SOA standards Technology WEB services Business requirements 5
SERVICE ORIENTED ARCHITECTURE Service Oriented Architecture or SOA is essentially a collection of Services. These Services communicate with each other either involving simple data exchange or could involve cooperation/coordination for a joint activity. Architecture provides connection between the Services. SOA is an architectural paradigm and discipline that may be used to build infrastructures enabling those with needs (consumers) and those with capabilities (providers) to interact via services across disparate domains of technology and ownership. 6
Definition of a SERVICE A collection of related operations accessible through a well-defined published interface Example Airline or Train reservation service, which can be used by travel agency or traveller. Weather service for the pilots, controllers etc. 7
SOA AN EXAMPLE SERVICE PROVIDER SERVICE REQUEST SERVICE RESPONSE SERVICE CONSUMER Service Provider and Service Consumer could be running on different machine Using different software Typical service examples could include Airline reservation service, internet payment service etc. 8
SOA PARADIGM REGISTRY 1. Register 2. Find SERVICE PROVIDER 3. Bind & Move SERVICE CONSUMER 1. Service Providers register their service in Public Registry 2. Consumer queries Public Registry for service that match certain criteria 3. If Register has such service, it provides consumer with a contract and end-point address for that service. 9
SERVICE What is Service? Services are the fundamental block of SOA constituted by way of Service Contracts with one or more Service Interfaces and Service Implementation. There are different category of Services, like Basic Services, Intermediary Services, Process-Centric Services and Public Enterprise Services. Service - implementation of well-defined business functionality Services - can be consumed by clients in different applications or business processes 10
SERVICES Service is a vehicle by which a consumer s need or want is satisfied according to a negotiated contract (implied or explicit) which includes Service Agreement, Function Offered etc. Services - software components with well defined interfaces which are separate from implementation. Composite services can be built from aggregates of other services 11
WHY SOA TO ENABLE FLEXIBLE, FEDERATED BUSINESS PROCESSES Enabling a virtual federation of participants to collaborate in an end-to-end business process Enabling alternative implementations Enabling reuse of Services Ordering Logistics Service Service Service Service Inventory Manufacturing Identification Service Ticket Sales Service Service Service Service Availability Service Ticket Collection Enabling virtualization of business resources Enabling aggregation from multiple providers source: INTERGRAPH
Level of Enterprise Adaptability EVOLUTION OF SOA Service Oriented Architecture Web Services Service Centric Internet Client Server Personal Computer Main Frame Time 13
SOA DEFINITIONS Service Oriented Architecture is a form of technology architecture that adheres to the principles of service orientation. When realized through the web services technology platform, SOA establishes the potential to support and promote these principles throughout the business processes and automation domains of an enterprise. Thomas Erl, Chief Architect, XML TC Consulting Inc. Service Oriented Architecture (SOA) is the policies, practices and frameworks that enable application function ability to be provided and requested as sets of services published at a granularity relevant to the service requester, which are abstracted away from the implementation using a single, standards based form of interface. CBDI, Specialists in SOA 14
SOA CONCEPTS SOA is an architectural style that has been around for many years. Successful SOA is more than deploying software, organizations must evaluate their funding & governance models, analysis and design techniques, development methodology, deployment & support plan, and partner/customer/supplier relationships Moving to SOA is not easy, it can be and should be done incrementally, but requires a shift in how we architect and compose service-based applications while maximizing existing technology investments. 15
SOA PRINCIPLES Standardized Service Contracts Loose Coupling Abstraction Reusability Autonomy Statelessness Discoverability Composability 16
WEB SERVICE Web Service current de facto standard of implementing Services in SOA Web Service intended for machine-to-machine communication SOA Service is not same as Web Service Web Service is practical implementation Web Service provides dynamic content on the web Web Service is application-centric Available over a network Uses a standardized XML messaging system Not tied to any one OS or platform 17
WEB SERVICES Definition A Web Service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine processable format (specifically WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other web related standards W3C 18
TRANSITION TITLE DESCRIPTION Strategy Evolution Organizational Support Monitoring ROI Quality Control Service Oriented Development Methods Information Architecture How to get from current state to target state (incremental) Must be developed over time through continuous efforts Affects entire organization. All process viewed as services. Return on Investment to be monitored to improve. All services must be subjected to continuous quality control Different method for development project execution Communication based on messages between loosely coupled services*. A common data model required. 19
LOOSELU COUPLED Loosely Coupled Services: loosely coupled is an attribute of systems, referring to an approach to designing interfaces across modules to reduce the interdependencies across modules or components in particular, reducing the risk that changes within one module will create unanticipated changes within other modules. Coupling is the dependency between interacting system. Real dependency is the feature of service one consumes from other systems. Artificial dependency is the thing one has to follow in order to consume the features of services provided by the other system. Typical artificial dependency in IT are: language dependency, platform dependency, API dependency etc. 20
TIGHTLY COUPLED vs LOOSELY COUPLED TIGHTLY COUPLED LOOSELY COUPLED Interaction Synchronous Asynchronous Messaging Style Remote Procedure Call (RPC) Document Message Path Hard Coded Routed Technology Mix Homogeneous Heterogeneous Data Types Dependent Independent Software Objective Re-use, Efficiency Broad Applicability Consequences Anticipated Unexpected 21
Architecture Vision Info Service #1 (weather) Info Service #2 (surveillance) Info Service #3 (alerts) Providers of Information SOA Framework Broker of Information Application #1 Application #2 Application #3 Consumers of Information SOA Framework is a broker between providers and consumers of information 22
Service Registry/Repository A Service Registry is a resource that provides controlled access to data necessary for the implementation and governance of Service Oriented Architecture (SOA) projects A Repository is a database containing the artifacts and metadata that constitutes a SOA registry the system of record Note: These are usually referenced as one product, often called a Registry/Repository A Registry/Repository provides: Centralized discovery Lifecycle governance Centralized deployment Automated service notification mechanism Policy and standards enforcement Central to any SOA infrastructure in the promotion of reuse 23
SOA Standards Three fundamentals Simple Object Access Protocol (SOAP) It is specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on Extensible Markup Language (XML) for its message format, and usually relies on other Application Layer protocols, most notably Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission 24
Three fundamentals XML extensible Markup Language Way of presenting data as plaintext files. 25
Three fundamentals WSDL defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL uses the following elements in the definition of network services: Types a container for data type definitions using some type system (such as XSD). Message an abstract, typed definition of the data being communicated. Operation an abstract description of an action supported by the service. Port Type an abstract set of operations supported by one or more endpoints. Binding a concrete protocol and data format specification for a particular port type. Port a single endpoint defined as a combination of a binding and a network address. Service a collection of related endpoints. 26
SUMMARY Through this presentation, an effort has been made to introduce the concept of Service Oriented Architecture or SOA and other related issues, which are proposed to be used for the implementation of SWIM. Expandability and relative freedom from software/platforms used in Services has made this concept acceptable by many major enterprises. 27
28