

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


Features to accelerate use case development
Platform designed to accelerate use case impact by reducing time to design, build, pilot and deploy
Latest release notes
Ingest
from sources

Real-time
pipeline processing
Defined by low code DSL

Deliver
streaming intelligence
Using standard or custom formats

Pre-built or custom connectors

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...

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
Metrics Engine
In-memory SQL compliant metrics engine for advance analytics calculations, features or alert based triggers
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,.
Event Windows
Tumbling and sliding windows functions are supported either through number of events or time
More to come...

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


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

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
Custom processors are created using a single event based API.

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

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

Flexible
deployment model
You choose where to deploy

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
