Low code development
Joule is a low code development platform designed to ideate, pilot and scale business use cases
Last updated
Joule is a low code development platform designed to ideate, pilot and scale business use cases
Last updated
The Joule platform offers a low-code development solution that simplifies coding complexity by using a high-level language. This is accomplished through the Joule DSL (Domain-Specific Language), which enables the definition of use cases using human-readable YAML syntax.
This forms the key platform low code approach
A use case is defined by combining source data requirements, processing pipeline, and output destinations into a single cohesive definition.
Each use case dependency is linked using a logical name which exists within an independent file.
This results in a single use case definition
Four functionally independent definitions form the Joule use case. These are outlined below with accompanying detailed documentation in further articles.
A stream defines the actual processing requirements and sequence. See the pipelines documentation for further information.
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'.
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 and available connectors read the data sources documentation.
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.
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 and available connectors read the data sinks documentation.
The below example generates a quoteWindowStream.csv
file from the tumblingWindowQuoteStream
events.
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 contextual data documentation.
The below example connects to a distributed caching platform, Apache Geode, for a low latency reference data reads.