What is the KIe Server Manager Client?
It is a tool to manage containers from a given Kie Server, manage its process and send Drools commands to it. For further information regarding Kie Server, please see this article in Master the Boss:
Running Rules on WildFly with Kie Server
The following screenshots were taking from the tool and a video was recorded:
|Building commands to send to the server|
|Importing existing containers|
How do I run it?Currently it is a tool for more technical people, so I did not bother to create distribution packages or provide further non technical instructions. To run it you need:
- Maven 3+
- Java 8u60+
- Download the source on this link: https://github.com/jesuino/kie-server-clients
- Download the zip directly and unzip in some directory
- Clone the repository using git clone firstname.lastname@example.org:jesuino/kie-server-clients.git
- Go to the project repository and then kie-server-fx-app
- Run maven exec:
- $ mvn exec:java -Dexec.mainClass="org.fxapps.App"
The first run might take a while because it will download all the dependencies.
This application uses JavaFX and Java 8. The Kie Server client API is used to communicate with the server and the requests are performed asynchronously.
It is possible to create and dispose containers. It is also possible to export the whole set of containers to be imported later again.
Process Definition explorer
It is possible to see details about each process available in a given container.
The tool allows you to send Drools commands to a given container using a text editor with validation. The response is also displayed in a text format.
Process Instance Management
Using Kie Server Manager client we can list the process instances, abort and send signal.
Export objects in multiple objects
The following features are missing in this release;
Improve Start process
It will be only implemented for jBPM 6.4 because we will have the functionality of embedding forms in our application and it will make easy to start processes and pass the correct parameters. Currently we can only start processes without passing parameters
Support domain objects
Currently it is possible to send a signal to a specific process instance or to the container and run rules. However, it is not possible to fill it with custom domain object. The future application should allow users to upload model artifacts in order make easy the payload creation
User Tasks management
Only tasks definitions are implemented in this version. In next release it should be possible to manage user tasks(start, claim, cancel, etc. The reason is that we are also waiting from the jBPM functionality mentioned previously.
Jobs are not implements and it will be available in a future version as well.
Currently it is not possible to make automatic marshall of custom objects to be used internally in commands and we must edit the command JSON directly. A feature that should be possible in future releases is the command builder, where you can set fields using the interface and avoid editing the JSON payload directly. It depends on domain objects support
It will also be possible to achieve when jBPM 6.4 is released. Process diagram will be included for definitions and processes instances.
Add a more sophisticated query screen, with more query options to query processes and other things.
Process Instances variables
Add the functionality to edit process instance variables.