46
Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen, Germany [email protected]

Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Embed Size (px)

Citation preview

Page 1: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Web ServicesBusiness Process Execution Language (WS-BPEL 2.0)The Standards Landscape

Dieter KönigSenior Technical Staff MemberIBM Software GroupBöblingen, [email protected]

Page 2: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Web Services Standards for SOAThe Web Services Platform Architecture

Messaging

Quality of Service

Transport

Description

Components

Transport

Interface + Bindings

Composite

XML Non-XML

Security

Policy

Disco

very

, Neg

otia

tion

, Ag

reem

en

t

Atomic

OrchestrationOrchestration ProtocolsProtocols StateState

ReliableMessaging Transactions

ComponentModel

ComponentModel

Page 3: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Web Services Standards for SOAThe Web Services Platform Architecture

Messaging

Quality of Service

Transport

Description

Components

Transport

Interface + Bindings

Composite

XML Non-XML

Security

Policy

Disco

very

, Neg

otia

tion

, Ag

reem

en

t

Atomic

OrchestrationOrchestration ProtocolsProtocols StateState

ReliableMessaging Transactions

ComponentModel

ComponentModel

WS-RM

WSDL* WS-Policy*

HTTP, TCP/IP, SMTP, FTP, …

UD

DI, W

S-A

ddr, M

eta

data

Exch

.,…

WS-CWS-N* WS-RFWS-BPEL

WS-Security*WS-AT WS-BA

SOAP, WS-Addr* JMS, RMI/IIOP, ...

SCA

Page 4: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Web Services Standards for SOAThe Web Services Platform Architecture

Messaging

Quality of Service

Transport

Description

Components

Transport

Interface + Bindings

Composite

XML Non-XML

Security

Policy

Disco

very

, Neg

otia

tion

, Ag

reem

en

t

Atomic

OrchestrationOrchestration ProtocolsProtocols StateState

ReliableMessaging Transactions

ComponentModel

ComponentModel

WS-RM

WSDL* WS-Policy*

HTTP, TCP/IP, SMTP, FTP, …

UD

DI, W

S-A

ddr, M

eta

data

Exch

.,…

WS-CWS-N* WS-RFWS-BPEL

WS-Security*WS-AT WS-BA

SOAP, WS-Addr* JMS, RMI/IIOP, ...

SCA

Page 5: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for People (BPEL4People)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc

WS-BPEL 2.0 Extensions for Java (BPELJ)http://www-128.ibm.com/developerworks/library/specification/ws-bpelj

WS-BPEL Standards Roadmap

WS-BPEL 2.0www.oasis.org

www.osoa.org

Service Component Architecture (SCA)SCA Assembly Model

SCA WS-BPEL Client and Implementation Model

Page 6: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

process

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 7: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Business Process

Application Integration

WAS.net

CICS

SOAP

RMI/IIOP

MQSeries

MQSeries

Delivery channels

Legacy integration

Page 8: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

BPEL in SOA: Abstract View

WS-BPEL is aRecursive Aggregation Model

for Web Services

Aggregation: a set of Web services can be tied into one or more new Web service by means of a business process model

Recursive: these new Web services can again be tied into other new Web services

Page 9: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

WS-BPELTool1

WS-BPELToolk

WS-BPELTool2

Benefits of WS-BPELBusiness-Level

IT-Level

ModelingTool1

ModelingTooln

ModelingTool2

…ModelingTool3

WS-BPELEngine1

WS-BPELEnginek

WS-BPELEngine2

WS-BPEL Engine

WS-BPEL Tool

Page 10: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Two-Level Programming Model

Programming in the large Non-programmers implementing processes

Flow logic deals with combining functions in order to solve a more complex problem (such as processing an order)

Programming in the small Programmers implementing low-level

services Function logic deals with a discrete fine-grained

task (such as retrieving an order document or updating a customer record)

Page 11: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Process Usage Patterns

Aiming for a single approach for both Executable processes

Contain the partner’s business logic behind an external protocol

Abstract processes Define the publicly visible behavior of some or all

of the services an executable process offers Define a process template embodying domain-

specific best practices

Page 12: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

WS-BPEL Language Constructs

WS-BPEL process definition Recursive composition and partner links Variables Variable properties Correlation sets Basic and structured activities Scopes Compensation handling

Page 13: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

WS-BPEL Process Definitionprocess

imports

Declare dependencies on external XML Schema or WSDL definitions extensions

