The purpose of the workflow catalog is to store ProActive workflows.
A workflow catalog is subdivided into buckets.
Each bucket manages zero, one or more versioned ProActive workflows.
You can build a WAR file as follows:
$ gradle clean build war
Then, you can directly deploy the service with embedded Tomcat:
$ java -jar build/libs/workflow-catalog-X.Y.Z-SNAPSHOT.war
The WAR file produced by Gradle can also be deployed in the embedded Jetty container started by an instance of ProActive Server.
Available resources can be listed and tested with Swagger:
Below are some REST invocations using HTTPie.
Creating a new bucket named test:
$ http -f POST http://localhost:8080/buckets name=test
Getting information about bucket with identifier 1:
$ http http://localhost:8080/buckets/1
Listing available buckets:
$ http http://localhost:8080/buckets
Listing available buckets targeting page 42:
$ http http://localhost:8080/buckets?page=42
REST actions related to existing workflows apply to the latest revision of the identified workflow.
Adding a new workflow in bucket with identifier 1:
$ http -f POST http://localhost:8080/buckets/1/workflows file@/path/to/workflow.xml
Getting workflow metadata for workflow with identifier 1 in bucket with id 1:
$ http http://localhost:8080/buckets/1/workflows/1
Fetching workflow XML payload for workflow with identifier 1 in bucket with id 1:
$ http http://localhost:8080/buckets/1/workflows/1?alt=xml
Listing workflows managed by bucket with identifier 1:
$ http http://localhost:8080/buckets/1/workflows
Adding a new workflow revision for workflow with identifier 1 in bucket with id 1:
$ http -f POST http://localhost:8080/buckets/1/workflows/1/revisions file@/path/to/workflow.xml
Getting workflow metadata for workflow with identifier 1 and revision 1 in bucket with id 1:
$ http http://localhost:8080/buckets/1/workflows/1/revisions/1
Fetching workflow XML payload for workflow with identifier 1 and revision 1 in bucket with id 1:
$ http http://localhost:8080/buckets/1/workflows/1/revisions/1?alt=xml
Listing all revisions for workflow with identifier 1:
$ http http://localhost:8080/buckets/1/workflows/1/revisions