Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University
Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University
Many computing paradigms can be characterized as an instance of the DUS Triangle. Workflows is one such computing paradigm (a workflow connects tasks, agents, data together with flows.) The DUS Triangle (C. Zhai, 2008)
What is a workflow? A computerized model of a business or scientific process consisting of multiple workflow tasks and their coordination dependencies. Workflows are essential to enterprise operation as most business activities of an enterprise today are computerized and automated using workflows. Workflows become increasingly important for scientific computing as more and more scientific computation and analysis processes are represented and executed as workflows.
A workflow example (S. Lu, 2002)
What is a Workflow Management System? A Workflow Management System (WFMS) is a system that supports the specification, execution, and monitoring of a workflow. Supports a high-level workflow specification language (e.g., BPEL) Applications or users describe their workflows using that language. WFMS interprets a workflow of that language by a coordinated execution of the tasks in the workflow.
Major components of a WFMS (C. Lin, et al. 2008) (Hollingsworth, 1995)
Process definition tool Defines a workflow using a workflow specification language in a textual, graphical, or scriptual format. The output of such a tool is a workflow definition that typically includes: –Workflow name, version, creation time, author, description, keywords, etc; –Workflow tasks; –Coordination dependencies, typically in terms of controlflows and dataflows.
Workflow enactment service Interprets a workflow specification by creating, executing, and managing runtime instances of workflows; Consists of one or more workflow engines; Schedules the invocations of workflow tasks; Maintains the status of runtime instances of workflows and tasks.
Workflow client applications Supports the execution of workflow tasks that need to be performed by humans (human tasks). A workflow engine creates and enqueues work items to a worklist. A worklist handler dequeues and routes work items to different users for performing. Issues: communication mechanism, access control, scheduling, load balancing, user interface design.
Invoked applications Supports the execution of workflow tasks that are performed automatically by computers (automatic tasks); Invoke various local or remote heterogeneous applications; Session, data, execution, and event management.
Interoperability On one hand, a workflow might go across multiple enterprises, on the other hand, different enterprises might choose different WFMSs. Interoperability at various levels: –Subsystem –Task –Workflow An effort led by the Workflow Management Coalition (wfmc.org)
Administration and monitoring tools Administration: –User management –Role management –Audit management –Process supervisory functions –Resource control Monitoring –Status, progress, performance of execution of workflows –Failure report and human intervention
What is a Workflow Application System (WFAS)? An ad hoc system that is deployed based on a particular workflow specification typically with the support of a WFMS. It only supports one or a set of fixed closely related workflows for a particular workflow application. Workflow evolution is possible but usually needs to go through a formal business re-engineering procedure.
A typical deployment of a WFAS
System requirements Availability. It is important for an enterprise to conduct its normal business operations. Reliability. Workflows need to be executed reliably even in the presence of failures and concurrency. Status and data cannot be lost. High throughput. Efficiency of a company ’ s business operations. Many users and many task runs/per second. Scalability. The system should scale well as the demands and resources increase.
System requirements (con’t) Security. As the system is accessible by many users, potentially from different geographically distributed enterprises, security is important. Interoperability. On one hand, a workflow might go across multiple enterprises, on the other hand, different enterprises might choose different WFMSs.
Developers of a WFAS System analyst. The system analyst works with the customer to identify business rules, requirements, and policies and produce a requirement analysis document. Workflow engineer. The workflow engineer designs a workflow specification based on the requirement analysis document. Application programmer. Implements individual workflow tasks and interfaces of the workflow and deploys the system. Project manager. Direct and oversee the successful completion of the whole project.
Users of a WFAS End users. Perform human tasks assigned to them. Workflow administrator. 1) Manage workflow end users and applications; 2) Monitors workflow execution; and 3) Intervenes during failures of workflow execution. System administrator. Responsible for the whole system: 1) hardware and software need, 2) configuration, and 3) performance and security.
The Trend of workflow interpret it on your own risk! (1/10/2012)
Workflow vs. software engineering
Workflow vs. bioinformatics