transparent-logo-v4.png
programming_edited.png

Low Code

use case language

Define declarative use cases

Uses cases are developed and deployed using a human readable configuration files based on YAML syntax. The Joule DSL has four distinct functional definitions

Connect to data sources

Using out-of-the-box connectors or build your own 

Define a processing pipeline

Perform filtering, enrichments, analytics and much more

Build a data view

Define a data project using aggregates, grouping and field selection

Publish the intelligence

Use standard data formats (Json, CSV, Parquet) and publish using pre-build connectors

- enricher:

     enrich:

        deviceType:

            key: device

            using: deviceStore

         bundles:

            key: dataBundle

            using: dataBundleStore

- obfuscation:

      name: imsiMasking

      fields:

         imsi:

            rsaEncryption:

              salt: 54ad934b14a6b0b888e72c9186489e26

              keyLocation: ./keytmp

              keyLength: 512

              refreshKeys: true

 
joule-icon.png

Joule

Features to accelerate use case development

Platform designed to accelerate use case impact by reducing time to design, build, pilot and scale

Ingest
from sources

server_edited.png

Real-time
pipeline processing

Through our low code DSL

filter_edited.png

Deliver 
streaming intelligence

Using standard or custom formats

strategy_edited.png

Pre-built or custom connectors

processor.png

Pre-built

use case processors

Applied real-time stream processing for user defined processing pipelines

Obfuscation

Personal Identifiable Information can be de-identified through the use of encryption, masking or bucketing

Enrichment

Enrichment of streaming events with external data is supported through the use of a low-latency data caching platform 

Rules

Dynamic rule processing using streaming events is supported using a JSR 94 standard library 

Filtering

Filtering event based upon a user configurable criteria or a via an expression. E.g. drop events with missing data, opt-out, out of range etc,.

Change Data Capture

Event based change data capture is supported to reduce computation overhead and alert on key event changes 

More to come...

 
bar-chart.png

Analytics

Perform advanced analytic functions over streaming events

Predictive

Predictive analytics are supported using PMML models and feature engineering. Models can be refreshed without process restarts

Geospatial

Apply location aware analytics through the use of user defined geofences. E.g. use cases include location density awareness , infrastructure traffic flow management, real-time marketing etc,.

Live KPIs

Event processing is applied in-stream at time of ingestion. Processing can trigger alerts 

Event Windows

Tumbling and sliding windows functions are supported either through number of events or time

More to come...

 
connector.png

Pre-build

Connectors

Connect to data links in minutes

Messaging

Event publishers and subscribers are provided using standard messaging protocols AMQP and MQTT over TCP/IP 

Out of the box event serializers are provide to ease event subscriptions and downstream platform integrations

kafka.png
mosquitto.png

NoSQL

Low latency event enrichment and global KPIs are supported through the use of a distributed in-memory caching platform​

Document and time series event stores are natively supported using vendor specific integrations

Apache_Geode_logo.png
mongodb.png

Object Stores

Big data offline analytics is supported through Minio S3 implementation. Events are batched and stored natively as Apache parquet files

GCP, AWS and Azure cloud storage platforms are supported through the configuration of gateway technologies

minio.png
 

Build

custom capabilities

Extend platform capabilities by building reusable components

Joule Java SDK provides the ability to extend and customise the platform to your needs

processor.png

Processor

Custom processors are created using a single event based API.

bar-chart.png

Analytics

Stateful and stateless, window based analytics, feature engineering API's are provided

connector.png

Connector

Consumer, publisher, transformation, and serialization API's are provided

 
sdk.png

Flexible

deployment model

You choose where to deploy

cpu.png

Device

Apply edge intelligence to modify device behaviour or publish alerts to a centralised service for next actions

 

Leverage edge compute to achieve a low latency processing environment and low message overhead

cloud-computing.png

Cloud

Need to scale, deploy Joule as a Docker image in to a Kubernetes cluster on the cloud

Use the power of federated edge compute and centralised intelligence to build advanced use cases

cloud-service.png

Hybrid

You decide how to deploy Joule, either as a docker image, as a packaged binary or both

Choose a deployment model that suits your operational and environment needs

 
inclined-rocket.png

Join the community to help make use case delivery a simpler 

Be a contributor

Contribute, open issues, request features and vote on them

gitlab-icon-rgb.png

Become a member

Join us on our team chat and get involved

Slack_Mark_Web.png
track_edited.png

Roadmap

Check out how the product will evolve over the next year