https://github.com/cristianonicolai/jbpm-xes
jBPM XES exporter
https://github.com/cristianonicolai/jbpm-xes
bpm bpmn jbpm opensource process-mining workflow workflow-engine xes
Last synced: 2 months ago
JSON representation
jBPM XES exporter
- Host: GitHub
- URL: https://github.com/cristianonicolai/jbpm-xes
- Owner: cristianonicolai
- Created: 2018-10-02T04:37:05.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-15T04:21:57.000Z (over 6 years ago)
- Last Synced: 2025-01-28T04:18:15.563Z (4 months ago)
- Topics: bpm, bpmn, jbpm, opensource, process-mining, workflow, workflow-engine, xes
- Language: Java
- Size: 58.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# jBPM XES Export Service
## Overview
The jBPM XES export tool aims to facilitate exporting XES based logs from the jBPM runtime. These logs can then be consumed
by different process mining tools to analyse different aspects from the process runtime execution such as conformance, performance,
deviations, process discovery and more.
eXtensible Event Stream (XES) is an xml based standard that unifies the interchange event data information between information systems on one side and analysis tools on the other side.
For more information regarding the XES standard please visit: http://www.xes-standard.org/## Building
For building this project locally, you firstly need to have the following tools installed locally:
- git client
- Java 1.8
- MavenOnce you cloned the repository locally all you need to do is execute the following Maven build:
```
mvn clean install
```Once the build is complete, you can use the generated JAR in 'target/jbpm-xes-${version}-jar-with-dependencies.jar' using:
```
java -jar target/jbpm-xes-1.0.0-SNAPSHOT-jar-with-dependencies.jar
```## Sample output XML
```
```
## How it works
The jBPM XES Export tool, connects directly to the jBPM log database in order to extract the relevant information.
If you intend to export any logs, please ensure that you use the `JPA` as your KJAR's audit mode.
The tool will look into the `ProcessInstanceLog` and `NodeInstanceLog` tables and filter the data based on the parameters you provided to export.
As a primary rule for the the XES log, only one process can be exported at time, for that we use the `-process` parameter where you can specify
the process definition id you would that to filter on. That will filter down the logs to only process instances that matches the paramter.
You can also use other filters like `version`, `status`, and more.## Usage
Out-of-box, the jBPM XES Export tool allows you to connect with the following databases:
- H2
- MariaDB
- MySQL
- PostgreSQLTo use another database, simply provide the additional jar in the classpath of the application.
### Options
The tool allows a series of custom parameters to fine tune which logs should be exported, to see the full list of options please execute:
```
java -jar target/jbpm-xes-1.0.0-SNAPSHOT-jar-with-dependencies.jar
```Which will outcome the following:
```
usage: xes -driver [-file ] [-logtype ]
[-nodetypes] [-password ] -process [-status
] -url -user [-version ]
-driver Database driver class name
-file File name to save result XES. Default will print
in the console.
-logtype Use 0 for node entered events or 1 for exit
events. Default will export all types.
-nodetypes Export all node type. Default will only export
relevant activities.
-password Database password
-process Process Id to export
-status Process status to export
-url Database url
-user Database username
-version Process version to export
```### Example using a local H2 database file
```
java -jar target/jbpm-xes-1.0.0-SNAPSHOT-jar-with-dependencies.jar -driver org.h2.Driver -user sa -password sa -url jdbc:h2:file:./spring-boot-jbpm -process evaluation -file jbpm.xes
```### Example using MySQL database
```
java -jar target/jbpm-xes-1.0.0-SNAPSHOT-jar-with-dependencies.jar -driver com.mysql.jdbc.Driver -user jbpm -password jbpm -url jdbc:mysql://localhost/jbpm -process evaluation -file evaluation.xes
```## Feedback
Feel free to open issues if you face any problems using this tool, we would love to help you in your process mining journey!