One day, while bored at work, in anticipation of the decision of the distant European leadership on the choice of software for managing business processes, I had the idea to create a Script. Based on the business process model, the script was to animate its state at different times and collect the resulting data, on the basis of which decisions can be made about the effectiveness of the planned changes in the organization’s activities. Since I had an IDE only in the form of Notepad on hand at my workstation, and as a corporate IE runtime, I had to write a script on jQuery, which was released recently. This is how the
bpsimulator.com Service was
born .
Business Process Simulation Service

The service is designed to search for bottlenecks of developed business processes or to test the effectiveness of options for making changes to existing processes. Software similar in functionality is part of the IBM, Oracle, AG Software, etc. BPM systems, but is not available for training and commercial use outside the corporate segment. The main mission of the bpsimulator.com service is the availability of simulation modeling for potential users, and then I will tell you how this goal is achieved. The simulator is implemented as a web service with the ability to work offline. Simulation include the following steps:
- Business process modeling
- Model simulation
- Analysis of simulation results
Modeling
Modeling is an important and difficult stage, the correctness of the results significantly depends on its quality. Therefore, instead of complex notations describing business processes, a task-oriented approach was used. There can be only two types of objects on models: task sources and functions that consistently lead to the execution of these tasks. Of course, there are connections between the “in / out” objects, resources and conditional transition operators. Each object has a set of properties traditional for simulators, such as the name, the frequency of tasks arriving, or the duration of executing a function by the performer, which can be filled in as needed. Models are stored either locally with the user or in Yandex.Disk, Dropbox or Google Drive services.

Simulation
Simulation is the sequential calculation of the state of the business process at different points in time. For example, from 9:00 to 9:10 the secretary will receive an envelope with a signing contract, at 10:00 she will finish drinking coffee and take it to lawyers who, after three hours, will return it for revision and so on until a signed copy of the agreement is sent to the client . The simulation is controlled via the Start, Accelerate, Pause, Next and Stop buttons - which allows you to go through any cycle of the process along and reproach. Depending on the state at the calculated time, their state is displayed on the graphical objects of the model for visual inspection. There is also a detailed transition log, where you can track the details of congestion in the process.

')
Analysis
At the end of the simulation, you can see the collected statistics of the simulation, which is distributed over the following sections:
- Process - gives an idea of ​​the effectiveness of the process as a whole, from the beginning to the end of the simulation period
- Functions - in the context of executable functions, you can determine where bottlenecks occur
- Resources - all involved artists are displayed and their load level
- Tasks - you can trace how the total duration of the same tasks depends on the time of their appointment

And what's under the hood?
I specialize in creating competence centers for process management, not programming, so there is not a lot of technical frills. There were no plans to use server resources, but I had to create a couple of phishing requests for proxying to integrate with some cloud storage services.
Interface: jQuery, jQuery UI, globalize and modernizr. HTML5 uses localstorage, canvas and tags. Since my main partners are “modern high-tech dynamic leading banks,” we have to maintain old versions of IE. Apache Ant in Eclipse is used to build and publish a service, site and reference manual.
Conclusion
As part of the introductory topic, it is difficult to immediately tell all that I want to tell about the service. If interest is shown, we will analyze specific cases, and how it was done using this tool. In the meantime, you can find a detailed reference guide simulator at
bpsimulator.com/ru/help/ .