docs.intersystems.com
Home  /  Application Development: Additional Options for Productions  /  Defining Workflows  /  Overview of Workflow within Productions


Defining Workflows
Overview of Workflow within Productions
[Back]  [Next] 
InterSystems: The power behind what matters   
Search:  


This chapter provides an overview of workflow features in InterSystems IRIS™. It discusses the following topics:
Introduction
A workflow management system automates the distribution of tasks among users. Automating the distribution of tasks according to a predefined strategy makes task assignment more efficient and task execution more accountable. A typical example is a help desk application that accepts problem reports from customers, routes the reports to members of the appropriate organizations for action, and upon resolution of the problem, reports the results to the customer.
The InterSytems IRIS Workflow Engine provides a much higher level of functionality than traditional, stand-alone workflow management systems, as the next subsections explain.
Integration into InterSystems IRIS
The InterSytems IRIS Workflow Engine takes full advantage of the InterSystems IRIS architecture. As a result, it can seamlessly interoperate with enterprise applications, technology, and data, as well as human participants. Highlights of this collaboration include the following:
Support for Composite Applications
InterSystems IRIS provides a richly stocked development environment that allows developers to easily create composite applications that span disparate systems and technologies across the enterprise. Because the Workflow Engine is fully integrated within InterSystems IRIS:
Productivity Features
The InterSytems IRIS Workflow Engine provides automatic integration with productivity tools such as the following:
Workflow Components in a Production
The following figure shows workflow components in a production:
A workflow process is a BPL process that sends task requests to workflow operations. This process is responsible for coordinating work among these workflow operations. It might also invoke standard business operations (that is, ones that do not require human intervention). Both types of element may be required to complete the business process.
A workflow operation is a special-purpose business operation that represents a workflow role (discussed in the next heading). The workflow operation sends tasks, via the Workflow Inbox, to all users who belong to the associated role.
A workflow process sends a task request to a workflow operation in exactly the same way as business processes send other kinds of request messages to other kinds of business operation.
In InterSystems IRIS terms, a workflow task is an item of work that is performed offline in support of an ongoing business process. InterSystems IRIS represents a task with a special-purpose production message object called a task request that carries information about that work. The workflow process sends task requests and receives task responses. As with all other messages, these messages are saved in the database until purged (if ever).
Workflow Roles and Users
In a typical organization, multiple people might be able to fulfill a certain kind of task. Therefore, to organize distribution of tasks to people, InterSystems IRIS uses workflow roles. A workflow role is a list of users that can fulfill a certain kind of task.
In theory, there may be any number of workflow roles defined within an enterprise. In practice, roles map to departments or job positions within in the enterprise, such as Accounting, Finance, Teller, Manager, Supervisor, or Director.
Any number of workflow users may be members of a workflow role. Assignment of users to roles should make sense from a practical and organizational standpoint. If a person is authorized to perform a task, that person should be a member of the corresponding workflow role.
Workflow roles are defined per production-enabled namespace, not per production. This means that the same workflow role definitions are available to all the productions in the same production-enabled namespace. The same is true for workflow users when they correspond to InterSystems IRIS user accounts (as is typically done).
User Interfaces for Workflow
InterSystems IRIS now provides two user interfaces to support workflow. These are intended for different sets of users.
Implementers and Supervisors
The Management Portal provides pages that implementers and supervisors can use to manage workflow roles, users, and tasks. To access them, select Interoperability, click Manage, and then click Workflow.
These pages are not meant for end users. Supervisors can assign or cancel tasks, but other actions (such as marking tasks complete) are not available here.
For details, see Managing Workflow Roles, Users, and Tasks in Managing Productions.
End Users
Users manage their workflow tasks within the InterSystems User Portal, which also displays InterSystems IRIS dashboards (and Analytics dashboards). The InterSystems User Portal is accessible from the Management Portal, but it is more likely that your application would provide a link directly to it. (Also note that the User Portal does not have a title; it is suitably generic for all users.)
For an InterSytems IRIS workflow user, the main area of the User Portal displays the Workflow Inbox. For example:
When the user clicks Workflow Inbox, the User Portal displays something like the following:
When a user clicks a task, the system displays the corresponding task form, which you can configure or customize. For example:
For details, see Using the Portal Features in the Using Dashboards and the Mini Analyzer.
Life Cycle of a Task
The life cycle of a task within a production is as follows:
  1. A workflow process receives some input and then creates a task request (a message).
  2. The workflow process sends the task request to a workflow operation.
  3. The workflow operation submits the task request to the Workflow Engine.
  4. The Workflow Engine instantiates the appropriate task response object. This object includes the fields from the original task request, and oversees task distribution to some user.
  5. Task distribution follows either the default strategy or a custom distribution strategy. See Task Distribution Options,” later in this chapter, for details.
  6. Once the task is assigned and completed, the Workflow Engine returns the task response to the business process.
Task Forms and Customization Options
The InterSystems User Portal (mentioned earlier) provides a Workflow Inbox for each user. When a user clicks a task, the system displays a form that is specific to that task. You can customize this form, as follows:
Task Distribution Options
When a workflow operation receives a task request, it turns the request over to the InterSytems IRIS Workflow Engine to distribute the task to one of the users defined for that role. The strategy used to distribute tasks can be the InterSystems IRIS default, which works as follows:
The strategy used to distribute tasks is embedded in the OnNewTask() method of the task response class EnsLib.Workflow.TaskResponse. You can subclass this class and the methods to change the logic, if desired. For instructions, see the chapter Including Custom Features in a Workflow.”
Custom Task Distribution
Workflow designers can make use of a wide variety of task distribution strategies within a workflow definition. The following strategies are built into the InterSytems IRIS Workflow Engine:
It is also possible to create new, custom task distribution strategies.