Open sourceActive

Eclipse Ditto

Eclipse Ditto is a digital twin framework with five microservices for management, access control, search, and connectivity.

Open source page

Field note

What it does

Eclipse Ditto consists of five microservices (Policies, Things, Things-Search, Gateway, Connectivity) communicating over a Pekko cluster to provide digital twin management, access control, search, and connectivity to external systems.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

sdk

Java / https://eclipse.dev/ditto/client-sdk-java.html

sdk

JavaScript / https://eclipse.dev/ditto/client-sdk-javascript.html

other

Not filed / https://eclipse.dev/ditto/connectivity-protocol-bindings-mqtt.html

sdk

Java / org.eclipse.ditto:ditto-client

sdk

JavaScript / @eclipse-ditto/ditto-javascript-sdk

rest

Not filed / https://eclipse.dev/ditto/httpapi-concepts.html

rest

Not filed / https://eclipse.dev/ditto/http-api-doc.html

other

Not filed / https://eclipse.dev/ditto/ws-api.html

Product features

Product features

Acknowledgements

Quality of service with acknowledgements.

Backend Integration

Connect to external systems via AMQP, Kafka, HTTP, MQTT.

Connection Monitoring

Monitor connection status, metrics, and logs.

Connections

Integrate with AMQP, MQTT, Kafka, etc.

Create Connection

Create a connection via HTTP API.

Delete Connection

Delete a connection.

Device as a Service

Abstract the device into a digital twin providing synchronous and asynchronous APIs.

Device Connectivity

Integrate devices via Eclipse Hono or MQTT brokers.

Digital Twin Pattern

Provides synchronous and asynchronous APIs for digital twins.

Digital Twins

Create and manage digital twins of physical devices.

Fine-grained Access Check

Authorize each API call with resource-based access check.

Fine-grained Access Control

Authorize each API call on a digital twin with fine-grained resource based access checks.

HTTP API

RESTful API for managing things and policies.

Messages

Send and receive messages to and from devices.

Messaging API

Messaging-based interaction with digital twins.

Microservice Architecture

Composed of five cooperating microservices.

Modify Connection

Modify an existing connection.

MongoDB Persistence

Uses MongoDB as the persistence layer.

Payload Mapping

Pekko Cluster

Services communicate over a Pekko cluster.

Policies

Define access control policies for things.

Reported, Desired, and Current State

Differ between reported, desired, and current state of devices.

Retrieve Connection

Retrieve a connection by ID.

Search

Query digital twins using RQL.

WebSocket

Real-time communication via WebSocket.

WebSocket API

Real-time communication with digital twins.