top of page

Joule Platform

The next generation low code use case platform

Joule is a Low Code use case platform designed to deliver business impact at pace by reducing time to design, build, pilot and scale. This is all achieved through the use of a well defined use case language (DSL), reusable event processors, OOTB integrations with key 3rd party solutions and extensible platform toolkits.

The platform architecture is based upon event based stream processing. After many years designing, developing, testing and deploying distributed event based platforms experience dictated and directed the solution. The result is a modular platform with minimal external dependencies which is extendable based upon use case need. All extraneous functions and overhead has been minimised where possible. This approach promotes the idea of keeping the solution as simple as necessary, leveraging what is useful and build testable custom components where needed.

Joule Architecture

Key features

  • Low code DSL to easily define use cases

  • Event processors (i.e. encryption, filtering, enrichment, prediction, geospatial, rules engine, change data capture, etc,.)

  • Pluggable reference data (i.e. Apache Geode distributed cache solution OOTB implementation)

  • OOTB key product integrations (i.e. Kafka, RabbitMQ, Mosquitto, Minio, Drools, InfluxDB, etc,.)

  • Java SDK for custom processors and transports

  • Flexible deployment model using either Docker containers or bare metal installations

  • Low latency high throughput stream processing environment.

Use cases

The Joule DSL is used to define use cases. A use case definition is composed of event sources, processing pipeline, event field projection, output format and transports. The platform is packaged with a suite of reusable processors, formatters, and transport integrations to accelerate use case development. Joule also ships with a Java SDK to support custom codec, processor and transport development.

Since reference data is typically a key requirement for any valuable stateless event processing an OOTB distributed in-memory cache solution is provided. The solution consists of local and distributed key value caching including:

  • Get Initial Image at process startup which primes both the local and distributed caching cluster; remove I/O overhead during critical event processing paths

  • Simple key and OQL query interface

  • Postgres integration for cache misses and offline data persistence

The packaged solution is built using Apache Geode as the distributed caching platform. For further details feel free to contact us.

An additional benefit of the Joule architecture is the ability to form complex solutions by deploying a use case DAG (lightweight microservices architecture), through the use of a messaging platform. Although this is somewhat obvious its worth pointing as it promotes use case reuse, modularity and testability.

Example complex use case

The example above represents a simple use case DAG where processing could be split across environments due to compliance requirements, events initiate within the DMZ environment. Each orange box is an independent use case process. Process chaining is achieved through the application of event subscription, Joule applies the PubSub model to all processing. The distributed cache provides the required reference data (i.e. opt-in and opt-out, enrichment etc,.).

Getting started

To get started, download the following resources to prepare your environment and work through the provided documentation. Feel free to reach out with questions.

  • Get the latest Joule docker image from docker hub

  • Download the examples code from GitLab

  • Work through the README file

We’re Here to Help

Feedback is most welcome including thoughts on how to improve and extend Joule and ideas on exciting use cases.

You’re in this with the entire FractalWorks community, who’s openly sharing ideas, best-practices and helping each other on our Community Forum. Feel free to join us there! And if you have any further questions on how to become a partner or customer of FractalWorks, do not hesitate to engage with us, we will be happy to talk about your needs.

115 views0 comments

Recent Posts

See All


bottom of page