190 likes | 345 Views
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 BPML ebXML RosettaNet
E N D
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 • BPML • 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: views a process as a partial order of actions under the control of a central conductor; akin to a workflow Choreography: views a process as an exchange of messages among participants; akin to a conversation as described by WSCL and WSCI Collaboration: views a process as a joint set of activities among business partners Workflow: a narrower concept than a process, which emphasizes control flows and data flows from a central perspective Service-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) their temporal precedences and flows of control. The allowable control constructs are • Sequence, which is a transition from one activity to the next in time • Branch, which is a decision point among alternative flows of control • Merge, where two or more alternative flows of control rejoin • Fork, which is a splitting of a flow of control into two or more concurrent and independent flows of control • Join, which is 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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example Workflow for Telecommunications Order Processing Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Workflow Interoperability Patterns Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
BPEL4WS Metamodel Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
A BPEL4WS process is a composite Web service with a WSDL description Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Example BPEL4WS Specification for Stock Quotation Composite Service <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 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 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’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) • 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 (CPA’s) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
RosettaNet PIP for Creating a Purchase Order: The Content for ebXML Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Chapter 13 Summary Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns