SOA: Socially Oriented Architecture - Technical Opportunies ...
SERVICE ORIENTED ARCHITECTURE (SOA)
Transcript of SERVICE ORIENTED ARCHITECTURE (SOA)
International Civil Aviation Organization
SERVICE ORIENTED ARCHITECTURE (SOA)
ICAO APAC OFFICE
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)
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
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)
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
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)
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)
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.
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
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)
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)
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
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
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)
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)
16
SOA PRINCIPLES
• Standardized Service Contracts
• Loose Coupling
• Abstraction
• Reusability
• Autonomy
• Statelessness
• Discoverability
• Composability
Project title (Insert, Header & Footer)
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)
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)
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)
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)
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)
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
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
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)
25
Three fundamentals
• XML – eXtensible Markup Language
Way of presenting data as plaintext files.
Project title (Insert, Header & Footer)
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)
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)
28 Project title (Insert, Header & Footer)