Joule

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

Solution Enablement

Many of todays use cases such as fraud detection, personal information masking, payment processing, customer experience, infrastructure management rely in some part on real-time stream processing

By putting contextual intelligence and insight in to the hands of end users when they need it can be the difference whether businesses succeed or fail

The Joule platform provides developers with an extensible toolkit to build use cases at pace

Call centres

Geospatial

Analytics

Customer

Experience

Marketing

Location based Marketing

Upselling

Connected

Data

Enterprise

applications

Data 

Security

Data 

preparation

KPIs

Sevice

Dashboards

Prediction

Anomaly

detection

Offline

analytics

Infrastructure

planning

Infrastructure Management

Edge

Analytics

Device management

Location Based

Marketing

Use real time customer customer location data to provide location-aware marketing. Through the use of customer mobile event data, opt-ed in customers can take advantage of targeted marketing campaigns based upon their personal habits as they enter the venue

Predictive Infrastructure

Planning

Optimise infrastructure capacity by applying geospatial analytics with respect to utilisation and demand. Through the use of anonymised mobile location data and historical trend modelling you can predict infrastructure capacity requirements at a point in time and therefore manage capacity dynamically

Service

Dashboards

Monitor core platform services using a realtime Healthwatch dashboard feed with streaming metrics and alert signals. Edge nodes perform local window analytics (sliding/tumbling), KPIs, anomaly detection and alerting for the centralised aggregation engine and dashboard views

Proactive Customer

Experience

Be alerted, be proactive and act upon customer service failures before they contact you. Build a dynamical customer experience view by correlating live service streams with historical trends and customer profiles to inform next best actions

Data

Security

Addressing privacy concerns related to processing of Personally Identifiable Information (PII) is a key concern when dealing with consumer data.Through the application of a repeatable obfuscation process using event opt-out filtering, encryption and obfuscation at point of system entry demonstrates compliance adherence and facilitates multiple uses of the core data sets

Anomaly

Detection

Apply advanced analytics at the edge to detect feature anomalies to achieve improved service availability. By reducing the anomaly detection latency window the ability to respond, rectify and recover cycle is shortened to the point where intelligent automation is employed

Platform Overview

Joule is a scalable streaming event processing platform designed to be deployable on low powered IoT on-device, cloud or hybrid environments. It leverages a combination of lightweight messaging, on device analytics, small memory and dependency footprint by taking advantage of a combination of mature and modern technologies

Developers can define, deploy and pilot business use cases at pace with minimal effort using:

  • Joule Use Case Domain specific language (DSL)

  • Reusable processors

  • Standard endpoint integrations

  • Java SDK to extend platform capabilities

  • Modern deployment models; Cloud, Docker and Kubernetes

 

 

Note: At time of writing the platform monitoring solution is based on Java JMX. A Joule process provides specific counters for each building block to for visibility in to each stage of the processing pipeline

Key Features

Low Code

Uses cases are defined using the Joule DSL, a human readable domain specific language. The language is designed to be intuitive and declarative while being extendable with custom components using the Joule SDK

Analytics

Analytics are performed within stream to reduce time to insight. Analytics might be as simple as ticking KPIs or real-time scoring using machine learning models. Event windows (tumbling and sliding), feature engineering, and analytic function SDK are supported

Processors

Event processing is the core feature of platform reusability and extensibility. Use cases are defined by a processing unit, a set of processors that form a logical sequence of processing steps. As an example,  processing steps would include event filtering, enrichment, masking, encryption, analytics, custom scripts and processors

Transports

Out of the box Joule provides a comprehensive collection of transports to reduce integration effort. Platforms such as NoSQL, S3 object stores, traditional databases and event messaging are supported with more to come

SDK

Joule provides a software development kit for custom platform extensions. The SDK provides the ability to define new processors, transports, analytic functions and much more

Deployment

Joule has been designed to be platform agnostic. Whether you need to deploy locally, on-premise or on cloud. Joule is packaged as a Docker container to ease deployment configurations or as a standalone binary

Low Code

Joule's core design principle is to provide a low code use case platform. The aim is to reduce time to develop use case, reuse assets and to promote accelerated time to impact

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

  • Use case processing pipeline

  • Reference data stores for event enrichment

  • Data selection, grouping, and formatting

  • Transports for event subscription and publishing

- 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

 

Processors and Analytics

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 

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 

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

 

Transports

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

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

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

 

Joule SDK

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

 

The API is ​designed for each platform function needs and is kept as simple and flexible as possible

Processor API

  • Custom processors are created using a single event based API.

 

Analytics API

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

Transport API

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

More

  • And there is much more to the Joule SDK

KPIs

Feature

Engineering

Transports

Processors

Analytics

Filters

Rules

Transformers

Serializers

Codecs

 
 

Flexible deployment

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

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

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

Powered by

 

Sign up for private beta

Learn more about FractalWorks realtime IoT platform and capabilities by joining the private beta program

Contact us

t: +44 7399 487774‬

a: London, UK

Follow Us
  • Twitter
  • LinkedIn

Latest Posts

4th Jan 2021

AI and ML in FP&A – Two Case Studies

5th Nov 2020

4 Key Steps to Being an Analytics Driven Organisation

20th Oct 2020

Catch them if you can: How leaders in data and analytics have pulled ahead

19th September 2019

Bigger Data, Better Data

4th May 2018

© 2020 FractalWorks Limited, All Rights Reserved