Presentation is loading. Please wait.

Presentation is loading. Please wait.

Workflow Access Protocols and CHAIMS Micah Horgan Markman Derek Poppink.

Similar presentations


Presentation on theme: "Workflow Access Protocols and CHAIMS Micah Horgan Markman Derek Poppink."— Presentation transcript:

1 Workflow Access Protocols and CHAIMS Micah Horgan Markman Derek Poppink

2 What is Workflow? Workflow is... The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules; An activity involving the coordinated execution of multiple tasks performed by different processing entities; The routing of information objects among users or actors and the specification of automatic actions to be performed in the routing. A way to improve the efficiency or workers by automating their management and the routing of information between them. A program that manages Workflow is called a Workflow Management System (WfMS).

3 WfMS Characteristics Part 1

4 WfMS Characteristics Part 2

5 WfMS Characteristics Part 3

6 Why a Workflow Access Protocol? Because the change from centralized, desktop-oriented, and homogenous computing to distributed, heterogeneous and network centric computing model forces WfMS to support heterogeneous, distributed computing infrastructures, interoperability, scalability, and availability; Because the two uber-buzz-words of the day, eCommerce and eBusiness, have created a new requirement, the ability to co-ordinate and share work with business partners (suppliers and customers), and share in the control of the entire process. Vendor Independence: the current WfMS market has created a myriad of vendors and products that specialize in solving industry and even department specific workflow problems. Companies want to be able to integrate their current “Islands of Workflow” to create a company- wide or even business-partner-wide solution.

7 Requirements of a Workflow Access Protocol Part 1 Creation: process instances must be able to create new process instances on other systems and specify startup parameters as well as uniquely identify other process instances; Monitoring of Processes Instances: –Get and modify the state of other process instances-i.e. in progress, suspended, canceled, completed; –What/Who the process instance is currently waiting on; –View process instance history- i.e. out how many times a particular process has run, who initiated this process, how long it took on average to complete. Event Notification: ability to register as an observer of another process instance and be notified of various events, i.e. completion. Security: encrypted transactions and ability to positively identify client;

8 Requirements of a Workflow Access Protocol Part 2 Exception Handling and Recovery: ability to recover from lost or corrupted messages Transactional support: the safeguards of traditional transactions related to the correctness of computations and data integrity Simplicity and Ease of Implementation Scalability and Availability Quality and Reliability of Service: if message fails an exception must be thrown; messages cannot be lost

9 Workflow Access Protocol Use Cases

10 OMG jFlow The Standard Formerly Known as The WfMC Interoperability Standard

11 OMG jFlow Created by Workflow Management Consortium, a non- profit, international organization of workflow vendors, customers and users whose mission is to promote the use of workflow through the establishment of standards for software terminology, interoperability and connectivity between workflow products. Proposed to the OMG as a standard on July 4th, 1998. Originally used MIME internet mail protocol and structured messages as transportation protocol. OMG proposal instead uses CORBA/IIOP.

12 jFlow Class Diagram

13 WfMC CORBA/IIOP Example 1

14 WfMC CORBA/IIOP Example 2

15 WfMC Interoperability Standard Methods for MIME CHANGE PROCESS INSTANCE STATE CREATE PROCESS INSTANCE GET PROCESS INSTANCE ATTRIBUTES GET PROCESS INSTANCE STATE PROCESS INSTANCE ATTRIBUTES CHANGED PROCESS INSTANCE STATE CHANGED SET PROCESS INSTANCE ATTRIBUTES START CONVERSATION STOP CONVERSATION

16 WfMC MIME Example StartConversation?OpID=1&ContractID=Nice Group&Version=1.1&Language=de&SourceNodeID=xyz@wfmc.org&RootPID=7 30&ProductID=MagicWorkflow/5.0&SourcePID=24&SourceConversationID=123 && Client Query: CreateProcessInstance?OpID=2&ProcessDefinitionID=Open Account&Profile=chain&& Server Response: CreateProcessInstance?OpID=2&ErrorCode=0&TargetProcessID=32&state=op en.notRunning.notStarted&&

17 SWAP Simple Workflow Access Protocol

18 SWAP Interfaces Process Definition Process Instance Observer Activity Observer Work List / Work Item Servlets Entry Points

19 SWAP Protocols HTTP requests Method / Parameters / Result Page XML Extensibility Security Size Limits

20 XML Encoding ProcessInstance http://myServer/app1?proc=889 open.notRunning open.running open.notRunning San Francisco California

21 SWAP Methods Process Definition PROPFIND CREATEPROCESSINSTANCE LISTINSTANCES Process Instance PROPFIND PROPPATCH TERMINATE SUBSCRIBE/UNSUBSCRIBE GETHISTORY Observer PROPFIND PROPPATCH COMPLETE TERMINATED NOTIFY Activity Observer PROPFIND PROPPATCH COMPLETE

22 CREATEPROCESSINSTANCE Method : CREATEPROCESSINSTANCE Parameters : * observer: the URI to the Observer resource. If present, then the process instance is expected to report state changes, especially the transition to completed state, to this resource * name: the name of the process instance to create. This must be unique for all of this kind of ProcessInstance. Process Definitions will attempt to use this value but if not unique, they will either modify the value until it is unique, or else generate a new value, so the use of this value can not be counted upon * subject: a short description of why the ProcessInstance is being created * description: a longer description of the ProcessInstance. * contextData: a collection of name/value pairs: o name: o value: * startImmediately: (optional) a boolean "yes" or "no” that specifies whether the newly created process should be started immediately. If not started, then the process is in an "initial" state, and you have to call the start operation on it. Default is "yes” Result Page : * key: The URI of the new ProcessInstance resource that has been created. * exception: if any, and if present, the above values are empty Given a process definition resource, this method is how instances of that process are created. There are two modes: create the process, with data and start it immediately; or just create it and put the data on it and start it manually.

23 SWAP vs. CPAM Estimate Method Initialization/Termination Protocol Independence Observer Behavior

24 Conclusion jFlow and SWAP are standards that look to solve a similar problem to the problem that CHAIMS looks to solve only in the specific domain of gluing together Workflow Management Systems. Similar problems lead to similar solutions; main difference is greater flexibility of CHAIMS.

25 References The material gathered for this presentation came from papers available at the SWAP home page which is at http://www.ics.uci.edu/~ietfswap/


Download ppt "Workflow Access Protocols and CHAIMS Micah Horgan Markman Derek Poppink."

Similar presentations


Ads by Google