We are pleased to announce a new release of Automatiko - 0.12.0
Additional messaging provider has been added to Automatiko that allows to use HTTP endpoints as source and target to receive and publish messages. It works in the same way as any other messaging connector in Automatiko and opens up a simple integration with HTTP based services. It supports both incoming and outgoing messages. All required details can be found in Automatiko documentation.
Automatiko supported Serverless Workflow specification from the very beginning but it was rather basic support. It ended at 0.6 version of the specification. With 0.12.0 release it has been completely reworked to enable implementation of majority or all features of the specification. This means that now it supports 0.8 version of the spec and latest version of the SDK.
Serverless Workflow support in Automatiko covers following states
Please note that not all features of states are yet supported and more detailed documentation about support will be published soon.
At the same time, Automatiko comes with really simple way to get you started with Serverless Workflows by following 3 simple steps
workflows
hello.sw.json
docker run -v $(pwd):/app/src/main/resources/workflows -p 8080:8080 -it --rm automatiko/development-container:latest
Here is a short video showing this in action
Have a look at Getting started guide for more information about Serverless Workflow use in Automatiko.
Cloud Event specification becomes more and more popular as a format of the data being exchanged between systems and services. Automatiko comes with out of the box support for it - including specific bindings for various protocols:
quarkus.automatiko.messaging.as-cloudevents
must be set to true
.
It is set by default for Serverless Workflow based workflow definitions.
Working with messaging infrastucture sometimes requires systems and services to filter out or ignore certains messages.
To make it simple, Automatiko introduces a filtering mechanism based on expressions. This can be provided to the runtime
via custom attribute of the message event (filterExpression
) and it is expected to be a valid expression or function.
Such expression can reference following variables:
eventData
- the payload of the message already converted to actual objectmessage
- raw message object that is specific to messaging connector used e.g. Kafka, MQTT etcfilterExpression
must return boolean
value where true
means the message will be processed
and false
means the message will be ignored (but acknowledged).
Photographs by Unsplash.