Business Process Management 101: The Basics of BPM and How to Choose the Right Suite
(Page 3 of 6)
More Software Insights
- The Untapped Potential of Mobile Apps for Commercial Customers
- Why is Information Governance So Important for Modern Analytics?
- Optimizing Customer Communications: The Key to Bank Growth
- Secure Web Applications: Creating a Security Culture
The modeling phase is typically supported by a visual process design tool. Some vendors have their own proprietary tools while others provide specialized plug-ins that extend existing IDEs or products such as Microsoft Visio or Eclipse-based modules.
A process consists of multiple activities (also know as "steps" or "tasks").These are created and linked to each other to form the flow of the process. Conditions that define how and when an activity must be called are also are defined during the modeling phase. Process activities can include attachments, such as documents or images, that are passed to the next activity along with associated data. In addition, process can be split into parallel execution paths and joined at a predetermined step. If needed, an instance of a process can be started by an external event, such as the arrival of an e-mail, message or document. These capabilities can be graphically depicted using the same visual design tool. The activities within a process either require human involvement or are processed without any human interaction. Therefore, the modeling tool needs to support person-to-person and system-to-system processes.
Since different types of activities usually have their own visual representations (such as activity icons and graphics), this area of design and presented an opportunity for standardization. One such standard that is widely accepted is Business Process Modeling Notation (BPMN).
The outcome of the process modeling phase is usually a pseudo-executable process flow model that can be exported in an executable language format supported by the BPM engine. Thus, there needs to be a mapping from a modeling language (such as BPMN) to a process execution language (such as XPDL or BPEL) understood by the BPM engine of your choice (more on this later).
To streamline the transition from business design to technical design, some process modeling tools are also capable of producing application design diagrams in Unified Modeling Language (UML). Advanced modeling tools also let you simulate processes and changing activity parameters such duration and resource utilization to test impacts on process efficiency.
Most BPMS vendors supply modeling tools that are optimized to work with their solution, but there are a number of vendors that specialize in process modeling (and analysis, to be covered later), including IDS Scheer, Proforma, Mega, iGrafx, Telelogic and Casewise.
Process Activity Implementation
To create the business logic of the modeled activities, one must provide the necessary instructions (beyond those required to manage the execution flow and pass necessary data). Further, the complex activities within a process often need to be programmed at a lower level to do such things as accessing databases or performing business calculations.
The development environment varies by vendor strategy, but this typically comes in the form of either an integrated development environment (IDE) that is integrated with the modeling tool or a separate IDE. Regardless, all vendors try to minimize the need for hard-coding by supporting a visual programming environment. The most common characteristic of BPM IDEs are meta-data-driven development and code-generation aimed at speeding implementation. The programming language used might be an inference-based business rule engine or a standard language such as Java or C++. To implement more complex business logic, it might be necessary to rely on different programming tools. To ensure flexibility, almost all vendors provide a set of APIs and Web service interfaces.
Front-office-oriented BPM systems typically let you design forms, define data fields, customize process templates, set up access control lists, configure integration capabilities and manage deadlines. Since back-office-oriented BPM solutions aren't intended to support human-centric workflow (and therefore don't require form capabilities), they focus instead on features such as back-end process composition, data/message transformation and automatic creation of service interfaces to ease implementation.
If your application requires integration with external systems, look for out-of-the-box support first. Usually, vendors offer prebuilt components to integrate with document/content management systems, security repositories, third-party packaged applications and middleware products.
Once process activities are implemented, the application is deployable and ready to execute on the vendor's chosen platform, such as J2EE or .Net.