Incorporate Human Interaction In Your Business Processes - webMethods Task Engine

Issue 3, 2012 Download pdf

Many business processes require human interaction such as approving purchase orders, assigning an office number for a new employee, and so on. These actions are implemented in a business process as tasks. The webMethods Task Engine – a core component of the webMethods Business Process Management Suite – is where you can use a full set of task management tools and workflow management systems to increase people productivity, improve accountability, and reduce bottlenecks.  In this article, I will introduce you to the core features of the webMethods Task Engine.

The webMethods Business Process Management (BPM) Suite enables you to automate the business processes that support the day-to-day operations of your organization.

A typical business process is a series of business activities that are performed in a specific order, by a variety of applications, systems, employees, and external businesses, according to defined business rules. Examples of business processes include handling a purchase order from receipt through fulfillment, taking a product from inception to market, and preparing for a new employee.

Business processes can include activities performed by humans. When a customer wants to implement human interaction tasks in their business process, they use the Task Engine. My webMethods Server hosts the Task Engine, which handles the human interaction and human workflow aspects of the webMethods BPM Suite. At run time, data and control pass from the Process Engine to the Task Engine and back again, until the business process completes. These interactions can also occur in a distributed environment of multiple Task Engine instances.

Users interact with individual tasks in a Web-based task inbox that is available in the My webMethods user interface that runs on My webMethods Server. Regardless of whether a task is started by an automated process or manually by a My webMethods administrator or other user, the task can be assigned to one or more My webMethods users, groups, or roles for completion. Each user views and interacts with the tasks assigned to them in one or more task inboxes.

Within the task, various user interface panels (also called task views) present task information to the My webMethods user. These panels enable users to enter data and interact with the task in many other ways, such as attaching documents, setting status, and providing comments.

My webMethods Server

My webMethods Server plays a critical role in providing the user interface framework for the webMethods suite and centralized monitoring and administration.

Learn more by reading my article “My webMethods Server: An Introduction” in TECHniques Issue 2

Core Task Engine Features

Ad Hoc Collaboration Tasks
In addition to standard tasks, spontaneous collaborative, task-based workflows can be created and executed on an as-needed basis. The collaborative workflow feature enables you to quickly create one or more collaboration tasks that can be assigned to others users, so that those users can collaborate in completing the parent task.

It is not always possible to anticipate all of the potential human activities required to complete a business process. In such scenarios, allowing users to dynamically create ad-hoc collaborative tasks is quite useful.

Assignments, Distribution, and Delegations
Task assignment simply means that the task appears in the assignee's task inbox. A task can be assigned to more than one user, group, or role, based on their responsibilities, and these assignments can be across large groups, including different departments. Business analysts and developers can control task assignment by specifying logic such as a when the task should expire, when it should be escalated to a manager, and so on. Tasks can be assigned either manually by a My webMethods user or as a result of a task's assignment rule evaluation applied by the Task Engine.

The distribution of tasks among users can be managed in various ways, such as based on a user’s task queue length or using a round-robin algorithm. Tasks can also be distributed statically, based on a task or user attribute, or dynamically. For example, if the value of a task business data field is less than a certain number, the task is assigned to a team member, but if it is greater than a certain number, it is assigned to a supervisor for approval.

In addition to task assignments, a task user may also delegate a task to another user on an as-needed basis. Task delegation enables you to forward a task that is in your inbox to another user, with a complete audit log of who the task was delegated from, who it was delegated to, and who did the delegating. The delegated task continues to be visible in your inbox. Under certain scenarios you may also choose to schedule a task delegation, such as to accommodate a known leave of absence of a user. You can also integrate with your users’ personal calendar applications (such as Microsoft Outlook) to route tasks based on user availability.

The task type designer can create notification events within a task that publish a notification e-mail when the conditions defined for the notification are matched. If you are subscribed to a notification for any of the tasks assigned to you, these notifications are sent to your specified e‑mail address. The notification e-mail you receive may contain one or more Task Action Links that enable you to execute specific actions on the task that sent the notification, without requiring a connection to My webMethods Server. For example, a user can approve a purchase order directly from the notification e-mail.

Escalations and Business Calendars
If tasks assigned to a user aren’t completed by a specific time or someone isn’t available to perform them, you can send a warning notification a day before the task is set to expire or automatically escalate or delegate the task to someone else.

You can use the business calendar feature to define standard business days and hours for your business organization, as well as holidays, weekends, or any other times when your organization is not conducting business. With the use of business calendars, you can ensure that when counting days, only business days will be considered and that non-business days such as weekends and holidays are not included.

Comments and Attachments
By default, tasks provide the ability for users to enter, modify, and view free-form comments within the task they are working on. You also have the ability to add, delete attachments associated with a task.

If the proper permissions are granted to you, you can add, delete, and modify comments and attachments on a task's Comments tab. At design time, the task designer can set a scope for the comments and attachments, defining how comments and attachments are shared.

Content Management and Human Workflow
Organizations create and consume reports, pictures, spreadsheets, e-forms, and other documents of all types in the course of daily business. Many of these files are critical to the business processes of the organization, and as such must be managed and readily available for use with business process execution. Typically these files are stored and managed in one or more content management (CM) systems throughout the organization.

webMethods Content Service Platform (CSP) serves as a content management system and also provides the ability to connect to, read and write to many 3rd party content management systems such as Microsoft SharePoint and EMC Documentum. A task developer can create a task type that can access CSP content, upload and download e-forms, as well as manage attachments stored in 3rd party CMS systems via CSP.

Business Rules Integration with Task Development
Business rules play an integral part in your company’s day-to-day operations. Business rules are anything that is used by your company to make operational decisions. These could be departmental or corporate-wide policies and parameters that are used in decision making.

The webMethods Business Rules Engine is tightly integrated with the Process Engine and can be used in conjunction with Task Engine. This means you can define and change rules that drive processes and specify when certain user tasks are triggered. For example, you can automatically assign a task based on the evaluation of a business rule, or escalate a task based on the triggering of an SLA.

Indexed Task Searches and Scalability
Task types can be created in webMethods Designer to support searches of standard task business data and of indexed task business data. This flexible approach gives you complete control over what data gets indexed, resulting in highly optimized user queries based on whatever task data is available. This design-time choice results in the ability to exponentially scale the number of tasks that can be processed in your deployment.

Task Client Package
The Task Engine includes the Task Client Package  that is deployed to the webMethods Integration Server. This package contains services for the core set of Task Engine APIs, allowing you to leverage Task Engine services in your flow services as well as the ability to invoke Task Engine services via Web services and RESTful services.

Mobile Task Inbox
With the webMethods Mobile Designer and the Task Engine APIs and Web services, you can easily extend the task inbox to your mobile devices. With webMethods Mobile Designer you can write native mobile clients for most major mobile platforms, presenting mobile users with exactly the experience they’d expect from their device.

In summary, the webMethods Task Engine is a core component of the webMethods BPM Suite. Most business processes require varying levels of human interaction. The rich functionality provided by the webMethods Task Engine, allows you to easily incorporate human interaction in your business processes.

Discover expert insights and collaborate with others who use the webMethods Task Engine by visiting the webMethods Community for MWS, CAF and Task Engine at Tech