Low Code DSL
The Joule platform provides a low code solution through the a Domain Specific Language (DSL) that defines use cases using human-readable yaml syntax.
Joule Domain Specific Language
This forms the key platform low code approach
Four functionally independent definitions form the Joule use case. These are outlined below with accompanying detailed documentation in further articles.
Use case definition
Use cases are declared by defining source data requirements, processing pipeline, and output requirements. Read the use case definition documentation for further information.
Example
The below example creates the min/max values for ask and bid values within a five-second tumbling window and only publishes symbols where they are not 'A'.
Data subscription
Users are able to subscribe to external data events through the use of source connectors. For a detailed understanding of how to subscribe to data read the data subscription documentation and for a complete list of available connectors go to the sources catalog.
Example
The below example connects to a Kafka cluster, consumes events from the quote topic and transforms the received quote object into an internal StreamEvent object.
Event publishing
Users are able to publish events to downstream data platforms through the use of destination connectors. For a detailed understanding of how to publish data read the event publishing documentation and for a complete list of available connectors go to the destinations catalog.
Example
The below example generates a quoteWindowStream.csv
file from the tumblingWindowQuoteStream
events.
Reference data
Often in stream processing additional data is required to perform analytics, generally known as reference data. Data of this form generally updates at a much slower pace and therefore is managed differently and held in data platform not architected for low latency reads. Joule has build a low latency read mechanism to overcome this limitation using in-memory caching. Further information can be found in the reference data documentation.
Example
The below example connects to a distributed caching platform, Apache Geode, for a low latency reference data reads.
Last updated