Welcome to Chimera
Chimera is an engine for executing fragment-based case models, an approach that allows for modelling flexible business processes. It is developed and maintained by the Business Process Technology (BPT) group at the Hasso Plattner Institute (HPI).
Chimera is not a modeling tool for case models! Creation and deployment of case models is handled by the Gryphon case modeler also available at GitHub.
Features of Chimera
- Execution of BPMN2 models based on data dependencies
- Integration to external events via the Complex Event Processing engine Unicorn
- Usage of external APIs via webservice tasks
The easiest way to try out Chimera is using the publicly available instance at
https://bpt-lab.org/chimera-demo, which contains several exemplary case models demonstrating the features of Chimera. Please refer to the user guide on how to start and enact cases.
The following instructions will get the Chimera case engine up and running on your local machine.
The following software is necessary to build and run Chimera:
Java 8 JDKavailable from Oracle. Make sure that the environment variable
JAVA_HOMEpoints to your JDK folder (e.g. like this).
Apache Tomcat 7or newer, available here.
MySQL 5.7 Server, available here. For your convenience, you can download the installer (direct link) and install MySQL Server, MySQL Notifier, MySQL Workbench, and Connector/J.
git, available here, to access the code repositories.
Apache Maven 3, available here.
- Checkout out the source code from github. From the command line you can run
git clone https://github.com/bptlab/chimera.gitto download the repository to your machine.
- Start your MySQL server and create a database, either using the MySQL Workbench or from the command line:
mysql -u USER_NAME -p PASSWORD -e "create schema SCHEMA_NAMEwhere
SCHEMA_NAMEshould be something like 'chimeradb'.
- Similarily, create a second database to be used for running test cases and name it something like 'chimeradb_test'.
- Build the source code using Maven:
mvn install -Ddb.user=USER_NAME -Ddb.password=PASSWORD -Ddb.schema=SCHEMA_NAME -Ddb.test.schema=TEST_SCHEMA_NAME -DskipTestsReplace USER_NAME, PASSWORD, SCHEMA_NAME, and TEST_SCHEMA_NAME with the values from the previous steps.
- Check whether the configuration file
config.propertieswas copied to the main directory and whether the variables (
mysql.passwordetc.) have been replaced correctly.
- Deploy the created war file
target/Chimera.warto Tomcat by copying it to the webapps folder in your Tomcat installation.
- Alternatively, use
mvn tomcat7:deploy -DskipTestsfrom the command line to automatically deploy the war file. Note however, that you need to configure your Tomcat credentials as described in this article.
- Alternatively, use
- Start your Tomcat application server and visit http://localhost:8080/Chimera in your browser, replacing the default port 8080 with the one you configured in Tomcat. You should now be able to see the Chimera frontend.
Creating & Deploying Case Models
Now that you have the Chimera case engine running, you probably want to execute some case models. To create case models and deploy them into Chimera you will need the Gryphon Case Modeler.
To manually start a new case select the case model from the left menu and click on the green
Start Instance button.
This will open the case view. Enabled activities are displayed on the right; you can begin an activity by clicking on its name.
If the activity has a data pre-condition you will need to select a data object on which it operates.
Running activities are displayed in the middle. You can terminate them by clicking on the checkmark symbol. This will open a modal dialog, which allows to terminate the activity and set state and values of a potential output data object.
For further information check the Chimera user guide.
Chimera offers two main deployment options: 1) using a Java Servlet container like Apache Tomcat, 2) using a Docker image.
Deploying to a Servlet container
This was already described in the installation section. If you deploy the war file to a remote server, you need to make sure, that a MySQL server is running with the configured database schema.
⚠️Deployment was only tested with Apache Tomcat
Deploying Docker image
Dockerfile in the main directory of the project repository to create a docker image.
To start the image in a container follow the instructions in the wiki.
Up to date docker images of the Chimera case engine are also hosted on our dockerhub.
You can pull these images with
docker pull bptlab/chimera.
TODO: connect with MySQL container
Developing & Deploying with Docker/Compose
To simplify the local development workflow, you can make use of the
Todo: mention requirements for this approach.
- Maven build:
- Local tomcat release:
make release_local(requires Tomcat and Unix)
- Docker build + deploy:
make docker(update docker tag in
You want to help us? Great
Please check out Contributing.md for information how you can contribute to the Chimera project, including templates for bug reports, feature suggestions, and pull requests. For in-depth information about the architecture and the individual components of Chimera, the developer documentation in the wiki is the best starting point.
The Chimera case engine is provided under the MIT free and open source software license - see LICENSE.md for details.