Declare namespaces of WS-BPEL extension

attributes and elements

variablesData holding state of a business process or exchanged with partners

partnerlinks

Relationships that a WS-BPEL process will employ in its behavior

correlationsets

Application data fields that together identify a

conversation

messageexchanges

Relationship between inbound and outbound

message activities

eventhandlers

Concurrently process inbound messages or timer alarms

faulthandlers

Deal with exceptional situations in a process

primaryactivity

Perform the process logic – any number of activities may be recursively nested

XMLschemas

WSDLdefinitions

Page 14: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Partner Linksprocess

partnerlink

partner link type

Peer-to-peer conversational partner relationship

WSDLport type

myRole

Provided port type

WSDLport type

partnerRole

Required port type

receive

Inbound request – service provided by the process

invoke

Outbound request – service required by the process

Page 15: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Variablesprocess

assign

xsl:transform

receive

request

response

invoke

request

reply

response

42

WSDLmessage

WSDLmessage

WSDLmessages

Variables defined using WSDL messages

42XML

schemas

XML Schemaelements / types

Variables defined using XML schema elements or types

Page 16: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Properties and Correlation Sets How to identify stateful instances via stateless WS interfaces? A process instance is assigned one or more keys

Business data is used as key, e.g., customerID A key can be compound, e.g., (customerID, orderNumber) WS-BPEL calls a key a correlation set – it is used to correlate an incoming

message with a process instance

Process 4(0123,15)

Process 3(0815,42)

Process 2(4711,37)

Process 1(0815,12)

0815 42

Message 2

customerID

orderNumber

4711 37

Message 1

Page 17: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

process

Basic Activities

receive reply

invokeInvoke a one-way or request-response operation

Do a blocking wait for a matching message to arrive / send a message in reply

validate

assignUpdate the values of variables or partner links with new data

Validate XML data stored in variables

throw

rethrow

Generate a fault from inside the business process

Forward a fault from inside a fault handler

exit

Immediately terminate execution of a business

process instance

compensate

compensateScope

Invoke compensation on all completed child scopes

in default order

Invoke compensation on one completed child scope

waitWait for a given time

period or until a certain time has passed

empty No-op instruction fora business process

extensionActivityWrapper for language

extensions

Page 18: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

process

flowContained activities are executed in parallel, partially ordered through control links

sequenceContained activities are performed sequentially in lexical order

whileContained activity is repeated while a predicate holds

repeatUntilContained activity is repeated until a predicate holds

pick Block and wait for a suitable message to arrive

(or time out)

forEach Contained activity is performed sequentially or in parallel, controlled by a specified counter variable

if-elseif-else Select exactly one branch of activity from a set of

choices

scope Associate contained activity with its own local variables,

partner links, etc., and handlers

Structured Activities

2. N.1. …

B C

A

c

c

c1 c2…

2. N.1. …

… AM2M1

Page 19: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

process

Scopes

scope

scope

scope

scopescope

scope

scope

Scopes provide a context which influences the execution behavior of its enclosed activities

Isolated scopes provide control of concurrent access to shared resources

scope

Local declarations – partner links, message exchanges, variables, correlation sets

Local handlers – event handlers, fault handlers, a termination handler, and a compensation handler

Compensation handler to undo persisted effects of

already completed activities

Termination handler to deal with forced scope termination

(external faults)

primary activity

scope

Page 20: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

WS-BPEL Abstract Processes

Hiding process details Abstract process use cases

Page 21: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Hiding Process Details

private process

En

terp

rise

publicview

Abstract Process

Executable Process

Page 22: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

Abstraction and Completion

ep

p q

ap

q

abstraction

executablecompletion

Omitted informationrepresents modeling artifacts

that may be provided later

An abstract process describes “behavior” It may not be executableIt may omit certain information

Page 23: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

WS-BPEL Adoption – Products Active Endpoints ActiveBPEL BEA WebLogic Cape Clear Orchestrator Intalio/Apache Orchestration Director Engine (Ode) IBM WebSphere Process Server Microsoft BizTalk Server MidOffice BPEL Engine (open source) OpenLink Virtuoso Universal Server Oracle BPEL Process Manager Parasoft BPEL Maestro Progress Sonic BPEL Server SAP NetWeaver Sun eInsight BPM

Page 24: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for People (BPEL4People)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc

