200 likes | 282 Views
Dr. Shiyong Lu Shiyong@wayne.edu Department of Computer Science Wayne State University. Chapter 1: Overview of Workflow Management. Dr. Shiyong Lu Shiyong@wayne.edu Department of Computer Science Wayne State University. Overview of Workflow Management. The DUS Triangle (C. Zhai, 2008).
E N D
Dr. Shiyong Lu Shiyong@wayne.edu Department of Computer Science Wayne State University Chapter 1: Overview of Workflow Management
Dr. Shiyong Lu Shiyong@wayne.edu Department of Computer Science Wayne State University Overview of Workflow Management
The DUS Triangle (C. Zhai, 2008) • 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.)
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.
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 analystworks 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.