1 / 26

Chapter 13: Process Specifications

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

nat
Download Presentation

Chapter 13: Process Specifications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 13:Process Specifications Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

  2. 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

  3. Processes and Workflows Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  4. 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

  5. Telecommunications Order Processing Older workflow tools support specialized (ad hoc) notations Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  6. 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

  7. UML Activity Diagram Implementation of a vendor’s purchase process 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? • How would you accommodate exceptions in each? Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  9. WS-BPEL Metamodel Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  10. Process as a Composite Web Service 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="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

  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 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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  14. Design of an ebXML System Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  15. Discover Partner Information and Negotiate 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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  17. 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

  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 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? Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  20. Web Ontology Language for Services (OWL-S) An OWL-S service description provides • Declarative ads for properties and capabilities, used for discovery • Declarative APIs, used for execution • A declarative description of services • Based on their inputs, outputs, preconditions, and effects • Used for composition and interoperation Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  21. OWL-S Service Ontology Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  22. OWL-S Compared to UDDI Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  23. OWL-S Service Model Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  24. OWL-S Example: Processing Book Orders Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  25. OWL-S IOPE’s for Bookstore Example Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  26. 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

More Related