22
SCA and WS-BPEL SCA and WS-BPEL Martin Chapman Martin Chapman Oracle Oracle www.oasis-open.org

SCA and WS-BPEL Martin Chapman Oracle

  • Upload
    ronia

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

www.oasis-open.org. SCA and WS-BPEL Martin Chapman Oracle. www.oasis-open.org. What is SCA What is WS-BPEL How SCA and WS-BPEL fit SCA WS-BPEL Spec. What is SCA?. Service Component Architecture Developed by Open SOA Consortium Plug and Play Components - PowerPoint PPT Presentation

Citation preview

Page 1: SCA and WS-BPEL Martin Chapman Oracle

SCA and WS-BPELSCA and WS-BPELMartin ChapmanMartin ChapmanOracleOracle

www.oasis-open.org

Page 2: SCA and WS-BPEL Martin Chapman Oracle

What is SCA What is WS-BPEL How SCA and WS-BPEL fit SCA WS-BPEL Spec

www.oasis-open.org

Page 3: SCA and WS-BPEL Martin Chapman Oracle

What is SCA? Service Component Architecture Developed by Open SOA Consortium Plug and Play Components

XML definitions of components and assemblies

Multiple implementation languages Recursive assembly of components Deployment of assemblies

Page 4: SCA and WS-BPEL Martin Chapman Oracle

SCA Core Concepts Assembly Model

how to define structure of composite applications

Client & Implementation specifications how to write business services in particular languages Java, C++, BPEL, PHP….

Binding specifications how to use access methods Web services, JMS, RMI-IIOP, REST…

Policy Framework how to add infrastructure services to solutions Security, Transactions, Reliable messaging…

Page 5: SCA and WS-BPEL Martin Chapman Oracle

SCA Core Concepts

Composite

ComponentA

Service

BindingWeb ServiceSCAJCAJMSSLSB

BindingWeb ServiceSCAJCAJMSSLSB…

ComponentB

Service- Java interface- WSDL PortType

Reference- Java interface- WSDL PortType

Wire WireWire

Reference

Propertysetting

Properties

Policies

Page 6: SCA and WS-BPEL Martin Chapman Oracle

SCA: What is it NOT Does not model individual workflows or ordering of

service invocations use BPEL or other workflow languages

Is not Web services SCA can use / may use Web services, but can also build

solutions with no Web services content

Is not tied to a specific runtime environment distributed, heterogeneous, large, small

Does not force use of specific programming languages and technologies

aims to encompass many languages, technologies

Page 7: SCA and WS-BPEL Martin Chapman Oracle

What is WS-BPEL An orchestration language for

Business processes Interaction with Partners via WSDL Process Control Flow Ordering of service invocations An OASIS Standard

Page 8: SCA and WS-BPEL Martin Chapman Oracle

MyProcess

invoke

receive

receive

invoke

invoke

Handlers

faulthandler

eventhandler

faulthandler

compensationhandler

terminationhandler

eventhandler

PartnerLinks

PartnerLink Type

PortType 1

PortType 2

partnerlink

partnerlink

Variables42

WSDL Message

XML SchemaType

XML SchemaElement

PropertiesCorrelation Sets

Property 1

Property 2

StructuredActivities

if-elsewhile

scope

pick

sequence

flow

repeatUntil

forEach

BasicActivities

receive

reply

invoke

throw

exit

wait

empty

compensatevalidate

assign

rethrow

extensionActivity

compensateScope

Page 9: SCA and WS-BPEL Martin Chapman Oracle

WS-BPEL: What it is not An end-to-end language

Does not explicitly describe flows thru multiple business processes

Only shows directly connected partnersProcess a invokes b, b invokes c…a does not know c

A deployment or configuration language Vendor tooling needs to provide this Policy language needed

Page 10: SCA and WS-BPEL Martin Chapman Oracle

SCA WS-BPEL Goals Bottom Up

Allow existing BPEL processes to be used without change

WS-BPEL and BPEL4WS 1.1 Top Down

Design SCA components then use WS-BPEL to implement

May include SCA extensions to WS-BPEL for SCA property handling, and multi-destination Partners

Page 11: SCA and WS-BPEL Martin Chapman Oracle

SCA WS-BPEL

WS-BPEL Process

flow

invoke

reply

partnerLink A partnerLink B

serviceA

referenceB

receivewire

wire

Page 12: SCA and WS-BPEL Martin Chapman Oracle

Friction Point WS-BPEL partnerLinks are client/server biased

myRole and partnerRole No notion of who is client or server. A typical WS-

BPEL process acts in both roles SCA Services and References are client/server

based A client/server distinction based on who sends first

message After first message, callbacks and converstions may

proceed

Page 13: SCA and WS-BPEL Martin Chapman Oracle

WS-BPEL partnerLinksPartner

Link Type

External Service

Java, c++, BPEL

WS-BPEL Process

WSDLPort Type 1

WSDLPort Type 2

myRole partnerRole

Page 14: SCA and WS-BPEL Martin Chapman Oracle

Component

SCA Services and References

A

Component

WSDLPort Type 2

WSDLPort Type 1

Reference Service

Callback

Page 15: SCA and WS-BPEL Martin Chapman Oracle

Decide who is the ClientTo ensure SCA wires correctly

Given a WS-BPEL defintion:If a receive, pick, onEvent, is the first use of a partnerLink then

myRole is an SCA ServiceElse

myRole is a reference/callback

Page 16: SCA and WS-BPEL Martin Chapman Oracle

SCA WS-BPEL Spec Rules for mapping partnerLinks to

SCA Services and References Previous slide is a simplification Multiplicities need to be considered

(0..1, 1..1, 0..n) Naming services and references

Reuse partnerLink names Scoped partnerLinks must be

disambiguated

Page 17: SCA and WS-BPEL Martin Chapman Oracle

SCA WS-BPEL Spec Support for SCA conversations

Not to be confused with WS-BPEL correlation mechanism

WS-BPEL specifications that use a partnerLink after a conversation has ended may be rejected

An SCA generated conversation violation fault may be generated

Page 18: SCA and WS-BPEL Martin Chapman Oracle

SCA WS-BPEL SpecSCA Extentions to WS-BPEL

Only in SCA aware WS-BPEL definitions SCA Properties

A ws-bpel variable can be defined as as SCA property and can be initialised by SCA

Multi-valued References Ws-bpel partnerLinks are 0..1 Sca extension to allow 0..m Multiple partners under the cover E.g. RFQ scenario

Page 19: SCA and WS-BPEL Martin Chapman Oracle

SCA WS-BPEL Spec Only covers Executable WS-BPEL Abstract WS-BPEL cannot be an

implementation language by definition

Page 20: SCA and WS-BPEL Martin Chapman Oracle

SummaryTying the Nots! A workflow language (WS-BPEL)

Process logic and service invocation ordering A standard deployment and configuration

language (SCA) Dependencies between components

Policy framework (SCA) An end-to-end view (SCA and BPEL) The two together is a happy partnership

Page 21: SCA and WS-BPEL Martin Chapman Oracle

Acknowledgements

The SCA BPEL Working Group Martin Chapman Oracle Sabin Ielceanu TIBCO Software, Inc Dieter Koenig IBM Corporation Michael Rowley BEA Systems, Inc. Ivana Trickovic SAP AG Alex Yiu Oracle