An interesting aspect of Business Process Management (BPM) is that it has the capability to change the way users look at an application. As developers and architects, we tend to look at BPM as a way to both design and control the flow of an application's execution. We can visually edit and modify a Business Process as a series of steps that correspond to human and system activities. The BPM process itself shows the logical flow from step to step, with explicitly set conditions and control structures governing the transitions.
We sometimes think of the BPM engine as controlling this nice, neat and orderly execution of business logic and human steps. This view is reasonable for business logic and application services: the BPM engine is indeed orchestrating the invocation of these services and telling the OpenEdge AppServer which methods and .p's to execute. The perspective of users who are assigned manual tasks is different.
Users of business applications come in all shapes and flavours. Each user has different roles and responsibilities within an enterprise. Users sign in to a business application to do their job, and this is generally to do those tasks that can't be easily automated. Business users rarely think of their work as a single set of business processes. Rather they are experts proficient in performing key tasks that support the business.
Consider the simple case of an accountant who approves or denies purchase orders and invoices. Many business processes may have steps that need to be reviewed by an accountant, and a good BPM engine will support this. The BPM engine does not orchestrate our accountant. Instead it makes available tasks that need her special attention, and it will also make these tasks available to others with her skills.
Different processes have tasks that can be assigned to an accountant.
A particular accountant does not see the processes. They only see the tasks assigned to them.
This aspect of a BPM solution is typically called workflow management. Workflow management takes a skewed view of business process definitions and process instances, and instead looks across these to present all workers’ list of tasks that they are required for, and the tools and data needed to accomplish these tasks.
One nice feature about the OpenEdge BPM solution is that it further recognizes that business users have other work to do that is not defined within explicit business processes. When these users log into a business application, much of their work is self-directed (or, at least, directed by their manager). A workflow system that requires users to go into a new application disrupts the flow of this self-directed work.
While OpenEdge BPM does support a business user portal where the BPM server can display task lists and task screens, OpenEdge BPM also allows all the task management work to be done through standard OpenEdge user interface options (everything from ChUI to GUI to WebSpeed to .NET to OpenClient). Starting in earlier releases and continuing through OpenEdge 11.1, ABL objects necessary to get task lists for a user, get the data associated with a task, and to complete the task are all available. These can then be incorporated into any ABL-based client.
Look forward to more of the same information as OpenEdge BPM continues to evolve in upcoming releases.
Colleen Smith is Vice President, Customer Advocacy at Progress. In this role, she is responsible for ensuring customer focus and accountability for improving the company’s relationship with its customers and partners, as it relates to the use of Progress core products. Smith joined the company in 2005 with 20 years of enterprise software marketing, sales and product strategy experience, and has helped transform software companies into industry leaders, built strategic partnerships, designed acquisition strategies and moved companies through aggressive growth stages.
Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.