Download - SCA and WS-BPEL Martin Chapman Oracle
![Page 1: SCA and WS-BPEL Martin Chapman Oracle](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/1.jpg)
SCA and WS-BPELSCA and WS-BPELMartin ChapmanMartin ChapmanOracleOracle
www.oasis-open.org
![Page 2: SCA and WS-BPEL Martin Chapman Oracle](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/21.jpg)
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
![Page 22: SCA and WS-BPEL Martin Chapman Oracle](https://reader036.vdocuments.us/reader036/viewer/2022062501/5681634b550346895dd3dd5a/html5/thumbnails/22.jpg)
Further Reading http://www.osoa.org
SCA WS-BPEL Specificationhttp://www.osoa.org/download/attachments/35/SCA_
ClientAndImplementationModelforBPEL_V100.pdf?version=1 SCA WS-BPEL White Paperhttp://www.osoa.org/display/Main/SCA+BPEL+White+Paper Relationship Between SCA and BPEL White
Paperhttp://www.osoa
.org/display/Main/Relationship+between+SCA+and+BPEL