Process Specifications in Service-Oriented Computing: Dynamics, Collaboration, and Workflows
This chapter explores the intricacies of service-oriented computing, focusing on processes, workflows, and how they can be modeled using UML and other business process languages. Key topics include BPEL4WS, ebXML, and RosettaNet, along with different types of process dynamics, such as orchestration and choreography. The chapter also addresses interoperability patterns in service-oriented architectures, emphasizing collaborative processes among business partners. It includes practical examples and explanations to illustrate how these concepts are applied in real-world scenarios.
Process Specifications in Service-Oriented Computing: Dynamics, Collaboration, and Workflows
E N D
Presentation Transcript
Chapter 13:Process Specifications Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Highlights of this Chapter • Processes • Describing Dynamics with UML • Workflows • Business Process Languages • BPEL4WS (WS-BPEL) • ebXML • RosettaNet • PSL: Process Specification Language Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Processes and Workflows Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Process Abstractions Orchestration: A process is a partial order of actions (activity graph, script) under the control of a central conductor; akin to a workflow [Global; central] Choreography: A process is an exchange of messages among participants; akin to a conversation as described by WSCL, WS-CDL, ebBP [Global; distributed] Collaboration: A process is a joint set of activities among business partners [Local; distributed] Workflow: narrower concept than process; emphasizes control and data flows from a central perspective; usually tool-specific and focused on human tasks Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Telecommunications Order Processing Older workflow tools support specialized (ad hoc) notations Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Describing Dynamics with UML Practically identical to BPMN (Business Process Modeling Notation) and WS-BPEL (Business Process Execution Language) • Sequence: a transition from one activity to the next in time • Branch: a decision point among alternative flows of control • Merge: where two or more alternative flows of control rejoin • Fork: a splitting of a flow of control into two or more concurrent and independent flows of control • Join: a synchronization of two or more concurrently executing flows of control into one flow Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
UML Activity Diagram Implementation of a vendor’s purchase process Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Flow Interoperability Patterns • Among others: • Chained • Nested • Synchronized • What guarantees would you obtain from each? • How would you accommodate exceptions in each? Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
WS-BPEL Metamodel Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Process as a Composite Web Service Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Stock Quote Service in WS-BPEL <process name="simple" targetNamespace="urn:stockQuoter" xmlns:tns="urn:stockQuoter" xmlns:sqp="http://tempuri.org/services/stockquote" xmlns=&BPEL;/> <containers> <container name="request" messageType="tns:request"/> <container name="response" messageType="tns:response"/> <container name="invocationRequest" messageType="sqp:GetQInput"/> <container name="invocationResponse" messageType="sqp:GetQOutput"/> </containers> <partners> <partner name="caller" serviceLinkType="tns:StockQuoteSLT"/> <partner name="provider" serviceLinkType="tns:StockQuoteSLT"/> </partners> <sequence name="sequence"> <receive name="receive" partner="caller" portType="tns:StockQuotePT" operation="wantQuote" container="request" createInstance="yes"/> <assign> <copy> <from container="request" part="symbol"/> <to container="invocationRequest" part="symbol"/> </copy> </assign> <invoke name="invoke" partner="provider" portType="sqp:StockQuotePT" operation="getQuote" inputContainer="invocationRequest" outputContainer="invocationResponse"/> <assign> <copy> <from container="invocationResponse" part="quote"/> <to container="response" part="quote"/> </copy> </assign> <reply name="reply" partner="caller" portType="tns:StockQuotePT" operation="wantQuote" container="response"/> </sequence> </process> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Electronic Business Extensible Markup Language (ebXML) • Established jointly by • UN-CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) • OASIS (Organization for the Advancement of Structured Information Standards) • Provides specification languages for business processes, business messages to facilitate trading agreements • Motivations: • Global standard for companies of all sizes • Automate finding business partners Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
ebXML Vocabulary • Unified Modeling Methodology (UMM) • Specialized UML for Business Processes • Collaboration Protocol Profile (CPP) • Describes a business with respect to its roles in specified processes, the messages it exchanges, and the transport mechanism (e.g., HTTPS) • Collaborative Partner Agreement (CPA) • Intuitively, like an “intersection” of two CPPs • Technical agreement between two or more partners • May be legally binding Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Design of an ebXML System Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Discover Partner Information and Negotiate Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Implementing ebXML • ebXML is a set of specifications: of collaborations and repositories for discovering business partners • Build and deploy its custom ebXML-compliant application to implement necessary roles in different collaborations • Use COTS ebXML compliant applications and components (from ERP vendors) • Business Service Interface (BSI): a wrapper that enables a given party to participate properly in an ebXML exchange Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Business Service Interface • Interfaces with the legacy system, e.g., to make it vendor in a specific protocol such as 3A4 • Is aware of its own Collaborative Protocol Profile • Handles transactions based on all the current agreements (CPAs) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
RosettaNet PIP for Creating a Purchase Order: The Content for ebXML • PIP: Partner Interface Process; an interaction protocol • ebXML BPSS: language for specifying PIPs • Two-party protocols • Request-response only • No specification of the meanings of the messages exchanged Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Exercise: Exception in a Process Recording student registration • Assume that each database management system supports two-phase commit for transactions • Task #2 checks that the student has completed the necessary prerequisites for all the courses for which the student is registering Consider a scenario where Tasks #3, #4, #5 succeed, but Task #2 fails • As the system administrator, what operations would you have to perform in order to restore consistency to your system? • How would you modify the process to prevent problems such as this from occurring? Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 13 Summary • In virtually all serious applications of SOC, services are composed into processes • Current approaches for process modeling are based on workflow abstractions • WS-BPEL enables specification of processes • ebXML also considers the life cycle of processes • RosettaNet is an application of ebXML • Flows interact in various ways • Exceptions in flows can be handled via (extended) transactions or through application-specific means (where interesting patterns can arise) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns