Upload
ronia
View
55
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
SCA and WS-BPELSCA and WS-BPELMartin ChapmanMartin ChapmanOracleOracle
www.oasis-open.org
What is SCA What is WS-BPEL How SCA and WS-BPEL fit SCA WS-BPEL Spec
www.oasis-open.org
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
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…
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
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
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
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
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
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
SCA WS-BPEL
WS-BPEL Process
flow
invoke
reply
partnerLink A partnerLink B
serviceA
referenceB
receivewire
wire
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
WS-BPEL partnerLinksPartner
Link Type
External Service
Java, c++, BPEL
WS-BPEL Process
WSDLPort Type 1
WSDLPort Type 2
myRole partnerRole
Component
SCA Services and References
A
Component
WSDLPort Type 2
WSDLPort Type 1
Reference Service
Callback
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
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
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
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
SCA WS-BPEL Spec Only covers Executable WS-BPEL Abstract WS-BPEL cannot be an
implementation language by definition
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
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
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