· announcement · 3 min read
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.

Introduction
Joule is designed using an event-based stream processing architecture shaped by years of real-world experience designing and deploying distributed real-time event platforms. This practical foundation has led to a modular, extensible design with minimal external dependencies, purposefully designed to deliver only what each use case requires, with maximum efficiency and minimal overhead.
Joule achieves this through a well-defined domain-specific language (DSL), reusable event processors, out-of-the-box integrations with key third-party systems, and extensible platform toolkits.
Key features
- Low code DSL to easily define use cases
- Event processors covering encryption, filtering, enrichment, prediction, geospatial, rules engine, change data capture, and more
- Pluggable reference data using Apache Geode distributed cache solution OOTB implementation
- OOTB key product integrations for Kafka, RabbitMQ, Mosquitto, Minio, Drools, InfluxDB, and more
- 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
We have tailored a tutorial for anyone who wants to learn how to use Joule. The tutorial covers how to set up your environment, walk through building a use case and the deploy process.
The tutorial can be found here within the Joule documentation.
We’re here to help
Feedback is most welcome including thoughts on how to improve and extend Joule and ideas for exciting use cases.
Join the FractalWorks Community Forum, who openly share ideas, best practices and support each other. 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.



