Edit this page

The Things service persists and enforces authorization for Things and Features, which represent your digital twins.

TL;DR: The Things service owns all Thing and Feature entities, persists them via event sourcing in MongoDB, and enforces authorization using the Policy referenced by each Thing’s policyId.

Overview

The Things service manages the full lifecycle of Thing and Feature entities. It handles creation, modification, retrieval, and deletion, and it enforces access control on every operation.

How it works

Model

The service is built around two entities, Thing and Feature:

Signals

Other services communicate with the Things service through two signal types:

  • ThingCommands: Commands that the service processes (create, modify, retrieve, delete)
  • ThingEvents: Events emitted when Thing or Feature entities change

Persistence

The Things service uses Pekko persistence with event sourcing to persist changes and restore things.

Enforcement

The service authorizes all thing signals using the Policy referenced by the Thing’s policyId. You must have the appropriate permissions granted in the referenced policy to perform operations on a Thing.

Further reading

Tags: architecture