Joule
  • Welcome to Joule's Docs
  • Why Joule?
    • Joule capabilities
  • What is Joule?
    • Key features
    • The tech stack
  • Use case enablement
    • Use case building framework
  • Concepts
    • Core concepts
    • Low code development
    • Unified execution engine
    • Batch and stream processing
    • Continuous metrics
    • Key Joule data types
      • StreamEvent object
      • Contextual data
      • GeoNode
  • Tutorials
    • Getting started
    • Build your first use case
    • Stream sliding window quote analytics
    • Advanced tutorials
      • Custom missing value processor
      • Stateless Bollinger band analytics
      • IoT device control
  • FAQ
  • Glossary
  • Components
    • Pipelines
      • Use case anatomy
      • Data priming
        • Types of import
      • Processing unit
      • Group by
      • Emit computed events
      • Telemetry auditing
    • Processors
      • Common attributes
      • Filters
        • By type
        • By expression
        • Send on delta
        • Remove attributes
        • Drop all events
      • Enrichment
        • Key concepts
          • Anatomy of enrichment DSL
          • Banking example
        • Metrics
        • Dynamic contextual data
          • Caching architecture
        • Static contextual data
      • Transformation
        • Field Tokeniser
        • Obfuscation
          • Encryption
          • Masking
          • Bucketing
          • Redaction
      • Triggers
        • Change Data Capture
        • Business rules
      • Stream join
        • Inner stream joins
        • Outer stream joins
        • Join attributes & policy
      • Event tap
        • Anatomy of a Tap
        • SQL Queries
    • Analytics
      • Analytic tools
        • User defined analytics
          • Streaming analytics example
          • User defined analytics
          • User defined scripts
          • User defined functions
            • Average function library
        • Window analytics
          • Tumbling window
          • Sliding window
          • Aggregate functions
        • Analytic functions
          • Stateful
            • Exponential moving average
            • Rolling Sum
          • Stateless
            • Normalisation
              • Absolute max
              • Min max
              • Standardisation
              • Mean
              • Log
              • Z-Score
            • Scaling
              • Unit scale
              • Robust Scale
            • Statistics
              • Statistic summaries
              • Weighted moving average
              • Simple moving average
              • Count
            • General
              • Euclidean
        • Advanced analytics
          • Geospatial
            • Entity geo tracker
            • Geofence occupancy trigger
            • Geo search
            • IP address resolver
            • Reverse geocoding
            • Spatial Index
          • HyperLogLog
          • Distinct counter
      • ML inferencing
        • Feature engineering
          • Scripting
          • Scaling
          • Transform
        • Online predictive analytics
        • Model audit
        • Model management
      • Metrics engine
        • Create metrics
        • Apply metrics
        • Manage metrics
        • Priming metrics
    • Contextual data
      • Architecture
      • Configuration
      • MinIO S3
      • Apache Geode
    • Connectors
      • Sources
        • Kafka
          • Ingestion
        • RabbitMQ
          • Further RabbitMQ configurations
        • MQTT
          • Topic wildcards
          • Session management
          • Last Will and Testament
        • Rest endpoints
        • MinIO S3
        • File watcher
      • Sinks
        • Kafka
        • RabbitMQ
          • Further configurations
        • MQTT
          • Persistent messaging
          • Last Will and Testament
        • SQL databases
        • InfluxDB
        • MongoDB
        • Geode
        • WebSocket endpoint
        • MinIO S3
        • File transport
        • Slack
        • Email
      • Serialisers
        • Serialisation
          • Custom transform example
          • Formatters
        • Deserialisers
          • Custom parsing example
    • Observability
      • Enabling JMX for Joule
      • Meters
      • Metrics API
  • DEVELOPER GUIDES
    • Setting up developer environment
      • Environment setup
      • Build and deploy
      • Install Joule
        • Install Docker demo environment
        • Install with Docker
        • Install from source
        • Install Joule examples
    • Joulectl CLI
    • API Endpoints
      • Mangement API
        • Use case
        • Pipelines
        • Data connectors
        • Contextual data
      • Data access API
        • Query
        • Upload
        • WebSocket
      • SQL support
    • Builder SDK
      • Connector API
        • Sources
          • StreamEventParser API
        • Sinks
          • CustomTransformer API
      • Processor API
      • Analytics API
        • Create custom metrics
        • Define analytics
        • Windows API
        • SQL queries
      • Transformation API
        • Obfuscation API
        • FieldTokenizer API
      • File processing
      • Data types
        • StreamEvent
        • ReferenceDataObject
        • GeoNode
    • System configuration
      • System properties
  • Deployment strategies
    • Deployment Overview
    • Single Node
    • Cluster
    • GuardianDB
    • Packaging
      • Containers
      • Bare metal
  • Product updates
    • Public Roadmap
    • Release Notes
      • v1.2.0 Join Streams with stateful analytics
      • v1.1.0 Streaming analytics enhancements
      • v1.0.4 Predictive stream processing
      • v1.0.3 Contextual SQL based metrics
    • Change history
Powered by GitBook
On this page
  • Overview
  • Key features of Joule's processors capability include
  • Types of processors
  • Extending capabilities

Was this helpful?

  1. Components

Processors

Processors are the core of the Joule platform, each performing a specific task. These create use case when linked together

PreviousTelemetry auditingNextCommon attributes

Last updated 7 months ago

Was this helpful?

Overview

Joule harnesses processors as the foundational units of its processing functionality, linking them together to form event stream pipelines. These pipelines are central to Joule's architecture, facilitating the implementation of various use cases with ease and efficiency.

A pipeline can represent either an entire use case or a portion of one, offering flexible implementation options tailored to specific needs.

Pipelines consists of one or more interconnected processors, each designed to execute a distinct task. Events are processed sequentially, with the final output either routed to subsequent linked pipelines or delivered to designated data consumers.

All processors maintain real-time observability metrics, accessible through any JMX monitoring tool. For more in-depth information, please refer to the observability .

Key features of Joule's processors capability include

  1. Modular design Processors can be combined flexibly into pipelines, allowing custom configurations for specific use cases.

  2. Real-time processing Events are processed sequentially and in real time, supporting high-speed, low-latency applications.

  3. Out-of-the-box processors Joule offers a wide range of ready-to-use processors for common tasks, accelerating deployment.

  4. Extensibility via SDK The Processor SDK allows developers to create custom processors, extending functionality to meet unique business needs.

  5. Built-in observability All processors provide real-time metrics accessible through JMX, enhancing monitoring and troubleshooting.

Types of processors

Joule offers many out-of-the-box processor implementations that support the implementation of use cases.

Processors are categorised by function, based on their role within the platform.

Extending capabilities

Joule provides a Processors SDK to enable business developers to extend the processing capabilities.

See Processor API for further information.

Filters

Reduce stream processing overhead by filtering irrelevant events

Enrichment

Enrich events using linked reference data, metrics and analytics

Transformation

Transform event attribute values based upon a desired target state

Triggers

Apply rule based triggers for downstream business actions

Stream Join

Join independent stream events to trigger advance analytical insights and dynamic business rules

Event Tap

Tap events directly in to an in-memory database to enable on / off line processing

documentation
documentation
A pipeline defines the key ingredient of a use case