This glossary defines key terms used throughout the Eclipse Ditto documentation.
TL;DR: Quick reference for IoT, Ditto-specific, and architectural terms you will encounter in the documentation.
Common terms
- IoT
- Internet of Things
- IIoT
- Industrial Internet of Things - also known as ‘Industry 4.0’
- JWT
- JSON Web Token (JWT)
- CQRS
- Command-Query Responsibility Segregation. A pattern Ditto applies in order to handle commands (ModifyCommands in Ditto) and queries (QueryCommands in Ditto) differently, e.g. by reading queries from memory and persisting commands to a datastore.
- RQL
- Resource Query Language
- SSE
- Server Sent Events - one way messaging/push from a HTTP server to a consuming client (e.g. a browser).
Ditto-specific terms
- Asset
- An asset can be anything from a tangible and physical device to the more intangible such as the reputation of a company. In our context we define an asset as any item, entity, application or even system of applications that can be registered at Eclipse Ditto using the
Thingconcept. - Thing
- A Thing is a generic entity and is mostly used to cluster multiple Features and manage the access to the data and functionality the Thing represents. A Thing may have additional metadata (Attributes) that describes the Thing in more detail.
- Policy
- A Policy enables developers to configure fine-grained access control in an easy way. A specific policy defines who (subject) is granted or revoked permissions (rights) on a specific resource. The resource can be defined as rough or as fine-grained as necessary for the respective use case.
- Attributes
- Attributes describe the Thing in more detail and can be of any type. Attributes can be used to find Things. Attributes are typically used to model rather static properties at the Thing level. Static means that the values do not change as frequently as property values of Features.
- Feature
- A Feature clusters a set of coherent Properties and has an optional Feature definition.
- Feature properties and desiredProperties
- A feature may consist of a distinct set of properties, which are functional or logically coherent. The feature properties can represent: properties (e.g. values as reported by a physical device) or desiredProperties (e.g. values set via a remote management UI, aiming to trigger the device integration layer to change the device configuration). Each property itself can be either a simple scalar value or a complex object. Allowed is any JSON object.