Neues aus unserem Blog
| Simulation of business processes with JBoss jBPM |
|
AbstractBusiness Process Management (BPM) is a very famous buzzword today. Applied correctly, BPM can lead to better architectures and more flexible software systems. But when new processes are designed or existing processes shall be improved, it is always hard to predict the resulting performance. Business Process Simulation (BPS) is of great help in such estimations by using statistical methods to gain a better understanding of runtime behavior. But good BPS tools are rare and costly, making simulation uninteresting for a lot of companies. Because of closed source and closed documentation the tools are seldom useful in research, too. The main objective of an already finished master thesis was to create an open source BPS tool on top of JBoss jBPM, an open source business process engine. The simulation can answer what-if questions concerning resource numbers or input parameters as well as compare different versions of processes regarding special performance indicators, for example costs or performance. Statistical input data can be taken from audit log data whenever possible. Altogether the tool can simulate completely new processes as well as support continuous improvement. A tutorial with a simple showcase and a real life prototype demonstrates that the simulation works and how it can be configured and used. There are several artefacts of interest available:
Master ThesisThe research about this topic and the development of the tool were done by a master thesis:
PartnerThese were the partners of the master thesis:
IntroductionSimulation is not a new topic in computer science. Especially in the field of logistics or production planning it has played an important role for some years now. An example could be the simulation of a harbor loading dock's utilization. Because it is quite expensive to correct planning errors after constructing the dock, a good modeling is a crucial success factor. And due to the random nature of events it is hard to develop an analytical formula for the result under different circumstances, that's why simulation is used. In the last years, Business Process Management (BPM) became very popular. This maybe surprising at first, because focusing on business processes is not new, actually it got very famous in 1993, when Hammer and Champy introduced the Business Process Reengineering. But because of the evolution of the affected tools, the situation has changed. In the beginning, process descriptions were normally "paper ware", which means documentation only. In most cases today, process descriptions are real models, which have some graphical representation, but can also be interpreted automatically. This increases the value of the process descriptions and makes it interesting for a wide range of companies. Additionally, the current hype around Service-Oriented Architectures (SOA) pushes the development further towards BPM. When simulation of business processes emerged, these projects included a high effort for capturing statistical data from your running business to enable valuable simulations. This situation is changing, because of the automation of business processes with so called Business Process Engines. These engines do not only execute the process model, but also collect a lot of audit data during execution, which is a good starting point for simulation. But most of the currently available simulation tools concentrate only on pure simulation, without putting any focus on business processes. Thus you need a special model for simulation on the one hand and have to provide figures from external sources on the other hand, for example via spreadsheet tables. The simulation can answer questions concerning the resulting behavior, compare versions or show impact on changing figures. Even if this approach has the advantage, that nearly everything can be modeled and simulated, the downside is the increased effort on the dedicated model you need to build. A better approach is to integrate the simulation tool in the BPM environment, so it can share the same model with the process engine. This safes effort when modeling a business process and enables accessing historical data of the engine for later optimizations. But there are only few tools available in this area without big shortcomings. And as these tools are very expensive they are normally overkill for small or midrange companies. What is missing is a simulation environment, which is lightweight in the terms of operation and costs. This leverages business process simulation to a much wider range of people, for example smaller companies or universities. A good opportunity to make it easily available is the more and more accepted open source software. One existing Open Source BPM tool, meeting the requirement to be easy to use and cost-effective, is JBoss jBPM, which is already used in some bigger real life projects. The company JBoss has achieved a good reputation, even in the field of mission critical business software. For this reasons, I consider JBoss jBPM as a good foundation for the simulation environment developed during this thesis. Summarized the main motivation behind this thesis is to develop a complete BPS environment based on open source tools. With available source code, a good documentation and tutorials on hand, this environment enables a wider range of companies to leverage, a wider range of technicals to learn and a wider range of scientists to study or research BPS concepts. |
|||||||

