SERVICE ORIENTED ARCHITECTURE (SOA)

28
International Civil Aviation Organization SERVICE ORIENTED ARCHITECTURE (SOA) ICAO APAC OFFICE

Transcript of SERVICE ORIENTED ARCHITECTURE (SOA)

Page 1: SERVICE ORIENTED ARCHITECTURE (SOA)

International Civil Aviation Organization

SERVICE ORIENTED ARCHITECTURE (SOA)

ICAO APAC OFFICE

Page 2: SERVICE ORIENTED ARCHITECTURE (SOA)

2

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

Project title (Insert, Header & Footer)

Page 3: SERVICE ORIENTED ARCHITECTURE (SOA)

3

Capabilities performed by one for

another to achieve a desired

outcome

When capabilities are self-contained

and independent to enable a

collection of services to be linked

together to solve a business problem

The fundamental organization of a

system embodied in its capabilities,

their interactions, and the

environment

Architecture

Oriented

Service

S

O

A

SOA standardizes the necessary interfaces and behavior to support interaction

SOA establishes services as the mechanism by which needs and capabilities are brought together

SOA provides an organizing and delivery paradigm that derives greater value by reusing existing software solutions rather than duplicating capabilities

SOA organizes technical capabilities in a standard way to allow flexible accomplishment of constantly changing demands

3

Page 4: SERVICE ORIENTED ARCHITECTURE (SOA)

4

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.

Project title (Insert, Header & Footer)

Page 5: SERVICE ORIENTED ARCHITECTURE (SOA)

What we need and what we have

Project title (Insert, Header & Footer) 5

Three main factors:

•Open standards – SOA standards • Technology – WEB services •Business requirements

Page 6: SERVICE ORIENTED ARCHITECTURE (SOA)

6

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.

Project title (Insert, Header & Footer)

Page 7: SERVICE ORIENTED ARCHITECTURE (SOA)

7

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.

Project title (Insert, Header & Footer)

Page 8: SERVICE ORIENTED ARCHITECTURE (SOA)

8

SOA AN EXAMPLE

Project title (Insert, Header & Footer)

SERVICE PROVIDER SERVICE CONSUMER

SERVICE REQUEST

SERVICE RESPONSE

• 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.

Page 9: SERVICE ORIENTED ARCHITECTURE (SOA)

9

SOA PARADIGM

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.

Project title (Insert, Header & Footer)

REGISTRY

SERVICE PROVIDER SERVICE

CONSUMER

1. Register 2. Find

3. Bind & Move

Page 10: SERVICE ORIENTED ARCHITECTURE (SOA)

10

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

Project title (Insert, Header & Footer)

Page 11: SERVICE ORIENTED ARCHITECTURE (SOA)

11

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

Project title (Insert, Header & Footer)

Page 12: SERVICE ORIENTED ARCHITECTURE (SOA)

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

Enabling virtualization of business resources

Enabling aggregation from multiple providers

Identification

Ticket Sales

Ticket Collection

Inventory Logistics

Manufacturing Availability

Service

Service

Service

Service Service

Service

Service Service Service

Service

Ordering

source: INTERGRAPH

Page 13: SERVICE ORIENTED ARCHITECTURE (SOA)

13

EVOLUTION OF SOA

Project title (Insert, Header & Footer)

Leve

l of

Ente

rpri

se A

dap

tab

ility

Time

Main Frame

Personal Computer

Client Server

Internet

Service Centric

Web Services

Service Oriented Architecture

Page 14: SERVICE ORIENTED ARCHITECTURE (SOA)

14

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

Project title (Insert, Header & Footer)

Page 15: SERVICE ORIENTED ARCHITECTURE (SOA)

15

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.

Project title (Insert, Header & Footer)

Page 16: SERVICE ORIENTED ARCHITECTURE (SOA)

16

SOA PRINCIPLES

• Standardized Service Contracts

• Loose Coupling

• Abstraction

• Reusability

• Autonomy

• Statelessness

• Discoverability

• Composability

Project title (Insert, Header & Footer)

Page 17: SERVICE ORIENTED ARCHITECTURE (SOA)

17

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

Project title (Insert, Header & Footer)

Page 18: SERVICE ORIENTED ARCHITECTURE (SOA)

18

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

Project title (Insert, Header & Footer)

Page 19: SERVICE ORIENTED ARCHITECTURE (SOA)

19

TRANSITION

TITLE DESCRIPTION

Strategy How to get from ‘current state’ to ‘target state’ (incremental)

Evolution Must be developed over time through continuous efforts

Organizational Support Affects entire organization. All process viewed as services.

Monitoring ROI Return on Investment to be monitored to improve.

Quality Control All services must be subjected to continuous quality control

Service Oriented Development Methods

Different method for development project execution

Information Architecture

Communication based on messages between loosely coupled services*. A common data model required.

Project title (Insert, Header & Footer)

Page 20: SERVICE ORIENTED ARCHITECTURE (SOA)

20

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.”

Project title (Insert, Header & Footer)

Page 21: SERVICE ORIENTED ARCHITECTURE (SOA)

21

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

Project title (Insert, Header & Footer)

Page 22: SERVICE ORIENTED ARCHITECTURE (SOA)

22

Architecture – Vision

Info Service #1 (weather)

Info Service #2 (surveillance)

Info Service #3 (alerts)

Providers

of Information

Broker

of Information

SOA Framework

Consumers

of Information

Application #1

Application #2

Application #3

SOA Framework is a broker between providers and consumers of information

Page 23: SERVICE ORIENTED ARCHITECTURE (SOA)

23

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

– Automated service notification mechanism

– Central to any SOA infrastructure in the promotion of reuse

Project title (Insert, Header & Footer)

– Centralized deployment

– Policy and standards enforcement

Page 24: SERVICE ORIENTED ARCHITECTURE (SOA)

24

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

Project title (Insert, Header & Footer)

Page 25: SERVICE ORIENTED ARCHITECTURE (SOA)

25

Three fundamentals

• XML – eXtensible Markup Language

Way of presenting data as plaintext files.

Project title (Insert, Header & Footer)

Page 26: SERVICE ORIENTED ARCHITECTURE (SOA)

26

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.

Project title (Insert, Header & Footer)

Page 27: SERVICE ORIENTED ARCHITECTURE (SOA)

27

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.

Project title (Insert, Header & Footer)

Page 28: SERVICE ORIENTED ARCHITECTURE (SOA)

28 Project title (Insert, Header & Footer)