service-oriented architectures veli biçer

42
Service-oriented Architectures Veli Biçer

Upload: zubin67

Post on 09-Dec-2014

987 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Service-oriented Architectures Veli Biçer

Service-oriented Architectures

Veli Biçer

Page 2: Service-oriented Architectures Veli Biçer

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 from SODSL

Page 3: Service-oriented Architectures Veli Biçer

What is SOA?

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

• “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 Veli Biçer

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 Veli Biçer

What is SOA?

Services

Security Trans. & Reliabil. Discovery Description

Composition Mediation

Choreography Business Rules

Applications

Page 6: Service-oriented Architectures Veli Biçer

What is SOA?

HIS RIS/ PACS

Billing

EMR LIS

InternetInternet

National ID Managemen

t

Electronic Claim

ProcessingSaaS

Business Processes

Application Logic (Server)

Application Logic (Client)InternetInternet

Internet Mashup Services

IIPP

UI

Mobile Client

Archetype Repository

Page 7: Service-oriented Architectures Veli Biçer

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 8: Service-oriented Architectures Veli Biçer

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 9: Service-oriented Architectures Veli Biçer

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 Veli Biçer

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 11: Service-oriented Architectures Veli Biçer

Main Concepts

Page 12: Service-oriented Architectures Veli Biçer

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 13: Service-oriented Architectures Veli Biçer

OASIS SOA Reference Model

Page 14: Service-oriented Architectures Veli Biçer

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 15: Service-oriented Architectures Veli Biçer

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 16: Service-oriented Architectures Veli Biçer

Service Component Architecture (SCA)

Page 17: Service-oriented Architectures Veli Biçer

Service Component Architecture (SCA)

• Modules• Components and Component Types• Component Implementation:• Interfaces

Page 18: Service-oriented Architectures Veli Biçer

Service Component Architecture (SCA)

Page 19: Service-oriented Architectures Veli Biçer
Page 20: Service-oriented Architectures Veli Biçer

Service Component Architecture (SCA)

Page 21: Service-oriented Architectures Veli Biçer

• 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 Veli Biçer

Web Services

• 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 Veli Biçer

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 Veli Biçer

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 Veli Biçer

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 26: Service-oriented Architectures Veli Biçer

Cardiology Hospital X

Laboratory Hospital Y

Insurance Company

Place Lab Order

Check Insurance

Confirmed

Order Result

Page 27: Service-oriented Architectures Veli Biçer

Choreography• “Collaborative Business Process Support

in IHE XDS through ebXML Business Processes” ICDE2006

HIS HIS RIS,LIS

Page 28: Service-oriented Architectures Veli Biçer

Enterprise Service Bus

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

Page 29: Service-oriented Architectures Veli Biçer

Enterprise Service Bus

• What if we have more than one client:– We need something to simplify

this

Page 30: Service-oriented Architectures Veli Biçer

Enterprise Service Bus

• Enterprise Service Bus route messages between WSs:

Page 31: Service-oriented Architectures Veli Biçer

Enterprise Service Bus

Page 32: Service-oriented Architectures Veli Biçer

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 33: Service-oriented Architectures Veli Biçer

WSMO

• Providing a standard for describing semantic web services.

• Stands for the Web Service Modeling Ontology

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

– 79 Members

Page 34: Service-oriented Architectures Veli Biçer

WSMO

WSMO WG

WSMX WGWSML WG

A Conceptual Model for SWS

A Formal Language for WSMO

A Rule-based Language for SW

An Execution Environment for

WSMO

Page 35: Service-oriented Architectures Veli Biçer

WSMO

Page 36: Service-oriented Architectures Veli Biçer

WSMO

Target Ontology

Source Ontology

Storage

Mappings

Mappings

Source Instance

Target Instance

Run-time ComponentDesign-time Component

Data Mediation

Mediation Example

Page 37: Service-oriented Architectures Veli Biçer

Service Oriented Analysis & Design

• IT Lifecycle proposed by IBM

Page 38: Service-oriented Architectures Veli Biçer

Service Oriented Analysis & Design• “The wrong approach is to look at the

silos, identify interesting data and plant a service on it. The right direction is to lay out the scenarios you want to carry out, and see where they touch silos. A point of tangency is where there might be an opportunity for a service. Services should not be driven bottom up from technology, as DHS folks are proposing, but rather from the top down—with the use cases.”

• Grady Booch on an interview about SOA

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

“This is not to say SOA is a bad thing. Like any technology, you have to approach it in

meaningful ways. SOA is very useful for gluing systems together, but it does not

address the internal architectures of systems”

Page 39: Service-oriented Architectures Veli Biçer

A few words from SODSL

Ontology OntologyParser

ReasoningEngine

RuleEngine

Domain Analysis

Feature Model

FeatureClassification

FeatureModularization

FeatureConstraints

Domain Design

PartitioningStrategy

CoordinationModel

COSEMLSOA

(WSMO)

Domain Implementation

SODSL

SODSLGenerator

ProcessGenerator

Services

Page 40: Service-oriented Architectures Veli Biçer

A few words from SODSL

Platform

Service

Process

Rules

Code Generation

COSEML & DSL

Feature Model

Page 41: Service-oriented Architectures Veli Biçer

A few words from SODSL

• Traditional Function Oriented• Object OrientationData

Oriented• Component

OrientationStructure Oriented• Service OrientationProcess

Oriented• Build for change• Message Oriented, Loosely

Coupled• Rule based

Page 42: Service-oriented Architectures Veli Biçer

Thank you for your attention…

• Questions?