WS-BPEL 2.0 Extensions for Java (BPELJ)http://www-128.ibm.com/developerworks/library/specification/ws-bpelj

WS-BPEL Standards Roadmap

WS-BPEL 2.0www.oasis.org

www.osoa.org

Service Component Architecture (SCA)SCA Assembly Model

SCA WS-BPEL Client and Implementation Model

Page 25: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

BPEL4People & WS-HumanTask

Specifications published June 25, 2007

http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people/

Next step: OASIS Technical Committee to be created to standardize BPEL4People and WS-HumanTask

Page 26: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

BPEL4People & WS-HumanTask – Requirements

Integration of human-executed activities in Web services-based business processes

Integration of human-executed activities in SOA-based applications

Standard-based solution to support interoperability and portability scenarios

Page 27: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

BPEL4People & WS-HumanTask – Approach

BPEL4People

– Definition of human interactions within WS-BPEL processes

– Specification built on top of WS-BPEL 2.0

WS-HumanTask

– Definition of service-enabled human tasks and notifications

– Coordination protocol used to control autonomy and life cycle of service-enabled human tasks in an interoperable manner

– Interoperable programming interface enabling task client applications to work with human tasks

Page 28: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Process ProcessProcess ProcessProcess

Peopleactivity

Peopleactivity

Inline TaskDefinition

Peopleactivity

Invokeactivity

Peopleactivity

Inline TaskDefinition

StandaloneTask Definition

StandaloneTask Definition

StandaloneTask Definition

BPEL4People: People Activities and Tasks

Task can be used outside of process

context

Communication with task is based on

coordination protocol

Task is interoperable as well as portable

Task is just a Web service with no

additional constraints

Easy to switch between performing the task by humans

or programs

Task can only be used inside of

process context

Task is interoperable as well as portable

Page 29: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

BPEL4People: Web Service vs. Human Task

Translation Process

receive document

automatictranslation

reply translation

manualtranslation

Web Service Endpoint Abstract Organizational Group

Page 30: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Deployment Descriptor

Deployment Descriptor

BPEL4People: People Links and People Resolution

Brochure Creation Process

create

approve

revise

"Authors"

"Approvers"

DepartmentsDepartment1

Member1Member2...

Department2...

UsersGroup1

Member1Member2...

Group2...

RolesRole1

Member1Member2...

Role2...

Select staffWhere

qualification=

"tech writer"

Select staffWhere

responsibility=

"marketing"

Org Database

Page 31: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for People (BPEL4People)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc

WS-BPEL 2.0 Extensions for Java (BPELJ)http://www-128.ibm.com/developerworks/library/specification/ws-bpelj

WS-BPEL Standards Roadmap

WS-BPEL 2.0www.oasis.org

www.osoa.org

Service Component Architecture (SCA)SCA Assembly Model

SCA WS-BPEL Client and Implementation Model

Page 32: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)

Services used by an activity may be implemented as another process

– In BPEL this is hidden from the engine(s) running both processes

– Both processes can be coupled to a larger “virtual” process

• Their lifecycle can be coupled

• They may share context

Benefits

– Reuse of process knowledge

• Same business problems

• Best practices

– Enhanced modeling capabilities

• Decomposition of large processes, outsourcing

• Composition – modular process structure

– Large-scale distributed execution

• Process “parts” on different platforms, within one enterprise or even across enterprises (“B2B processes”)

Page 33: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Sub-Processes – Definition and Invocation

WFMS 2

ParentProcess

LocalSub-Process

RemoteSub-Process

InlineSub-Process

call

call call

WFMS 1

Page 34: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

Business Process and WS InfrastructureBusiness Process and WS Infrastructure

Sub-Processes – Coordination Protocol

Parent processParent process

InlineSub-Process

InlineSub-Process

CallCall

CallCall

Remote Sub-ProcessRemote Sub-Process

Request

Reply

Call

Return

Register

Coordinationprotocol

Compensation HandlerCompensation Handler

Compensate

Applicationprotocol

Page 35: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for People (BPEL4People)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc

WS-BPEL 2.0 Extensions for Java (BPELJ)http://www-128.ibm.com/developerworks/library/specification/ws-bpelj

WS-BPEL Standards Roadmap

WS-BPEL 2.0www.oasis.org

www.osoa.org

Service Component Architecture (SCA)SCA Assembly Model

SCA WS-BPEL Client and Implementation Model

Page 36: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for Java (BPELJ)

Include inline Java code in BPEL processes

