Top Banner
Service-oriented Architectures
40

Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

Dec 13, 2015

Download

Documents

Gloria Pitts
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: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

Service-oriented Architectures

Page 2: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

2

Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL Choreography Service Oriented Analysis & Design A few words about SODSL

Page 3: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

3

What is SOA?

“A paradigm for organizing and utilizing distributed capabilities that may be under control of different ownership domains.” OASIS

“A form of distributed systems architecture characterized by service abstraction, message orientation, description orientation, and platform neutrality” W3C Web Services Architect.

“an evolution of the Component Based Architecture, Interface Based Design (Object Oriented) and Distributed Systems such as DCOM, CORBA, J2EE and the Internet in general” Adobe Systems

Page 4: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

4

What is SOA?

Application Architectures:– Monolithic Application– Object-Oriented Application– Client-Server– 3-tier, n-tier– Distributed Objects– Component Orientation– Service Orientation

Page 5: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

5

What is SOA?

Services

Security Trans. & Reliabil. Discovery Description

Composition Mediation

Choreography Business Rules

Applications

Page 6: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

6

Main Concepts

Service A service is a contractually defined

behavior that can be implemented and provided by a component for use by another component.

The mechanism by which needs and capabilities are brought together

Well-defined, self-contained modules that provide standard business functionality and independent of the state or context of other services

Page 7: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

7

Main Concepts Service Description

consists of the technical parameters, constraints and policies that define the terms to invoke the service.

Contains information necessary to interact with the service

The concept of visibility W3C’s Web Service Description Language ebXML Collaboration Protocol Profile OWL-S Semantic Markup for Web Services Web Service Modeling Ontology (WSMO) WS-Policy

Page 8: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

8

Web Services

The most common (but not only) form of services used extensively in SOA

Service interfaces are described using Web Services Description Language (WSDL)

Payload is transmitted using Simple Object Access Protocol (SOAP) over Hypertext Transfer Protocol (HTTP)

Optionally Universal Description, Discovery and Integration (UDDI) is used as the directory service.

Page 9: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

9

Main Concepts Advertising

Pull methodology: potential service consumers request the service provider to send them the service description.

Push methodology: the service provider, or its agent, sends the service description to potential service consumers.

Discovery A potential consumer obtains information about

the existence of a service, its applicable parameters and terms.

Page 10: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

10

Service-Oriented Architecture

an architectural style for IT systems that are exploiting reusable and encapsulated software components available on network (or namely services) in a loosely coupled and highly interoperable manner

Page 11: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

11

SOA Model SOA is usually comprised of three primary parties:1. Provider (of services); basic

service producers and aggregators

2. Requester (of services); service consumers and end users

3. Broker (of services); middleware, directories and registries

Page 12: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

12

Services in SOA1. Defined by explicit, implementation-independent

interfaces2. Loosely bound and invoked through communication

protocols that stress location transparency and interoperability

3. Integrated via service composition mechanisms (orchestration/choreography) in order to collaborate in heterogenous environments and to create complex, dynamic and context-aware applications

4. SOA offers coarse-grained business services, as opposed to fine-grained software-oriented function calls

Page 13: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

13

Service Granularity Spectrum

Coarse-grained services are intelligently structured to meet specific business needs and constructed from fine-grained services which provide a small amount of business-process usefulness, such as basic data access

Page 14: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

14

Fundamental Issue: Interoperability

A common framework for service interactions based on open standards must occur at least for proper; Communication (SOAP, REST) Description (WSDL, OWL-S) Registration (UDDI, ebXML) Composition as Choreography and Orchestration (WS-

CDL, BPEL) An agreed set of vocabularies and interactions

(common processes) for specific industries or common functions must be adopted (HL7, CEN/TC251, ISO, OpenEHR for eHealth)

Page 15: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

15

Main Concepts

Registry/Repository A component where users can store and

manage artifacts required for their enterprise to function.

Includes artifacts that require sharing among more than one user (such as XML schemas and web-service descriptions)

OASIS ebXML Registry/Repository OASIS Universal Description and Discovery

Interface (UDDI)

Page 16: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

16

OASIS SOA Reference Model Define the essence of service

oriented architecture To create a vocabulary and a

common understanding of SOA Based on concepts present in all

SOA’s A Reference Model defines SOA in

an abstract sense. Example: Abstract = Service Description Concrete = WSDL

Page 17: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

17

OASIS SOA Reference Model

SERVICE

Visibility

Servicedescription

Interaction

Contract &Policy

Real worldeffect

Executioncontext

Page 18: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

18

Open Service Oriented Architecture (OSOA)

alliance of industry leaders that share a common interest (www.osoa.org): defining a language-neutral programming

model that exploits SOA characteristics and benefits.

Page 19: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

19

Service Component Architecture (SCA)

Provides an assembly model for services To simplify and standardize development Control Files or pragmas Six values that define a service:

Interfaces Implementation Policy Assertion Required Interfaces Resources Valid Operation Sequences

Page 20: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

20

Service Component Architecture (SCA)

Subsystem X

Entry

