Overview of Work Items - EnterWorks_Process_Exchange_(EPX) - 10.6

EnterWorks EPX Programmers Reference

Product type
Product family
Precisely EnterWorks > EnterWorks Process Exchange (EPX)
Product name
Precisely EnterWorks
EnterWorks EPX Programmers Reference
Topic type
Programming Reference
First publish date

Before proceeding to the examples, it may be helpful to review process flow and work items and how they are handled by EPX. A process flow is the flow of information and control in a business process. A process flow can be defined as a series of activities (specific tasks in a process flow) and transitions between those activities. Activities are either manual or automatic and have properties associated with them, such as a starting point.

In EPX, a work item represents the life cycle of a body of work, starting with a single work request, progressing through a sequence of serial or parallel activities, and perhaps terminating. Because it is possible to have perpetual work loops, termination is optional. A purchase order that is passed from person to person during the process of getting it approved can be considered a work item. In EPX, the data produced and exchanged during a work item’s existence is referred to as the work item’s content. The data produced or received by a particular activity at a specific point in the process flow is referred to as a work item version.

Work item versions consist of a set of attributes that include properties, comments, attachments, and priority. A work item type can be thought of as an abstract category used to classify work items and the work item’s fields. For example, some useful work item types for a Human Resources department process flow might be a purchase order, vacation request, leave of absence request, travel request, and health insurance enrollment request. Work item types can be used to generate work item viewers, which are HTML files that display a work item’s contents. Different viewers can be used to display a work item’s content in different formats, or to display different portions of the work item to different participants. This ensures that the right kind of data is distributed to each participant in the process flow. Any number of viewers may be associated with a process flow and its work item types to display the work item content. For example, a work item of type “purchase order” might need four viewers, each of which allows different participants to add or edit different information about the purchase order.

Work items are handled in EPX using worklists, which are queues of work items assigned to a particular actor in a process flow. A worklist handler is the client application that presents a worklist to a process flow participant. The worklist handler for EPX is called TaskManager, which is a Web browser-based application rendered entirely in HTML. In EPX, Java servlets provide dynamic content for the TaskManager. Java servlets are used to handle all requests generated by users. They run on the same machine as the HTTP server. In EPX, the servlet receives requests from EPX clients and then makes a request to the EPX server for the dynamic content. The servlet then creates an XML document in memory by reading in an HTML work item viewer and concatenating the dynamic content to it. A predefined XSL stylesheet is then applied to the XML document, and the HTML output is sent back to the client. When a user makes a request from the TaskManager, the content of the data returned is dynamic, based on the current data in the system and which page is returned in the navigation flow.

The TaskManager provides the user a window into a specific invocation of a process flow. From the TaskManager interface, the user can gain access to any tasks that have been assigned to them as a part of a process flow activity. The user can also generate new work items to be dropped into an existing process flow. When a TaskManager servlet is called, it is passed several parameters, including the work item viewer type and the EPX session ID, and action (which may be the work item ID), as applicable. The servlet checks the sessions cache for the latest data relative to the type of servlet request. If the cache data is available, that data will be used first. Otherwise, the data is retrieved from the EPX server. The TaskManager servlet retrieves the appropriate template and stylesheet. The XML template has been preloaded, and the servlet adds the dynamic data to it. After processing, HTML is produced, which is then returned to the EPX client.