Java SDK for iWF workflow engine
See samples for how to use this SDK to build your workflow.
Here is the link to all the versions on Maven available to use. It gets replicated from staging repo after 30-60 minutes.
Also the Java docs for the latest version. For the latest version, MVN Repository website may have 1~2 days delay to show up.
// https://mvnrepository.com/artifact/io.iworkflow/iwf-java-sdk
implementation 'io.iworkflow:iwf-java-sdk:2.5.+'
<!-- https://mvnrepository.com/artifact/io.iworkflow/iwf-java-sdk -->
<dependency>
<groupId>io.iworkflow</groupId>
<artifactId>iwf-java-sdk</artifactId>
<version>2.5.+</version>
<type>pom</type>
</dependency>
To implement a workflow, the two most core interfaces are
Workflow interface defines the workflow definition
WorkflowState interface defines the workflow states for workflow definitions
A workflow can contain any number of WorkflowStates.
See more in https://github.com/indeedeng/iwf#what-is-iwf
git submodule update --init --recursive
Run the command git submodule update --remote --merge
to update IDL to the latest commit
.github/workflows/
: the GithubActions workflowsiwf-idl/
: the idl submodulescript/
: some scripts for GithubActions and testingsrc/
: Java source code
main/java/io/iworkflow/core/
: SDK code
command/
: the command implementationcommunication/
: the communication implementationmapper/
: the mapper with IDLpersistence/
: the persistence implementationvalidator/
: some validatorsClient.java
: the client implemntation...java
…test/java/io/iworkflow/
: Java test code (currently only integ test)
spring/
: the integ test setup of using Spring as REST controllerinteg/
: the integration tests
XyzTest.java
: a file for test casesxyz/
: the iWF workflow implementation for the integration test casesstart
/decide
APIs and completing workflow