Subsystem Y

ModuleComponent

B

ModuleComponent

A

Subsystem Z

ExternalService

wire wire wire

Service Entry point

Components and Services work together

Page 21: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

21

Apache Tuscany http://incubator.apache.org/tuscany/

Eclipse SOA Tools Platform Project http://www.eclipse.org/stp/

IBM DeveloperWorks SCA http://www-128.ibm.com/

developerworks/library/specification/ws-sca/

Service Component Architecture (SCA)

Page 22: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

22

Web Services Technology Stack

Transport (HTTP, HTTPS, SMTP,FTP)

Messaging(XML,XSD,SOAP,SOAPAttachment)

Description&Discovery(WSDL,WS-Policy,UDDI,ebXML)

QualityOfService(WS-Security,WS-ReliableMessaging,WS-Addressing,WS-Transaction)

Enterprise(WS-BPEL,WS-Management)

Mediation(WSMO,ESB,Biztalk)

Choreography(WS-BPL,ebBP)

Page 23: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

23

WS-BPEL

Web Services Business Process Execution Language

a notation for specifying business process behavior based on web services

Owned by OASIS, originally created by IBM and Microsoft

Page 24: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

24

WS-BPEL BPEL Constructs:

sequence: executes one or more activities sequentially. flow: executes one or more activities in parallel. switch: executes one of several paths based on the

value of a condition. while: executes a specified activity as long as a

condition is true. invoke: calls a web service. receive: receives an incoming web services call. reply: sends a response to a received web services call. variables: defines any global variables the process uses. assign: allows copying and manipulating data using

XPath partnerLink: specifying the roles and message

exchanges between communication partners

Page 25: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

25

BPEL Example

Page 26: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

26

Choreography Describe collaborations of parties by defining

from a global viewpoint their common and complementary observable behavior Information exchanges, the jointly agreed

ordering rules… Unlike processes, more than one party is

included More like a global contract which can be

realized by more than one parties W3C’s Web Services Choreography

Description Language (WS-CDL) ebXML Business Processes (ebBP)

Page 27: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

27

Example: Healthcare Domain

Cardiology Hospital X

Laboratory Hospital Y

Insurance Company

Place Lab Order

Check Insurance

Confirmed

Order Result

Page 28: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

28

Business Service Choreography

Page 29: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

29

Choreography Example

Choreography GUI / WS-CDL

Co. A Co. B

WS-BPEL Java

Generatedworkflow

Traditional integration

Company A Company B

Coreography Between Companies A & B

Page 30: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

30

Enterprise Service Bus

A point-to-point Web service may offer significant value:

Page 31: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

31

Enterprise Service Bus What if we have more than one

client: We need something to simplify this

Page 32: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

32

Enterprise Service Bus Enterprise Service Bus routes

messages between WSs:

Page 33: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

33

Company LOGO

www.company.com

Enterprise Service Bus

Reliable Asynchronous Secure Messaging

ERP .NET Web Services

SOAP/HTTP

SOAP/HTTP

SOAP/HTTP JMS

JCATransformation

(XSLT)Connection Layer

Connection Layer

Communication Layer

C/C++ Legacy Application

J2EE

Page 34: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

34

Enterprise Service Bus

A BPEL Server can be a basic ESB But introducing following

limitations: A process defined using BPEL will

commonly need to access local objects A process often needs to communicate

with other software outside its own environment.

Processes commonly need to access data

Business processes commonly involve people

Page 35: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

35

Enterprise Service Bus - 2Graphical Process

Design Tool

BPEL ProcessDefinition

Local Objects

Business Process Logic

People

Other software

Data

WebServices

Page 36: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

36

WSMO

Stands for the Web Service Modeling Ontology

Providing a standard for describing semantic web services.

http://www.wsmo.org WSMO Working Group

79 Members

Page 37: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

37

Service Oriented Analysis & Design

IT Lifecycle proposed by IBM Grady Booch on an interview about

SOA “Services should not be driven bottom

up from technology, as DHS folks are proposing, but rather top down—with the use cases.”

http://www.gcn.com/print/25_20/41302-1.html

Page 38: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

38

A few words about SODSL

Ontology OntologyParser

ReasoningEngine

RuleEngine

Domain Analysis

Feature Model

FeatureClassification

FeatureModularization

FeatureConstraints

Domain Design

PartitioningStrategy

CoordinationModel

COSEMLSOA

(WSMO)

Domain Implementation

SODSL

SODSLGenerator

ProcessGenerator

Services

Service Oriented Domain specific Languages

Page 39: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

39

A few words about SODSL

Platform

Service

Process

Rules

Code Generation

COSEML & DSL

Feature Model

Page 40: Service-oriented Architectures. 2 Agenda What is SOA? Main Concepts OASIS SOA Reference Model Open Service Oriented Architecture Web Services WS-BPEL.

40

A few words about SODSL

Traditional Function Oriented Object OrientationData Oriented Component OrientationStructure

Oriented Service OrientationProcess Oriented Build for change Message Oriented, Loosely Coupled Rule based