Process Data Matching Tool

The analysis of data produced by the enterprises during processes execution is key to know how these processes are working and how they can be improved. Different types of data analysis could be made depending on the context. However, each type of analysis needs data in different formats because they use different techniques and tackle the problem from a different point of view. Fortunately, if we look at the data exploitation problem from a higher level of abstraction perspective, we can realize that all the points of view share a common ground: the business process model and its instantiation as a kernel of all of them. We propose the use of a Business Process Instance Metamodel as a mechanism to bring closer the specific databases that recover the produced data.


The goal of this tool is to perform a proof of concept of how it is possible to relate the different entities and attributes from our Business Process Instance Metamodel with information belonging to different data sources, no matter what tool or platform is supporting the data model of the company. In the video, an example of the use of the tool connecting it with an Oracle database is shown. The creation of processes and activities as well as some metrics obtained from the data binded and analyzed can be also seen in the video.


The metamodel has been specified with EMF. Note that it is a very simple model which is mainly centered on the most basic entities related to business process instances together with their attributes. The root of the metamodel is the ProcessEngine metaclass and represents the BPMS or software application that is in charge of processes execution. The process engine can be in charge of different processes. The ProcessDefinition metaclass represents the formal definition of the process, that is, what we call the Business Process Model. One business process can be executed many times and the ProcessInstance metaclass models this executions or instances. A business process is composed of different activities and the Activity metaclass models them. Finally, the ActivityInstance metaclass represents the execution of an activity and it is related to the Activity metaclass (note that an activity may be executed many times) and to the ProcessInstance metaclass (an activity may be executed in the context of different business processes).



The technologies used for the implementation of the tool have been Angular (TypeScript) for the Front End and Laravel for the Back End (PHP). The whole backend server has been built upon a docker container where Nginx has been used as reverse proxy and MySQL for the tool database to store the entities and relations of the metamodel.