– Activities

– Conditions

– Variable initialization

Orchestrate long-running interactions with Java components

Support advanced transactional capabilities

– Atomic Scopes and Atomic Processes

Page 37: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

BPELJ Examples – Inline Java Expressions

Condition (Boolean Expression)

Variable initialization (General Expression)

<if> <condition expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:java1.4"> widget.equals(getVariableProperty("PO", "productName")) </condition> ... <else>...</else></if>

<variable name="salesTax" type="xsd:float"> <from expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:java1.4"> subtotal * taxRate </from></variable>

Page 38: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

BPELJ Examples – Inline Java Activity

Extension Activity

<process name="purchaseOrderProcess" bpelj:xmlBinding="bpelj:DOM3" ...>    <variables>      <variable name="justificationDoc" type="lns:justificationDocument"/>      <variable name="po" type="lns:POMsg" bpelj:xmlBinding="bpelj:SDO1.0"/>    </variables>    <sequence>      ... <extensionActivity>

     <bpelj:snippet> // Get the approver using SDO accessor         Approver approver = po.getApprover(); // Get the approver's comments NodeList commentNodeList = justificationDoc.getElementsByTagName("approverComment"); ...      </bpelj:snippet>

</extensionActivity>   </sequence> </process>

Page 39: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for People (BPEL4People)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc

WS-BPEL 2.0 Extensions for Java (BPELJ)http://www-128.ibm.com/developerworks/library/specification/ws-bpelj

WS-BPEL Standards Roadmap

WS-BPEL 2.0www.oasis.org

www.osoa.org

Service Component Architecture (SCA)SCA Assembly Model

SCA WS-BPEL Client and Implementation Model

Page 40: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SCA

Service Component Architecture

SCA Assembly Model – Component

Implementation - Java - WS-BPEL - Composite - …

Properties

Services

References

Page 41: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SCA

Service Component Architecture

SCA Assembly Model – Composite

Binding- Web Service- SCA- JCA- JMS- SLSB- …

Service- Java interface- WSDL PortType

Wire WireWire

ComponentA

ComponentB

Propertysetting Reference

- Java interface- WSDL PortType

Binding- Web Service- SCA- JCA- JMS- SLSB- …

Page 42: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SCA

Service Component Architecture

SCA WS-BPEL Client and Implementation Model

Specifies how WS-BPEL can be used with SCAUse any valid WS-BPEL 2.0 process definition as the implementation of a

component within SCA

Use WS-BPEL to implement any SCA Component Type that uses only WSDL interfaces to define services and references, possibly with some SCA specific extensions used in process definition.

Create a WS-BPEL process definition that uses SCA extensions and generate an SCA Component Type and use that type within an SCA assembly

Some SCA capabilities (such as properties and multi-party references) can only be used by WS-BPEL process definitions that use SCA extensions.

Page 43: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SCA

Service Component Architecture

SCA WS-BPEL Client and Implementation Model WS-BPEL inside

Implementation - Java - WS-BPEL - Composite - …

WS-BPEL Process

Services

References

Properties

… …

Page 44: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SCA

Service Component Architecture

SCA WS-BPEL Client & Implementation ModelServices and References

WS-BPEL Process

flow

Service

A Reference

Bwire wire

partnerLink A(myRole)

partnerLink B(partnerRole)

invoke

reply

receive

Page 45: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SCA

Service Component Architecture

SCA WS-BPEL Client & Implementation ModelProperties

WS-BPEL Process

flow

property

currency

variablecurrency

sca:property="yes"

. . .

. . .

Page 46: Web Services Business Process Execution Language (WS-BPEL 2.0) The Standards Landscape Dieter König Senior Technical Staff Member IBM Software Group Böblingen,

SOA on your terms and our expertise© 2007 IBM Corporation

WS-BPEL 2.0 Extensions for People (BPEL4People)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpel4people

WS-BPEL 2.0 Extensions for Sub-Processes (BPEL-SPE)http://www-128.ibm.com/developerworks/webservices/library/specification/ws-bpelsubproc

WS-BPEL 2.0 Extensions for Java (BPELJ)http://www-128.ibm.com/developerworks/library/specification/ws-bpelj

WS-BPEL Standards Roadmap

WS-BPEL 2.0www.oasis.org

www.osoa.org

Service Component Architecture (SCA)SCA Assembly Model

SCA WS-BPEL Client and Implementation Model