Skip to content

DecisionToolkit/dsntk-java-server

dsntk | ÐecisionToolkit

Java RPC server

MIT licensed Apache 2.0 licensed Contributor Covenant

Overview

The DMN™ specification defines functionality that allows calling externally defined functions, including those implemented in Java. More details can be found in the official specification under the chapter "Externally-defined functions". Since ÐecisionToolkit is implemented in Rust, invoking Java functions requires a Remote Procedure Call (RPC) server. This project provides a Java implementation of such an RPC server.

Installation

The RPC server for Java can be downloaded from releases, built from source or run in Docker container.

Building from source

  1. Install Java 21.
  2. Install Maven.
  3. Clone this repository.
  4. Build the server:
mvn package

The server-1.0.0.jar can be found in ./target directory

Starting the server

java -jar server-1.0.0.jar

Docker container

Docker container can be built and run using prepared script file:

./scripts/container.sh

After building, the new container is started and ready to accept requests. Try:

curl http://127.0.0.1:22023/api/rest/v1/system/info

The output should look like this:

{"data":{"name":"Java RPC server for ÐecisionToolkit","version":"1.0.0"}}

To get a pretty-printed JSON, try:

curl -s http://127.0.0.1:22023/api/rest/v1/system/info | jq

Expected output:

{
  "data": {
    "name": "Java RPC server for ÐecisionToolkit",
    "version": "1.0.0"
  }
}

Endpoints

License

Licensed under either of

at your option.

Contribution

Any contributions to dsntk-java-server are greatly appreciated. All contributions intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.

About

ÐecisionToolkit | Java RPC server

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE
MIT
LICENSE-MIT

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors