Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 132Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Processes Describing Dynamics with UML Workflows Business Process Languages BPEL4WS (WS-BPEL) ebXML RosettaNet PSL: Process Specification Language
Chapter 133Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Processes and Workflows
Chapter 134Service-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 and WSCI [Global; distributed] Collaboration: A process is a joint set of activities among business partners [Local; distributed] Workflow: a narrower concept than a process, which emphasizes control flows and data flows from a central perspective; usually tool-specific
Chapter 135Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Describing Dynamics with UML UML provides graphical constructs that can be used to describe (1) actions and activities, and (2) temporal precedence and control flows. The allowable control constructs are 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
Chapter 136Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns UML Activity Diagram Implementation of a vendor’s purchase process
Chapter 137Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Example Workflow for Telecommunications Order Processing Workflow tools support specialized (ad hoc) notations
Chapter 138Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Flow Interoperability Patterns Chained Nested Synchronized What guarantees would you obtain from each? How would you accommodate exceptions in each?
Chapter 139Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns BPEL4WS Metamodel
Chapter 1310Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns A BPEL4WS process is a composite Web service with a WSDL description
Chapter 1311Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Example BPEL4WS Specification for a Stock Quotation Composite Service <receive name="receive" partner="caller" portType="tns:StockQuotePT" operation="wantQuote" container="request" createInstance="yes"/> <invoke name="invoke" partner="provider" portType="sqp:StockQuotePT" operation="getQuote" inputContainer="invocationRequest" outputContainer="invocationResponse"/>
Chapter 1312Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Electronic Business Extensible Markup Language (ebXML) Established by UN-CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) and OASIS (Organization for the Advancement of Structured Information Standards) Provides specifications to define standard business processes, exchange business messages and enter into trading agreements Motivations: Global standard for companies of all sizes Automate finding business partners
Chapter 1313Service-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 ’ s profile, i.e., which business processes it supports, its roles in those processes, the messages exchanged, and the transport mechanism for the messages (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
Chapter 1314Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Design of an ebXML System
Chapter 1315Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Discover Partner Information and Negotiate
Chapter 1316Service-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
Chapter 1317Service-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 (CPA’s)
Chapter 1318Service-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; like a protocol ebXML BPSS: a language for specifying PIPs Two-party protocols Request-response only No meaning to the messages exchanged
Chapter 1319Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Exercise: Exceptions in Workflows This workflow is for recording student registration. Assume that each database management system supports the 2PC protocol for transactions. When a student registers, Task #2 is a check with the Graduate Coordinator to verify that he has completed the necessary prerequisites for the courses for which he is registering. Assume that Tasks #3, #4, and #5 succeed, but that 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 workflow in order to prevent problems such as this from occurring in the future?
Chapter 1320Service-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 BPEL4WS 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)