# Joule

## Joule

- [Welcome to Joule's Docs](https://docs.fractalworks.io/joule/welcome-to-joules-docs.md): The low-code multi-purpose platform for stream analytics builders designed to accelerate ideation to business impact
- [Why Joule?](https://docs.fractalworks.io/joule/why-joule.md): By using Joule, every business can realise their potential real-time analytics opportunities
- [Joule capabilities](https://docs.fractalworks.io/joule/why-joule/joule-capabilities.md): Deliver actionable insights through real-time processing
- [old of Why Joule?](https://docs.fractalworks.io/joule/why-joule/old-of-why-joule.md): By using Joule, every business can realise their potential real-time analytics opportunities
- [What is Joule?](https://docs.fractalworks.io/joule/what-is-joule.md): Joule is a low-code use case platform designed for modern streaming analytical processing
- [Key features](https://docs.fractalworks.io/joule/what-is-joule/key-features.md): Build, deploy and scale analytic use cases fast
- [The tech stack](https://docs.fractalworks.io/joule/what-is-joule/the-tech-stack.md): High level overview of technologies used within the Joule platform
- [Deployment architectures](https://docs.fractalworks.io/joule/what-is-joule/deployment-architectures.md)
- [Use case enablement](https://docs.fractalworks.io/joule/use-case-enablement.md): Learn what use cases can be built and deployed using Joule
- [Use case building framework](https://docs.fractalworks.io/joule/use-case-enablement/use-case-building-framework.md): Build impactful use cases
- [Use case artefacts](https://docs.fractalworks.io/joule/use-case-enablement/use-case-artefacts.md)
- [Copy of Quickstart](https://docs.fractalworks.io/joule/use-case-enablement/copy-of-quickstart.md): Gain insights from your data sources with minimised friction using the Joule prototyping platform
- [Drop panties use case](https://docs.fractalworks.io/joule/use-case-enablement/drop-panties-use-case.md)
- [Concepts](https://docs.fractalworks.io/joule/concepts.md): Collection of concepts for the effective utilisation of Joule
- [Core concepts](https://docs.fractalworks.io/joule/concepts/core-concepts.md): This section explores high-level concepts about Joule, it will help us understand how to build stream processing pipelines that subscribe to source data and publish results
- [Low code development](https://docs.fractalworks.io/joule/concepts/low-code-development.md): Joule is a low code development platform designed to ideate, pilot and scale business use cases
- [Unified execution engine](https://docs.fractalworks.io/joule/concepts/unified-execution-engine.md): Unified engine for real-time and batch data processing
- [Batch and stream processing](https://docs.fractalworks.io/joule/concepts/batch-and-stream-processing.md): Unified platform for batch and stream processing
- [Joule in-memory database](https://docs.fractalworks.io/joule/concepts/joule-in-memory-database.md): Joule leverages an in-memory database to support advanced use cases
- [Continuous metrics](https://docs.fractalworks.io/joule/concepts/continuous-metrics.md): Real-time metrics provide the ability to drive advance insights and use cases
- [Key Joule data types](https://docs.fractalworks.io/joule/concepts/key-joule-data-types.md): Key data types available within the Joule platform
- [StreamEvent object](https://docs.fractalworks.io/joule/concepts/key-joule-data-types/streamevent-object.md): StreamEvent enables flexible, efficient event-driven data processing in Joule
- [Contextual data](https://docs.fractalworks.io/joule/concepts/key-joule-data-types/contextual-data.md): ReferenceDataObject stores, queries and manages contextual reference data
- [GeoNode](https://docs.fractalworks.io/joule/concepts/key-joule-data-types/geonode.md): Geospatial data structure for location-based spatial entity analysis
- [Tutorials](https://docs.fractalworks.io/joule/tutorials.md): Learning-oriented step-by-step guides. Ideal to begin your journey with Joule.
- [Getting started](https://docs.fractalworks.io/joule/tutorials/getting-started.md): All you need to get started with Joule.
- [Build your first use case](https://docs.fractalworks.io/joule/tutorials/build-your-first-use-case.md)
- [Stream sliding window quote analytics](https://docs.fractalworks.io/joule/tutorials/stream-sliding-window-quote-analytics.md)
- [Advanced tutorials](https://docs.fractalworks.io/joule/tutorials/advanced-tutorials.md): Learning-oriented step-by-step guides. Ideal to begin your journey with Joule.
- [Data quality](https://docs.fractalworks.io/joule/tutorials/advanced-tutorials/data-quality.md): Build, deploy and apply a custom transformer
- [Stateless analytics](https://docs.fractalworks.io/joule/tutorials/advanced-tutorials/stateless-analytics.md): Build, deploy and apply a custom user defined stateless analytic function
- [IoT device control](https://docs.fractalworks.io/joule/tutorials/advanced-tutorials/iot-device-control.md)
- [Build a sink data connector](https://docs.fractalworks.io/joule/tutorials/advanced-tutorials/build-a-sink-data-connector.md)
- [Build a machine learning pipeline](https://docs.fractalworks.io/joule/tutorials/advanced-tutorials/build-a-machine-learning-pipeline.md)
- [Further examples](https://docs.fractalworks.io/joule/tutorials/further-examples.md)
- [Sliding window analytical use case](https://docs.fractalworks.io/joule/tutorials/further-examples/sliding-window-analytical-use-case.md)
- [Simplied data integration](https://docs.fractalworks.io/joule/tutorials/simplied-data-integration.md): Connect to up and down stream systems
- [Driving use cases with contextual data](https://docs.fractalworks.io/joule/tutorials/driving-use-cases-with-contextual-data.md)
- [Joining streams](https://docs.fractalworks.io/joule/tutorials/joining-streams.md)
- [Analytics](https://docs.fractalworks.io/joule/tutorials/analytics.md)
- [Create custom metrics](https://docs.fractalworks.io/joule/tutorials/analytics/create-custom-metrics.md): We will create our own custom metrics from scratch
- [Build analytic pipeline](https://docs.fractalworks.io/joule/tutorials/analytics/build-analytic-pipeline.md)
- [Delivering snapshot metrics](https://docs.fractalworks.io/joule/tutorials/analytics/delivering-snapshot-metrics.md)
- [Build predictive forecasting](https://docs.fractalworks.io/joule/tutorials/analytics/build-predictive-forecasting.md)
- [FAQ](https://docs.fractalworks.io/joule/faq.md): Collation of frequently asked questions
- [Glossary](https://docs.fractalworks.io/joule/glossary.md)
- [Documentation guide](https://docs.fractalworks.io/joule/documentation-guide.md): Everything you need to know about Joule.
- [Overview](https://docs.fractalworks.io/joule/use-case-examples/overview.md): To bring alive Joule to example projects based upon two industries, telco and banking, have been provided. Each project demonstrates various features Joule provides.
- [Telco](https://docs.fractalworks.io/joule/use-case-examples/telco.md)
- [Environment installation](https://docs.fractalworks.io/joule/use-case-examples/telco/environment-installation.md)
- [IMSI Opt-Out](https://docs.fractalworks.io/joule/use-case-examples/telco/imsi-opt-out.md): Generally for customer driven insights data opt-out is a key function of the system. Joule provides this function using filters.
- [Enrich events](https://docs.fractalworks.io/joule/use-case-examples/telco/enrich-events.md): Often processing stream events require additional data to support further processing functions. Joule provides a solution where events are enriched in place using locally cached reference
- [Anonymise IMSI](https://docs.fractalworks.io/joule/use-case-examples/telco/anonymise-imsi.md): In-flight data anonymisation is a key feature for solutions that process sensitive  data. Joule provides this feature through a custom encryption obfuscator.
- [Location tracking](https://docs.fractalworks.io/joule/use-case-examples/telco/location-tracking.md): Through the use of geospatial analytics and tracking novel use cases can be imagined and realised.
- [Geospatial marketing](https://docs.fractalworks.io/joule/use-case-examples/telco/geospatial-marketing.md): Leverage location tracking by adding geo triggers along with custom marketing messaging we can open up new market opportunities that deliver custom customer experiences.
- [Basic analytics](https://docs.fractalworks.io/joule/use-case-examples/telco/basic-analytics.md): SQL analytics is an accepted standard for all enterprise platforms. Joule has various analytics function point to address this requirement one being within the SELECT statement
- [Banking](https://docs.fractalworks.io/joule/use-case-examples/banking.md)
- [Environment installation](https://docs.fractalworks.io/joule/use-case-examples/banking/environment-installation.md)
- [Tumbling window analytics](https://docs.fractalworks.io/joule/use-case-examples/banking/tumbling-window-analytics.md): Tumbling windows are useful to gain fixed analytic insights over a period of either time-based or a fixed count of events.
- [Sliding window analytics](https://docs.fractalworks.io/joule/use-case-examples/banking/sliding-window-analytics.md): Sliding windows are useful to gain analytic insights over a period whereby some of the events contribute to the insight, these windows are either time-based or a fixed count of events.
- [User defined analytics](https://docs.fractalworks.io/joule/use-case-examples/banking/user-defined-analytics.md)
- [Bollinger bands](https://docs.fractalworks.io/joule/use-case-examples/banking/bollinger-bands.md)
- [Aggregates and user defined time based window functions](https://docs.fractalworks.io/joule/use-case-examples/banking/aggregates-and-user-defined-time-based-window-functions.md): Combining aggregates, stateful and stateless window functions is a powerful mix to provide group-by analytics over a stream of events
- [Time based metrics](https://docs.fractalworks.io/joule/use-case-examples/banking/time-based-metrics.md): The metrics engine can be leveraged to provide greater insights over a larger data set. These metrics can be used within custom processors to drive complex use case
- [Enrich events](https://docs.fractalworks.io/joule/use-case-examples/banking/enrich-events.md): In advanced stream event processing, executing use cases often requires enriching events with contextual data to facilitate analytical and logical processing
- [Running examples](https://docs.fractalworks.io/joule/use-case-examples/running-examples.md)
- [Pipelines](https://docs.fractalworks.io/joule/components/pipelines.md): Data (stream) pipelines enable business-specific, real-time analytics use cases
- [Use case anatomy](https://docs.fractalworks.io/joule/components/pipelines/use-case-anatomy.md): A use case binds together the required data and stream pipeline unit to perform the desired function
- [Data priming](https://docs.fractalworks.io/joule/components/pipelines/data-priming.md): Prime Joule with necessary startup data
- [Types of import](https://docs.fractalworks.io/joule/components/pipelines/data-priming/types-of-import.md): Parquet and CSV data imports for stream processing
- [Processing unit](https://docs.fractalworks.io/joule/components/pipelines/processing-unit.md): Quickly build custom business use cases
- [Group by](https://docs.fractalworks.io/joule/components/pipelines/group-by.md): Groups events by attributes to drive optimised computation functions
- [Emit computed events](https://docs.fractalworks.io/joule/components/pipelines/emit-computed-events.md): Select and filter output events for publishing
- [Telemetry auditing](https://docs.fractalworks.io/joule/components/pipelines/telemetry-auditing.md): Audit and track events for validation and testing
- [Processors](https://docs.fractalworks.io/joule/components/processors.md): Processors are the core of the Joule platform, each performing a specific task. These create use case when linked together
- [Common attributes](https://docs.fractalworks.io/joule/components/processors/common-attributes.md): Core processor attributes that provide out-of-the-box features
- [Filters](https://docs.fractalworks.io/joule/components/processors/filters.md): Reduce stream processing overhead by filtering irrelevant events
- [By type](https://docs.fractalworks.io/joule/components/processors/filters/by-type.md): Filter events based on specific types from the processing pipeline
- [By expression](https://docs.fractalworks.io/joule/components/processors/filters/by-expression.md): Use Javascript expressions to define custom filters
- [Send on delta](https://docs.fractalworks.io/joule/components/processors/filters/send-on-delta.md): Stateful filter processor that filters previous seen events
- [Remove attributes](https://docs.fractalworks.io/joule/components/processors/filters/remove-attributes.md): Remove sensitive attributes from an event
- [Drop all events](https://docs.fractalworks.io/joule/components/processors/filters/drop-all-events.md): Drop all incoming events in the processor
- [Enrichment](https://docs.fractalworks.io/joule/components/processors/enrichment.md): Enrich events using connected contextual data, metrics and analytics
- [Key concepts](https://docs.fractalworks.io/joule/components/processors/enrichment/key-concepts.md): Enriching events with the latest contextual data is crucial for processing advanced real-time business insights
- [Anatomy of enrichment DSL](https://docs.fractalworks.io/joule/components/processors/enrichment/key-concepts/anatomy-of-enrichment-dsl.md): The enrichment DSL provides a flexible syntax that enables the user to define field level enrichments
- [Banking example](https://docs.fractalworks.io/joule/components/processors/enrichment/key-concepts/banking-example.md): The below banking example enriches events using the linked contextual data and metrics
- [Enrichment catalogue](https://docs.fractalworks.io/joule/components/processors/enrichment/key-concepts/enrichment-catalogue.md)
- [Old version of Key concepts](https://docs.fractalworks.io/joule/components/processors/enrichment/old-version-of-key-concepts.md): Enriching event data with the latest contextual data is crucial for processing real-time business insights.
- [Metrics](https://docs.fractalworks.io/joule/components/processors/enrichment/metrics.md): Enrich events with pre-calculated metrics to facilitate further advanced processing
- [Dynamic contextual data](https://docs.fractalworks.io/joule/components/processors/enrichment/dynamic-contextual-data.md): Use fast, connected data stores to quickly enrich in-motion events with up-to-date context
- [Caching architecture](https://docs.fractalworks.io/joule/components/processors/enrichment/dynamic-contextual-data/caching-architecture.md): Caching is a key enabler for low-latency contextual data access
- [Static contextual data](https://docs.fractalworks.io/joule/components/processors/enrichment/static-contextual-data.md): Enrich events with essential slow changing data from Joule’s in-memory database.
- [Transformation](https://docs.fractalworks.io/joule/components/processors/transformation.md): Reshape origin event data in to target event
- [Field Tokeniser](https://docs.fractalworks.io/joule/components/processors/transformation/field-tokeniser.md): Tokenise attribute values in to component parts
- [Obfuscation](https://docs.fractalworks.io/joule/components/processors/transformation/obfuscation.md): Joule provides an in-stream-obfruscation function to streaming events. This function is useful for Personal Identifiable Information de-identification.
- [Encryption](https://docs.fractalworks.io/joule/components/processors/transformation/obfuscation/encryption.md): Apply RSA encryption techniques along with AES symmetric encryption
- [Masking](https://docs.fractalworks.io/joule/components/processors/transformation/obfuscation/masking.md): Mask sensitive field values while retaining the formatting criteria
- [Bucketing](https://docs.fractalworks.io/joule/components/processors/transformation/obfuscation/bucketing.md): Apply individual variance tolerances to protect the identity of the originating data
- [Redaction](https://docs.fractalworks.io/joule/components/processors/transformation/obfuscation/redaction.md): Eliminate sensitive event field data by either nullifying or replacing with a blank value
- [Triggers](https://docs.fractalworks.io/joule/components/processors/triggers.md): Minimise expensive computation while notifying consumers of events to action
- [Change Data Capture](https://docs.fractalworks.io/joule/components/processors/triggers/change-data-capture.md): Distribute delta records for key attribute changes
- [Business rules](https://docs.fractalworks.io/joule/components/processors/triggers/business-rules.md): Leverage standard JSR-94 rules engine to perform advance business rules
- [Stream join](https://docs.fractalworks.io/joule/components/processors/stream-join.md): Join independent stream events to trigger advanced analytics and dynamic business rules
- [Inner stream joins](https://docs.fractalworks.io/joule/components/processors/stream-join/inner-stream-joins.md): Strict join between two event streams
- [Outer stream joins](https://docs.fractalworks.io/joule/components/processors/stream-join/outer-stream-joins.md): Immediately pass the first event received and initialised downstream processors
- [Join attributes & policy](https://docs.fractalworks.io/joule/components/processors/stream-join/join-attributes-and-policy.md): Join attributes to control and optimise performance
- [Event tap](https://docs.fractalworks.io/joule/components/processors/event-tap.md): Tap events directly in to an in-memory database to enable on / offline processing
- [Anatomy of a Tap](https://docs.fractalworks.io/joule/components/processors/event-tap/anatomy-of-a-tap.md): Construction of a Tap
- [SQL Queries](https://docs.fractalworks.io/joule/components/processors/event-tap/sql-queries.md): Use SQL queries to access the data in the store
- [Analytics](https://docs.fractalworks.io/joule/components/analytics.md): Analytics sit at the heart of the Joule platform, transforming raw data into actionable insights that drive real-world value
- [Analytic tools](https://docs.fractalworks.io/joule/components/analytics/analytic-tools.md): Define math expressions or provide as a file using Joule supported languages and APIs
- [User defined analytics](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/user-defined-analytics.md): Define analytic expressions or provide as a script using supported interpreted languages
- [Streaming analytics example](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/user-defined-analytics/streaming-analytics-example.md): Example on how to run streaming analytics
- [User defined analytics](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/user-defined-analytics/user-defined-analytics.md): Declarative stateful math expressions evaluated in real-time
- [User defined scripts](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/user-defined-analytics/user-defined-scripts.md): Leverage pre-existing analytics scripts within a streaming context
- [User defined functions](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/user-defined-analytics/user-defined-functions.md): Extend the analytics ecosystem using the Analytics API
- [Average function library](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/user-defined-analytics/user-defined-functions/average-function-library.md): Joule math functions
- [Window analytics](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/window-analytics.md): Standard window functions are provided to perform event based analytics
- [Tumbling window](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/window-analytics/tumbling-window.md): Fixed-sized, non-overlapping window analytic function support
- [Sliding window](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/window-analytics/sliding-window.md): Fixed-sized, overlapping time or event count window analytic function support
- [Aggregate functions](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/window-analytics/aggregate-functions.md): Standard statistics calculations for streaming event windows
- [Analytic functions](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions.md): Analytic functions perform complex calculation over a window of grouped events
- [Stateful](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateful.md): Stateful based analytics over a grouped set of events
- [Exponential moving average](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateful/exponential-moving-average.md)
- [Rolling Sum](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateful/rolling-sum.md)
- [Stateless](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless.md): Stateless based analytics over a grouped set of events
- [Normalisation](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation.md): Change the distribution shape of your data
- [Absolute max](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation/absolute-max.md)
- [Min max](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation/min-max.md)
- [Standardisation](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation/standardisation.md)
- [Mean](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation/mean.md)
- [Log](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation/log.md)
- [Z-Score](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/normalisation/z-score.md)
- [Scaling](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/scaling.md): Change the range of your data
- [Unit scale](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/scaling/unit-scale.md)
- [Robust Scale](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/scaling/robust-scale.md)
- [Statistics](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/statistics.md): Key statistical functions and measures
- [Statistic summaries](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/statistics/statistic-summaries.md)
- [Weighted moving average](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/statistics/weighted-moving-average.md)
- [Simple moving average](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/statistics/simple-moving-average.md)
- [Count](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/statistics/count.md)
- [General](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/general.md): Utility and supporting analytic functions
- [Euclidean](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/analytic-functions/stateless/general/euclidean.md)
- [Advanced analytics](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics.md): Advanced analytic processors such as geospatial tracking
- [Geospatial](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial.md): Optimised real-time geospatial analytics for geofence occupancy and tracking
- [Entity geo tracker](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial/entity-geo-tracker.md): Real-time entity geo tracking for advanced use cases
- [Geofence occupancy trigger](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial/geofence-occupancy-trigger.md): Trigger geospatial events in real-time to drive location based use cases
- [Geo search](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial/geo-search.md): Real-time view on what entities are nearby with respect to geofence radius
- [IP address resolver](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial/ip-address-resolver.md): Take an IP address and perform a geo location search
- [Reverse geocoding](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial/reverse-geocoding.md): Google reverse geocode using longitude and latitude to street address
- [Spatial Index](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/geospatial/spatial-index.md): Optimised data structure for spatial search
- [HyperLogLog](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/hyperloglog.md): Probabilistic counter for large or high cardinality datasets
- [Distinct counter](https://docs.fractalworks.io/joule/components/analytics/analytic-tools/advanced-analytics/distinct-counter.md): Calculate distinct field values over time
- [ML inferencing](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing.md): Leverage streaming online predictions to drive insights to action
- [Key concepts](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/key-concepts.md)
- [Feature engineering](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/feature-engineering.md): Decorate a feature vector with enriched features specific to the deployed model
- [Scripting](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/feature-engineering/scripting.md): Define custom analytics with declarative expressions
- [Scaling](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/feature-engineering/scaling.md): Normalise data with various scaling methods
- [Transform](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/feature-engineering/transform.md): Generate analytics-ready features from data
- [Online predictive analytics](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/online-predictive-analytics.md): JPMML prediction processor evaluates event feature vectors in near-real-time
- [Model audit](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/model-audit.md): Support explainability, detect drift, and manage retraining through model auditing
- [Model management](https://docs.fractalworks.io/joule/components/analytics/ml-inferencing/model-management.md): Deploy a retrained model directly in to a running Joule with zero down time
- [Metrics engine](https://docs.fractalworks.io/joule/components/analytics/metrics-engine.md): In-memory SQL compliant metrics engine for advance analytics solutions
- [Create metrics](https://docs.fractalworks.io/joule/components/analytics/metrics-engine/create-metrics.md): Define a set of time based metrics that are generated using captured and stored streamed events
- [Apply metrics](https://docs.fractalworks.io/joule/components/analytics/metrics-engine/apply-metrics.md): Apply metrics within stream processing functions
- [Manage metrics](https://docs.fractalworks.io/joule/components/analytics/metrics-engine/manage-metrics.md): Reuse existing metrics on startup and reduce the operational memory overhead
- [Priming metrics](https://docs.fractalworks.io/joule/components/analytics/metrics-engine/priming-metrics.md): Prime metrics with existing values on process startup
- [Exporting metrics](https://docs.fractalworks.io/joule/components/analytics/metrics-engine/exporting-metrics.md)
- [Contextual data](https://docs.fractalworks.io/joule/components/contextual-data.md): Enrich real-time streams with contextual data
- [Architecture](https://docs.fractalworks.io/joule/components/contextual-data/architecture.md): Understand how Joule integrates to contextual data solutions
- [Configuration](https://docs.fractalworks.io/joule/components/contextual-data/configuration.md): Set up a contextual data-driven use case
- [MinIO S3](https://docs.fractalworks.io/joule/components/contextual-data/minio-s3.md): Multi-cloud S3-compatible interface for static contextual data and ML models
- [Apache Geode](https://docs.fractalworks.io/joule/components/contextual-data/apache-geode.md): High-performance caching platform for static and slow-moving contextual data
- [Connectors](https://docs.fractalworks.io/joule/components/connectors.md): Out-of-the-box Joule provides key data connectors for streaming use cases
- [Sources](https://docs.fractalworks.io/joule/components/connectors/sources.md): Connect to key event and file data sources
- [Kafka](https://docs.fractalworks.io/joule/components/connectors/sources/kafka.md): Standard Kafka consumers transport ingests data from subscribed cluster topics
- [Ingestion](https://docs.fractalworks.io/joule/components/connectors/sources/kafka/ingestion.md): Joule enables flexible Kafka data deserialisation for processing
- [RabbitMQ](https://docs.fractalworks.io/joule/components/connectors/sources/rabbitmq.md): AMQP messaging solution ideal for IoT and client / server use cases
- [Further RabbitMQ configurations](https://docs.fractalworks.io/joule/components/connectors/sources/rabbitmq/further-rabbitmq-configurations.md): Further collection of examples using RabbitMQ
- [MQTT](https://docs.fractalworks.io/joule/components/connectors/sources/mqtt.md): Lightweight messaging protocol ideal for IoT use cases
- [Topic wildcards](https://docs.fractalworks.io/joule/components/connectors/sources/mqtt/topic-wildcards.md)
- [Session management](https://docs.fractalworks.io/joule/components/connectors/sources/mqtt/session-management.md)
- [Last Will and Testament](https://docs.fractalworks.io/joule/components/connectors/sources/mqtt/last-will-and-testament.md)
- [Rest endpoints](https://docs.fractalworks.io/joule/components/connectors/sources/rest-endpoints.md): RESTful consumer endpoints designed to facilitate seamless integration
- [MinIO S3](https://docs.fractalworks.io/joule/components/connectors/sources/minio-s3.md): MinIO S3 file consumer for cloud or local hosted bucket storage
- [Google sheets](https://docs.fractalworks.io/joule/components/connectors/sources/google-sheets.md): Spreadsheet data consumer designed to extend processing capabilites
- [File watcher](https://docs.fractalworks.io/joule/components/connectors/sources/file-watcher.md): Process large files using stream processing
- [Sinks](https://docs.fractalworks.io/joule/components/connectors/sinks.md): Distribute insights to consuming systems
- [Kafka](https://docs.fractalworks.io/joule/components/connectors/sinks/kafka.md): Sends events to specified Kafka topics, enabling real-time data streams
- [RabbitMQ](https://docs.fractalworks.io/joule/components/connectors/sinks/rabbitmq.md): RabbitMQ is lightweight and easy to deploy messaging platform for event-based data integration
- [Further configurations](https://docs.fractalworks.io/joule/components/connectors/sinks/rabbitmq/further-configurations.md): Further RabbitMQ distribution configurations
- [MQTT](https://docs.fractalworks.io/joule/components/connectors/sinks/mqtt.md): Allows publishing events through MQTT, ideal for IoT and lightweight streaming
- [Persistent messaging](https://docs.fractalworks.io/joule/components/connectors/sinks/mqtt/persistent-messaging.md)
- [Last Will and Testament](https://docs.fractalworks.io/joule/components/connectors/sinks/mqtt/last-will-and-testament.md)
- [SQL databases](https://docs.fractalworks.io/joule/components/connectors/sinks/sql-databases.md): Write events in micro batches to any database which supports JDBC Type 4 drivers
- [InfluxDB](https://docs.fractalworks.io/joule/components/connectors/sinks/influxdb.md): Standard time-series database idea for instrumentation or live KPI tracking
- [MongoDB](https://docs.fractalworks.io/joule/components/connectors/sinks/mongodb.md): Publish JSON based events to the mature standard document storePublishes JSON-based events to MongoDB, a widely-used document store
- [Geode](https://docs.fractalworks.io/joule/components/connectors/sinks/geode.md): Integrate with distributed caching for complex use cases needing high availability
- [WebSocket](https://docs.fractalworks.io/joule/components/connectors/sinks/websocket.md): Publishes processed events to web clients via WebSocket transport, ideal for real-time dashboards and applications
- [Google sheets](https://docs.fractalworks.io/joule/components/connectors/sinks/google-sheets.md): Spreadsheet data publisher designed to extend processing capabilites
- [Console](https://docs.fractalworks.io/joule/components/connectors/sinks/console.md): For testing purposes a console output processor is provided.
- [MinIO S3](https://docs.fractalworks.io/joule/components/connectors/sinks/minio-s3.md): MinIO file producer using S3 cloud or local hosted buckets
- [Custom connectors](https://docs.fractalworks.io/joule/components/connectors/sinks/custom-connectors.md)
- [File](https://docs.fractalworks.io/joule/components/connectors/sinks/custom-connectors/file.md): Write events directly to files for archiving and offline processing
- [Slack](https://docs.fractalworks.io/joule/components/connectors/sinks/custom-connectors/slack.md): Send critical alerts to a monitored Slack channel
- [Email](https://docs.fractalworks.io/joule/components/connectors/sinks/custom-connectors/email.md): Send critical email alerts to key stakeholders
- [Serialisers](https://docs.fractalworks.io/joule/components/connectors/serialisers.md): Get data ready for consumption serialising incoming and outgoing data
- [Serialisation](https://docs.fractalworks.io/joule/components/connectors/serialisers/serialisation.md): Data emitted to downstream systems is serialised using provided or custom serialisers
- [Custom transform example](https://docs.fractalworks.io/joule/components/connectors/serialisers/serialisation/custom-transform-example.md): Custom parser converts an internal Joule StreamEvent into a domain object
- [Formatters](https://docs.fractalworks.io/joule/components/connectors/serialisers/serialisation/formatters.md): Apply standard data format process to outgoing data
- [Deserialisers](https://docs.fractalworks.io/joule/components/connectors/serialisers/deserialisers.md): Consumed data is mapped to internal StreamEvents using a flexible deserialisation framework
- [Custom parsing example](https://docs.fractalworks.io/joule/components/connectors/serialisers/deserialisers/custom-parsing-example.md): Custom parser converts a domain Quote object into an internal Joule StreamEvent
- [Observability](https://docs.fractalworks.io/joule/components/observability.md): Joule uses JMX and Metrics API to make processes observable and to enable monitoring
- [Enabling JMX for Joule](https://docs.fractalworks.io/joule/components/observability/enabling-jmx-for-joule.md): Activate JMX monitoring for Joule with configurable settings
- [Meters](https://docs.fractalworks.io/joule/components/observability/meters.md): Automated metrics monitor for Joule pipelines: data pipelines, processors, transport, storage
- [Metrics API](https://docs.fractalworks.io/joule/components/observability/metrics-api.md): Tracks component events and data flow with counters
- [Setting up developer environment](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment.md): Setting up Joule environment for seamless data processing applications
- [Environment setup](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/environment-setup.md): Detailed prerequisites for the environment
- [Build and deploy](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/build-and-deploy.md): Define components, build, test, package, deploy project
- [Install Joule](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/install-joule.md): Joule Docker images, installation, custom builds and examples
- [Install Docker demo environment](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/install-joule/install-docker-demo-environment.md)
- [Install with Docker](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/install-joule/install-with-docker.md): Use prebuilt images for quick setup
- [Install from source](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/install-joule/install-from-source.md): Install Joule from source, connectors, and processors locally
- [Install Joule examples](https://docs.fractalworks.io/joule/developer-guides/setting-up-developer-environment/install-joule/install-joule-examples.md): Clone Joule examples from GitLab, build, explore updates.
- [Joulectl CLI](https://docs.fractalworks.io/joule/developer-guides/joulectl-cli.md): Use Joulectl to deploy and manage use cases within the Joule platform
- [API Endpoints](https://docs.fractalworks.io/joule/developer-guides/api-endpoints.md): Joule REST APIs enables easy custom data processing and integration
- [Mangement API](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/mangement-api.md): Manages applications and integrations, providing endpoints for deployment, pipeline management, connector registration and contextual data sources
- [Use case](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/mangement-api/use-case.md): Deploy, pause, resume and undeploy use cases
- [Pipelines](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/mangement-api/pipelines.md): Register, list, detail and unregister stream processing pipelines
- [Data connectors](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/mangement-api/data-connectors.md): Register, list, detail and unregister data sources and sinks
- [Contextual data](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/mangement-api/contextual-data.md): Register, list, detail and unregister contextual data sources
- [Data access API](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/data-access-api.md): Enables data interactions, allowing for querying, publishing and consuming data events
- [Query](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/data-access-api/query.md): Fetch, export, delete and subscribe to data
- [Upload](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/data-access-api/upload.md): Upload files and stream events in to a running Joule process
- [WebSocket](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/data-access-api/websocket.md): Subscribe to events from a WebSocket
- [SQL support](https://docs.fractalworks.io/joule/developer-guides/api-endpoints/sql-support.md): This is an incubating feature which is constantly being refined and extended
- [Builder SDK](https://docs.fractalworks.io/joule/developer-guides/builder-sdk.md): Joule SDK APIs enable connectors, processing, analytics and transformations
- [Connector API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/connector-api.md): Connectors are key to enable Joule to perform use cases. Given the importance of Connectors, an API has been provided to enable developers to build and extend the capabilities of the platform.
- [Sources](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/connector-api/sources.md)
- [StreamEventParser API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/connector-api/sources/streameventparser-api.md): Custom parser converts a domain Quote object into an internal Joule StreamEvent
- [Sinks](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/connector-api/sinks.md)
- [CustomTransformer API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/connector-api/sinks/customtransformer-api.md): Custom parser converts an internal Joule StreamEvent into a domain object
- [Processor API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/processor-api.md): Processors form the core of the joule platform. Given the importance of Processors, an API has been provided to enable developers to build and extend the capabilities of the platform.
- [Analytics API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/analytics-api.md): Analytics form the core of the platform to drive insight to value. Joule provides various methods to define and leverage analytics within a streaming context
- [Create custom metrics](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/analytics-api/create-custom-metrics.md): Add pre-computed metrics to custom processors that drive advanced analytic use cases
- [Define analytics](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/analytics-api/define-analytics.md): Create custom analytic functions for window processing that drive advanced analytic use cases
- [Windows API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/analytics-api/windows-api.md): Customise and extend Joule analytics capability using the Windows API
- [SQL queries](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/analytics-api/sql-queries.md): Leverage the power of ANSI SQL within custom processors using the in-memory database
- [Transformation API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/transformation-api.md)
- [Obfuscation API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/transformation-api/obfuscation-api.md): Use the Obfuscation API to meet your requirements
- [FieldTokenizer API](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/transformation-api/fieldtokenizer-api.md)
- [File processing](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/file-processing.md): Joule provides utility classes to load large files efficiently
- [Data types](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/data-types.md): Key data types available within the Joule platform
- [StreamEvent](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/data-types/streamevent.md): StreamEvent enables flexible, efficient event-driven data processing in Joule
- [ReferenceDataObject](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/data-types/referencedataobject.md): ReferenceDataObject stores, queries, and manages contextual reference data
- [GeoNode](https://docs.fractalworks.io/joule/developer-guides/builder-sdk/data-types/geonode.md): Geospatial data structure for location-based spatial entity analysis
- [System configuration](https://docs.fractalworks.io/joule/developer-guides/system-configuration.md)
- [System properties](https://docs.fractalworks.io/joule/developer-guides/system-configuration/system-properties.md): Configure and enable core Joule features based on deployment needs
- [Memory configuration](https://docs.fractalworks.io/joule/developer-guides/system-configuration/memory-configuration.md): Fine tune JVM memory requirements to event consumption and processing
- [Restarting Joule processes](https://docs.fractalworks.io/joule/developer-guides/system-configuration/restarting-joule-processes.md)
- [Deployment Overview](https://docs.fractalworks.io/joule/deployment-strategies/deployment-overview.md)
- [Single Node](https://docs.fractalworks.io/joule/deployment-strategies/single-node.md)
- [Cluster](https://docs.fractalworks.io/joule/deployment-strategies/cluster.md)
- [GuardianDB](https://docs.fractalworks.io/joule/deployment-strategies/guardiandb.md): Centralised deployment registry
- [Packaging](https://docs.fractalworks.io/joule/deployment-strategies/packaging.md)
- [Containers](https://docs.fractalworks.io/joule/deployment-strategies/packaging/containers.md)
- [Bare metal](https://docs.fractalworks.io/joule/deployment-strategies/packaging/bare-metal.md)
- [Public Roadmap](https://docs.fractalworks.io/joule/product-updates/public-roadmap.md)
- [Release Notes](https://docs.fractalworks.io/joule/product-updates/release-notes.md)
- [v1.2.0 Join Streams with stateful analytics](https://docs.fractalworks.io/joule/product-updates/release-notes/v1.2.0-join-streams-with-stateful-analytics.md): Join real-time stream events for advance state based analytics and customer centric insights
- [v1.1.0 Streaming analytics enhancements](https://docs.fractalworks.io/joule/product-updates/release-notes/v1.1.0-streaming-analytics-enhancements.md): Build streaming analytics pipelines powered by machine learning, metrics and reference data using live data
- [v1.0.4 Predictive stream processing](https://docs.fractalworks.io/joule/product-updates/release-notes/v1.0.4-predictive-stream-processing.md): A solid foundation for streaming ML predictions platform
- [v1.0.3 Contextual SQL based metrics](https://docs.fractalworks.io/joule/product-updates/release-notes/v1.0.3-contextual-sql-based-metrics.md): Define SQL based metrics to drive advanced use case insights
- [Change history](https://docs.fractalworks.io/joule/product-updates/change-history.md)
- [Getting support](https://docs.fractalworks.io/joule/community/getting-support.md)
- [Code of conduct](https://docs.fractalworks.io/joule/community/code-of-conduct.md)
- [Quickstart](https://docs.fractalworks.io/joule/getting-started/quickstart.md): Gain insights from your data sources with minimised friction using the Joule prototyping platform
- [Running a Joule from the CLI](https://docs.fractalworks.io/joule/build-joule-projects/running-a-joule-from-the-cli.md)
