Automatiko 0.20.0 released

Handling errors for messages, interoperability between workflow formats

Posted by Automatiko team on October 27, 2022 · 4 mins read

We are pleased to announce a new release of Automatiko - 0.20.0

Highlights

  • Publishing messages with error handling
  • Interoperability between workflow formats
  • Serverless workflow image generation aligned
  • Apache Camel support for workflow Java DSL
  • Process management UI runs in offline mode
  • Process management UI allows to open workflow and workflow instance in new window

Publishing messages with error handling

Publishing messages from a workflow relies on microprofile reactive messaging and by that is done in async way (from workflow execution point of view). This could lead to lost messages in case of failures as workflow instance was not waiting for message acknowledge. This has been improved in 0.20.0 release so now workflow instance will be put into an error state in case of errors of message publishing. This will allow administrators to retrigger the failed instance which will result in publishing the message again.

Interoperability between workflow formats

Automatiko supports different types of workflow formats:

  • BPMN2
  • Serverless Workflow
  • Workflow Java DSL
essentially all these formats are capable to describe workflow and they are used in different contexts. 0.20.0 release brings in interoperability between these formats to smoothly interact via subworkflow/call activity construct.

This allows to call different format of workflows without much of a hassle. For instance BPMN2 workflow can call Serverless Workflow via call activity and the data is automatically transformed. BPMN2 relies on java types while Serverless Workflow relies on Json objects. The same can be done the other way around - Serverless Workflow invokes BPMN2 workflow via sub workflow action. Last but not least workflows built with Java DSL can also be easily invoked from any of them.

Serverless workflow image generation aligned

Serverless workflow image genration has been reimplemented to align with BPMN and workflow Java DSL images. This brings a complete alignment from runtime perspective that illustrates all workflows (regardless how they were defined) to look exactly the same.

Serverless Workflow image for Java DSL Serverless Workflow image for Java DSL.

In addition to that, Serverless Workflow images now will show much more information than before as it will include information about actions and not just states as it was until now.

Apache Camel support for workflow Java DSL

Java workflow DSL allows now to easily integrate with Apache Camel for integration scenarios.

Apache camel with workflow Java DSL

  @Workflows
  public class CamelWorkflows {

      public WorkflowBuilder fileWorkflow() {

          WorkflowBuilder builder = WorkflowBuilder.newWorkflow("camel",
                  "Sample workflow that uses Apache Camel for integration with other systems")
                  .dataObject("file", ByteArrayFile.class, Variable.INTERNAL_TAG);

          builder.startOnMessage("file from folder").connector("camel")
                  .endpointUri("file:target/documents/?include=.*\\\\.txt&noop=true")
                  .toDataObject("file")
                  .then().log("File processed", "Here is a file {}", "file")
                  .then().end("Done");

          return builder;
      }
  }

Process management UI runs in offline mode

Process management UI has been updated to be completely offline, meaning there is no need to have internet access to fetch style sheets and js files to operate with UI. This applies to all modes of the Automatiko service including native image.

Process management UI allows to open workflow and workflow instance in new window

Process management UI allows to open workflow image and workflow instance image (annotated with completed and active nodes) in new window which allows to have a higher quality image to look at. User registration workflow definition image for Java DSL Process Managment UI - open in new window

Photographs by Unsplash.