Top Banner
Service Oriented Architecture
18
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SOA

Service Oriented Architecture

Page 2: SOA

Service Oriented Architecture • service-oriented architecture (SOA) provides the methods and

infrastructure required to develop composite applications based on services.

• SOA separates functions into distinct units, or services, which developers make accessible over a network so users can combine and reuse them in the production of business applications.

• Service-orientation aims at a loose coupling of services with operating systems, programming languages, applications and other technologies that underlie applications. • In a SOA environment, users can access independent services without

knowledge of their underlying platform implementation[

• SOA relies on services exposing their functionality via interfaces that other applications and services can read to understand how to utilize those services.

Page 3: SOA
Page 4: SOA

Services

• Services comprise intrinsically unassociated units of functionality that have no calls to each other embedded in them (loose coupling).

• They use defined protocols that describe how one or more services can "talk" to each other.

Page 5: SOA

Service Interface

• Services inter-operate based on a formal definition (or contract) that is independent of the underlying platform and programming language.

• The interface definition hides the implementation of the language-specific service so SOA-based systems can function independently of development technologies and platforms (such as Java, .NET etc).• Services written in C# running on .NET platforms and services written

in Java running on Java EE platforms, for example, can both be consumed by a common composite application (or client).

• Developers can also wrap COBOL legacy systems and present them as software services. This has extended the useful life of many core legacy systems indefinitely, no matter what language they originally used.

Page 6: SOA

Service Granularity

• SOA has the goal of allowing users to string together fairly large chunks of functionality to form composite applications

• The larger the chunks, the fewer the interface points required to implement any given set of functionality; however, very large chunks of functionality may not prove sufficiently granular for easy reuse.

• Each interface brings with it some amount of processing overhead, so there is a performance consideration in choosing the granularity of services.

Page 7: SOA

Composite Applications

Developers create services either from scratch or by exposing existing services in existing systems.

Business Process Experts link and sequence services, in a process known as orchestration, to meet a new or existing business system requirement.

Professionals responsible for the SOA infrastructure manage the connections among the various components of the application

Page 8: SOA

Orchestration

• Orchestration describes the arrangement, coordination, and management of complex computer systems, middleware, and services.

• Orchestration for composite applications is often accomplished using high-level languages such as BPEL and specifications such as WS-CDL and WS-Coordination

Page 9: SOA

Standards

04/08/23 © 2008 Ross Hightower 9

Page 10: SOA

Service Alternatives

• Many SOA implementations are based on web services but this is not universal• A web service is a service accessed via on

universal Internet standards (i.e. SOAP, WSDL, HTTP, etc.)

• These standards (also referred to as Web Service specifications) provide the widest interoperability and some protection from lock-in to proprietary vendor software.

• There are, however, alternatives such as Jini, CORBA or REST.

Page 11: SOA

XML is standard for creating hierarchical, machine and human-readable text documents. A markup language use tags to organize the

document into sections. HTML is a familiar example of a markup language

XML is extensible because developers can create whatever tags they require

XML can be used to express almost any type of data in text format and is used extensively to transmit and store data.

Extensible Markup Language (XML)

04/08/23 11© 2008 Ross Hightower

Page 12: SOA

SOAP is a protocol used to exchange data and execute service calls. XML is used to represent data HTTP is used to transmit messages

SOAP XML messages consist of an optional header and body Header contains metadata about the message (e.g.

encryption information or routing information) Body contains message data which may be, for example,

service calls, error messages or actual data Binary data such as graphics can be attached using MIME

SOAP

04/08/23 12© 2008 Ross Hightower

Page 13: SOA

WSDL is based on XML and is a standard for representing the meta data that describes the functionality of web services independent of implementation platform.

WSDL messages provide all the information required to use a service: Operations provided by a web service Access protocol (e.g. SOAP) Input and output data structures

Web Services Description Language (WSDL)

04/08/23 13© 2008 Ross Hightower

Page 14: SOA

(UDDI) is a platform-independent, Extensible Markup Language (XML)-based registry enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the Internet.

Many UDDI registries are used internally and are not for public consumption

A UDDI business registration consists of three components: White Pages — address, contact, and known identifiers; Yellow Pages — industrial categorizations based on standard taxonomies; Green Pages — technical information about services exposed by the business.

It is designed to be interrogated by Simple Object Access Protocol (SOAP) messages and to provide access to Web Services Description Language (WSDL) documents

Universal Description, Discovery and Integration (UDDI)

04/08/23 14© 2008 Ross Hightower

Page 15: SOA

WSIL (or WS-Inspection) is a specification for the inspection of a site for available services and a set of rules for how inspection related information should be made available for consumption

WS-Inspection lists groups of web services and their endpoints in an XML format

Web Services Inspection Language (WSIL)

04/08/23 15© 2008 Ross Hightower

Page 16: SOA

04/08/23 16© 2008 Ross Hightower

Page 17: SOA

Third-Party Services

• Increasing numbers of third-party software companies offer software services either for free or for a fee. • The travel industry has a well-defined and

documented set of both services and data, sufficient to allow any reasonably competent software engineer to create travel-agency software using entirely off-the-shelf software services.

• Other industries, such as the finance industry, have also started making significant progress in this direction.

• Companies such as Amazon offer services that can be used to build applications that access Amazon data and services

Page 18: SOA

Issues

Applying the SOA paradigm to a real-time system presents many problems response time, support of event-driven, asynchronous parallel

applications, complicated human interface support, reliability,

etc.