Professional Documents
Culture Documents
Prepared by Robert Ma
February 5, 2007
Web Services
wsdl
orderReceived
wsdl
wsdl
shipOrder
wsdl
Supplier 1
wsdl
orderReceived
wsdl
wsdl
shipOrder
wsdl
Supplier 2
Supplier 3
Overview
Businesses today requires to quickly adapt to customer needs and market conditions
Without a common set of standard, each organization is left to build their own set of proprietary business protocols
Definition:
Provides an open, standards-based approach for connecting web services together to create higher-level business processes.
Standards are designed to reduce the complexity required to compose web services, hence reducing time and costs, and increase overall efficiency in businesses
Supplier 1
Supplier 2 wsdl
Supplier 3 wsdl
XYZ CORP
wsdl
Supplier 1
XYZ CORP
wsdl orderReceived wsdl wsdl shipOrder
wsdl
wsdl wsdl orderFromSupplier wsdl
Supplier 2
wsdl
orderReceived
wsdl
shipOrder
wsdl
Supplier 3
Basic Requirements
Studies shown nearly 80% of the time spent in building business processes are spent in exception management
Provide a clear separation between the process logic and the web services used Able to compose higher-level services from existing processes
ECE 1770 Web Service Composition
Standards
BPEL4WS (a.k.a. BPEL) Business Process Execution Language for Web Services
BPEL4WS
XML-Based language It describes the control logic for web services coordination in a business process Interpreted and executed by a BPEL engine
BPEL - Overview
2.
3.
Every BPEL is exposed as a web service using WSDL. And the WSDL describes the public entry and exit points of the process Interacts through WSDL interfaces with external web services WSDL data types are used to describe information flow within the BPEL process
Executable
Models the behavior of participants in a specific business interaction, a private workflow Business protocols in BPEL, specify the public message exchanges between parties
Abstract
BPEL - Activities
Basic Activities:
Structured Activities:
Containers
Data exchanges in the message flow e.g. WSDL messageType Any services that the process invokes OR any services that the invokes the process
<partners> <partner name=buyer myRole=agent/> <partner name=supplier myRole=requestor partnerRole=supplier/>
Partners
BPEL - Code
A sequence
<sequence>
<receive partner=buyer operation=sendOrder container=request/> <invoke partner=supplier operation=request container=order/> <reply partner=buyer operation=response container=proposal/> </sequence>
request sendOrder
request
order
proposal
response
BPEL - Others
Building on top of WS-Coordination and WS-Transaction specifications Transaction A set of activities can be grouped in a single transaction through the <scope> tag
Exception Handling Through the use of throw and catch (similar to Java)
ECE 1770 Web Service Composition
WSCI
XML-based language Defines the choreography describing the messages between web services that participate in a collaborative exchange Only describes the observable behavior between web services
WSCI - Actions
Actions <action> represents a unit of work and would typically map to a specific WSDL operation WSDL describes the entry points of each service WSCI describes the interactions among these operations External services are invoked through <call> tag
WSCI - Snippet
<process name=Purchase instantiation=message> <sequence> <action name=ReceiveOrder role=Agent operation=tns:Order> </action> <action name=Confirm role=Agent operation=tns:Confirm> <correlate correlation=tns:ordered/> <call process=tns:Purchase/> </action> </sequence> </process>
Note: this WSCI is from the perspective of the Agent, there would also be WSCI file for other parties in the process
BPML
WSCI used to describe public interactions BPML used to develop private logic implementations
Provides similar process flow constructs and activities as BPEL Transactional support and exception handling
ECE 1770 Web Service Composition
Summary
Summary
BPEL
Standard Ed. for $8499 USD and Enterprise Ed. for $29999 USD http://www.microsoft.com/biztalk/howtobuy/default.mspx
$0 $0
ECE 1770 Web Service Composition
Discussion
A number of standards like XML Digital Signatures and Encryption, WS-Security Provide authentication and authorization of users, and for securing the XML message itself But composition standards do not offer direct support for security! In BPEL, how do the roles defined for each partner relate the existing authentication standards?