Download presentation
Presentation is loading. Please wait.
Published byMikael Joakim Bengtsson Modified over 5 years ago
1
Service-Oriented Computing: Semantics, Processes, Agents
August 2004 Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 © Singh & Huhns
2
Highlights of this Chapter
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Highlights of this Chapter Processes Describing Dynamics with UML Workflows Business Process Languages BPEL4WS (WS-BPEL) ebXML RosettaNet PSL: Process Specification Language Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
3
Processes and Workflows
Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
4
A Process Is … [Abstractions]
Service-Oriented Computing: Semantics, Processes, Agents August 2004 A Process Is … [Abstractions] Orchestration: A partial order of actions (activity graph, script) under the control of a central conductor; akin to a workflow [Global view; central] Workflow: narrower concept than process; emphasizes control and data flows from a central perspective; usually tool-specific and focused on human tasks Choreography: An exchange of messages among participants; akin to a conversation as described by WSCL, WS-CDL, ebBP [Global view; distributed] Collaboration: A joint set of activities among business partners [Local views; distributed] Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
5
Telecommunications Order Processing
Older workflow tools support specialized (ad hoc) notations Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
6
Describing Dynamics with UML
UML Activity Diagrams are practically identical to BPMN (Business Process Modeling Notation) and WS-BPEL (Business Process Execution Language) Sequence: a transition from one activity to the next 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 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
7
UML Activity Diagram Implementation of a vendor’s purchase process
Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
8
Flow Interoperability Patterns
Among others: Chained Nested Synchronized What guarantees would you obtain from each pattern? How would you accommodate exceptions in each pattern? Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
9
WS-BPEL Metamodel Chapter 13
Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
10
Process as a Composite Web Service
Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
11
Stock Quote Service in WS-BPEL
<process name="simple" targetNamespace="urn:stockQuoter" xmlns:tns="urn:stockQuoter" xmlns:sqp=" 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"/> <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> Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
12
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 Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
13
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 Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
14
Design of an ebXML System
Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
15
Discover Partner Information and Negotiate
Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
16
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 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
17
Business Service Interface
Interfaces with the legacy system to have it play a role in a specific protocol (e.g., vendor in 3A4) Is aware of its own Collaborative Protocol Profile Handles transactions based on all current agreements (CPAs) Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
18
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 Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
19
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? Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
20
Service-Oriented Computing: Semantics, Processes, Agents
August 2004 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) Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.