Business process management (BPM)
Literature Review
2.1 Definitions
2.1.1 What is Business Process Management?
Business Process Management (BPM) was influenced by concepts and technologies from business administration and computer science. BPM had its root in process-oriented trends and was treated as a management philosophy since mid 1990s (James F. Chang, 2006; Mathias Weske, 2007). Studies investigating BPM had been carried out several management principles and practices were associated. Most of these concepts were identical to Business Process Reengineering (BPR) and Total Quality Management (TQM) concepts.
In the book Business Process Management: Concepts, Languages, Architectures, Mathias Weske had quoted from Davenport, who defined business process as:
“a set of logically related tasks performed to achieve a defined business outcome for a particular customer or market.”
And
“a specific ordering of work activities across time and place, with a beginning, an end, and clearly identified inputs and outputs.”
However, Mathias Weske (2007) had adopted definition as:
“A business process consists of a set of activities that are performed in coordination in an organizational and technical environment.”
These activities come together to make a business goal became achievable. Every single business process is performed by a single company, but it may interact with business processes performed by other companies.”
From the business process definition, Mathias Weske (2007) had defined the concept of BPM as:
“Business process management includes concepts, methods, and techniques to support the design, administration, configuration, enactment, and analysis of business processes.”
The basis of BPM had explicit representation of business process with their activities and execution constraints between them. When BPM defined, people could analysis, improvement and enactment with BPM. In traditionally, business process had manually executed as usual by knowledge personnel, regulations of company, and installed procedures. Nowadays, company had more additional benefits by apply Information Technology like Business Process Management System (BPMS) when coordinating activities involved by business process.
2.1.2 What is Business Process Management System (BPMS)?
According to definition of James F. Chang (2006), BPMS is
“a new class of software that allows organizations to devise process-centric information technology solutions. Process-centric means BPMS solutions are able to integrate people, systems, and data”.
BPM fills the gap between the wide-open, unstructured world of collaboration and the precise transaction processing of enterprise applications. It has become widely realized that important enterprise processes routinely cross the boundaries of enterprise applications. Processes like order-to-cash or procure-to-pay may involve several enterprise applications such as taking orders in CRM, ERP creating invoices and purchase orders, and managing production and fulfilment in SCM.
BPM, especially in combination with services that can move data in and out of enterprise applications and other information sources provide a way to clear define, manage, and automate processes that span enterprise applications. BPM also allows processes that bring in people and systems from outside the company to the defined process. In this way, BPM supports processes that take place across an extended business network.
The personalities of processes currently automated by BPM are as follows:
- They are more structured than the loose collaboration based on email and other such mechanisms
- They are more flexible than the transactional processes in enterprise applications
- They are wider in scope than processes in enterprise applications, crossing both application and company boundaries
- Their flow is explicitly defined, managed, and automated
2.1.3 What enabling standards and technology support BPMS?
When evaluating and adopting BPM technology, two standards are referenced over and over: BPMN and BPEL. To fully understand what BPM technology does, it is important to understand the role of these and other standards, which provide a common infrastructure for process modeling and automation.
- Business process modeling notation (BPMN) is a standard for the visual definition of business processes. Most of the modern tools for business process modeling support BPMN or are based on it. BPMN defines the primitive constructs that are used to represent business processes, such as starting points, ending points, process steps, decision points, and so on.
- Business process execution language (BPEL) is a standard for expressing the steps required to execute a business process by invoking a series of web services. BPEL is more like a programming language for carrying out a business process than a modeling system for describing the process flow.
- Web services technology standards are vital to BPM because they enable web services to communicate with enterprise applications and other systems using appropriate mechanisms for security, self-discovery, versioning, and other important matters.
- Industry standards for web services define specific sets of services that are used to automate communication between two companies in a particular industry. BPMS frequently makes use of such web services when creating systems that cross company boundaries and incorporate partner companies into a process.
2.1.4 What is Business Process Modelling?
Business process modelling is the art of describing how work is done in a company at the appropriate level to achieve the desired communication. The typical goals of business process modelling are to capture a process so that it can be better understood and improved or to describe a process in detail and associate it with technology so that it can be automated.
A business process model in general is simply a description of a business process. Visual business models are description of the steps that take place during a process and frequently represent in flowcharts such as the one shown in Figure 3, although other forms of models such as numerical equations or systematic procedures are also sometimes used.
2.2 Main functions of BPMS
Here is a list of the most common components and management mechanisms that are involved in application assembly.
- Web services. BPM needs SOA. The act of creating executable business process models is the start of creating new applications to help automate and support business processes. To allow each business process step to interact with the world, web services are needed to create a two-way communication with enterprise applications and to reach out to other sources of information and functionality on the Web.
- Business rules. Process steps can involve the application of sets of business rules that determine some sort of result, based on the inputs passed in and the rules in effect. Rules could be used to determine the routing of a document, the credit score of an individual, or a suggestion for a product to upsell.
- User interfaces. When process steps need to interact with people to collect information or to define a task that must be performed manually, a user interface is needed. In this way, a user interface is a component that is included in the set of parts that are assembled into a working application by the BPM process automation technology. User interface components can be generated automatically, based on interactions implied by web services, business rules, or data required by process steps. User interface components can also be created by users and developers using a variety of tools.
- Modeling and orchestration tools. Modeling and orchestration tools are used at many different levels of a BPMS. The center of a BPMS is usually an environment for modeling used to define business process models or the orchestration of services. Modeling can be used to create services and user interfaces. Modeling also can be used to define the integration and mapping of data from one source to another.
- Simulation tools. In order to understand the flow of work through a proposed business process, simulation tools may be employed. Assumptions are made about the amount of inputs to each process and the amount of time it takes to perform each process step. In this way bottlenecks or key areas for optimization can be found. These key areas can be closely monitored to find problems early on in implementations or to confirm the validity of assumptions.
- Model and process repositories. When models are created, they must be stored in repositories, which allow them to be accessed and shared by large groups of people. In any large program of BPM adoption, some processes are used over and over. These process components must be stored in a central location and reused in other business process models.
- Web services repositories. To link business process steps and user interfaces to the invocation of services, it is important to be able to find services, understand what they do, and identify the data sent and retrieved through them. Web services repositories contain information about the interfaces and functionality of the services and the underlying applications the services are connected to at runtime.
- Integration tools. It is not uncommon for a business process to require two systems to work together in specific ways. Perhaps a purchase order must be transferred from the CRM application to ERP. Frequently, the BPMS does not contain the capability to perform such integration and so other integration tools must be used to create the needed functionality. The BPM tools then invoke a service that performs the integration defined by the integration tools. In this way, specific integrations become components used by BPM technology.
- Centralized task management. One of the most important transitions in a business process model occurs when a software application asks a person to perform a task. It is vital that the task to be performed be adequately described and that the results of performing the task be recorded. A single user may be getting requests to perform tasks from many different business process applications. Centralized task management components create a single inbox into which all requests from business process applications are sent, which streamlines monitoring and executing those tasks.
- Process and activity monitoring tools. Once an application has been created using a BPMS, it is important to monitor the business process model during execution. By monitoring the activity of specific steps, it is possible to monitor not only the technological activity of the system such as database reads and writes or network traffic, but also the progress of the business process, that is, number of purchase orders created or customer service requests handled. Systems created based on business process models take a large step toward achieving the promise of the field of business activity monitoring, complex event processing, predictive analytics, and simulations.
These main functions would provide the basis for evaluation of BPMS platforms.
2.3 BPMS platforms evaluation
From the main functions of BPMS, the author has evaluated four platforms to support the implementation stage. These four platforms were Drools 5, jBPM 4.3, OSWorkflow 2.8, and ARIS. The critical evaluation framework has been discussed in the main functions of BPMS within this chapter. The evaluation framework included:
- Web services
- Business rules
- User Interface Widgets
- Modelling and Orchestration tools
- Simulation tools
- Model and process repositories
- Web service repositories
- Integration tools
- Centralized task management
- Process and activity monitor tools
The marking guidance has included at appendices. The guidance provided descriptions for each mark from 0 to 10.The investigation of BPMS has marked these platforms base on the evaluation framework and marking guidance then ploted to charts.
2.3.1 Drools 5 – Business Logic Integration Platform
Drools was a open-source business rule management system (BRMS) with a forward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm. Adapting Rete to an object-oriented interface allows for more natural expression of business rules with regards to business objects. Drools is written in Java, but able to run on Java and .NET. Drools has been supported by JBoss since 2005 and renamed to “JBoss Rules”.
Drools 5 have been released on May 2009. The main goals of this release were introducing Complex Event Processing (CEP) engine (in Fusion module) and workflow capabilities (in Flow module). On the release of Drools 5, it has changed name from Business Rule Management System (BRMS) to Business Logic integration Platform (BLiP) with modules:
- Drools Guvnor (BRMS/BPMS)
- Drools Expert (rule engine)
- Drools Flow (process/workflow)
- Drools Fusion (event processing/temporal reasoning)
Advantages:
The platforms had Drools Expert; it was an excellent rule engine, developed as the first-class module in mind. The platform received ten marks for business rule function because it had long time development and matured enough for production environment.
Drools Guvnor combined with Drools plug-in on Eclipse were outstanding at BRMS and editor. The combination help user easily draw; manage models on both Web and desktop IDE (integrated develop environment). It helped the platform received eight marks for modelling tools, nine marks for model repository, and eight marks for centralized task management.
Disadvantages:
The documentation of platform did not have any mention about web service on whole platform. That meant the platform did not support web service either BPEL standard.
According to the official user guide at Drools website, the integration ability with OpenBravo ERP and OSWorkflow were still under developing at time this report conducted. The platform received one mark for integration function.
2.3.2 jBPM 4.3
jBPM is a platform for executable process languages ranging from business process management (BPM) over workflow to service orchestration. jBPM supports three different process languages. Each one is targeted towards a specific function and environment.
*jBDL*BPEL*Pageflow
jBPM builds all these process languages natively on top of a single technology: the Process Virtual Machine (PVM). Even as the BPM industry converges towards new standards, the investment in jBPM is protected; the PVM foundation will remain stable.
Advantages:
The supporting of BPEL has gave jBPM a good marks (eight) at web service function. Support BPEL has also meant this platform good in integration with legacy systems.
The ability of generate form for human interaction workflow was the good function that included in jBPM. This ability contributed seven marks for user interface widget function.
Modelling, repositories, and centralized task management were the advantages of jBPM. This platform developed some plug-in for Eclipse to create the Graphical Process Designer. This approach gave the power of Eclipse to business process on both graphical modelling and debugging.
Disadvantages:
The investigation shown the weakness of jBPM was the lacking of simulation tools. Simulation tools helped process designer in bottle-neck solving. The simulation function of jBPM was under developing at time of this report conducted.
2.3.3 OSWorkflow 2.8
OSWorkflow is a mature open-source Java workflow engine. It is mainly aimed at the programmer and not an end user or business analyst. For the end user or business analyst, it includes a user-friendly visual workflow modeller designed only for basic usage.
Advantages:
The strength of OSWorkflow showed at modelling tools and