www oasisopen org SCA and WSBPEL Martin Chapman
www. oasis-open. org SCA and WS-BPEL Martin Chapman Oracle
www. oasis-open. org n What is SCA n What is WS-BPEL n How SCA and WS-BPEL fit n SCA WS-BPEL Spec
What is SCA? n n n Service Component Architecture Developed by Open SOA Consortium Plug and Play Components l l XML definitions of components and assemblies Multiple implementation languages Recursive assembly of components Deployment of assemblies
SCA Core Concepts n Assembly Model l n Client & Implementation specifications l l n how to write business services in particular languages Java, C++, BPEL, PHP…. Binding specifications l l n how to define structure of composite applications how to use access methods Web services, JMS, RMI-IIOP, REST… Policy Framework l l how to add infrastructure services to solutions Security, Transactions, Reliable messaging…
SCA Core Concepts Reference Service - Java interface - WSDL Port. Type Properties Composite Property setting Component Service Web Service SCA JMS SLSB Reference A Wire Binding Component B Wire Policies Wire Binding Web Service SCA JMS SLSB …
SCA: What is it NOT n Does not model individual workflows or ordering of service invocations l n Is not Web services l n 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 l n use BPEL or other workflow languages distributed, heterogeneous, large, small Does not force use of specific programming languages and technologies l aims to encompass many languages, technologies
What is WS-BPEL n n n An orchestration language for Business processes Interaction with Partners via WSDL Process Control Flow Ordering of service invocations An OASIS Standard
WSDL Message receive Variables exit reply 42 throw XML Schema Type invoke XML Schema Element rethrow Basic Activities assign validate partner link Partner Links wait compensate My. Process empty Port Type 1 compensate. Scope Port Type 2 Partner Link Type receive extension. Activity invoke receive invoke flow pick event handler for. Each sequence while invoke Structured Activities Handlers if-else compensation handler repeat. Until scope fault handler Properties Correlation Sets Property 1 Property 2 termination handler
WS-BPEL: What it is not n An end-to-end language l l Does not explicitly describe flows thru multiple business processes Only shows directly connected partners Process a invokes b, b invokes c…a does not know c n A deployment or configuration language l l Vendor tooling needs to provide this Policy language needed
SCA WS-BPEL Goals n Bottom Up l l n Allow existing BPEL processes to be used without change WS-BPEL and BPEL 4 WS 1. 1 Top Down l l 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
Friction Point n WS-BPEL partner. Links are client/server biased l l n my. Role and partner. Role No notion of who is client or server. A typical WSBPEL process acts in both roles SCA Services and References are client/server based l l A client/server distinction based on who sends first message After first message, callbacks and converstions may proceed
WS-BPEL partner. Links my. Role Partner Link Type partner. Role WS-BPEL Process WSDL Port Type 1 WSDL Port Type 2 External Service Java, c++, BPEL
SCA Services and References WSDL Port Type 2 Component Reference Callback WSDL Port Type 1 Service A
Decide who is the Client To ensure SCA wires correctly Given a WS-BPEL defintion: If a receive, pick, on. Event, is the first use of a partner. Link then my. Role is an SCA Service Else my. Role is a reference/callback
SCA WS-BPEL Spec n Rules for mapping partner. Links to SCA Services and References l l n Previous slide is a simplification Multiplicities need to be considered (0. . 1, 1. . 1, 0. . n) Naming services and references l l Reuse partner. Link names Scoped partner. Links must be disambiguated
SCA WS-BPEL Spec n Support for SCA conversations l l l Not to be confused with WS-BPEL correlation mechanism WS-BPEL specifications that use a partner. Link after a conversation has ended may be rejected An SCA generated conversation violation fault may be generated
SCA WS-BPEL Spec SCA Extentions to WS-BPEL l n SCA Properties l n Only in SCA aware WS-BPEL definitions A ws-bpel variable can be defined as as SCA property and can be initialised by SCA Multi-valued References l l Ws-bpel partner. Links are 0. . 1 Sca extension to allow 0. . m Multiple partners under the cover E. g. RFQ scenario
SCA WS-BPEL Spec n n Only covers Executable WS-BPEL Abstract WS-BPEL cannot be an implementation language by definition
Summary Tying the Nots! n A workflow language (WS-BPEL) l n A standard deployment and configuration language (SCA) l n n n Process logic and service invocation ordering Dependencies between components Policy framework (SCA) An end-to-end view (SCA and BPEL) The two together is a happy partnership
Acknowledgements n The SCA BPEL Working Group l l l Martin Chapman Sabin Ielceanu Dieter Koenig Michael Rowley Ivana Trickovic Alex Yiu Oracle TIBCO Software, Inc IBM Corporation BEA Systems, Inc. SAP AG Oracle
Further Reading n http: //www. osoa. org n SCA WS-BPEL Specification http: //www. osoa. org/download/attachments/35/SCA_Client. And. Imple mentation. Modelfor. BPEL_V 100. pdf? version=1 n SCA WS-BPEL White Paper http: //www. osoa. org/display/Main/SCA+BPEL+White+Paper n Relationship Between SCA and BPEL White Paper http: //www. osoa. org/display/Main/Relationship+between+SCA+and+ BPEL
- Slides: 22