DDS · MQTT Sparkplug B · AMQP · pub/sub

Data Distribution & Messaging

Broker vs brokerless industrial data architecture. We design and build the data-centric middleware and publish-subscribe layer that carries production data between machines, with configurable delivery guarantees per topic.

Audience

Who this is for

  • OEMs

    Decide broker or brokerless once, at the platform level, so every product variant built on it inherits the same answer instead of re-arguing it per programme.

  • Machine builders

    Get a DDS global data space that carries machine-to-machine traffic at control rates, not just telemetry at reporting rates.

  • System integrators

    Add a real-time distribution layer beneath an application that has outgrown request-response.

Scope

What we do

  1. 01

    Architecture design

    Broker or brokerless, decided against your latency, participant count and failure requirements.

  2. 02

    DDS backbone development

    A DDS data backbone specified and built, with topics, types and quality-of-service settings designed per flow, not set globally.

  3. 03

    MQTT and Sparkplug B

    MQTT Sparkplug B industrial data distribution where a broker suits the topology, with the state and birth-certificate semantics layered onto whichever broker infrastructure you already run.

  4. 04

    Bridging control and telemetry

    Gateways and mappings that let a brokerless control layer and a brokered telemetry layer run side by side, each keeping its own delivery guarantees.

  5. 05

    QoS and failure design

    Reliability, durability, deadline and liveliness settled per topic, and the behaviour on a late or missing participant made explicit.

  6. 06

    Integration and test

    The distribution layer proven under participant churn, link loss and late-joiner recovery, with your engineers, before it goes into production.

  7. 07

    Training, co-development and long-term support

    Your engineers taken through the topic design, the QoS choices and the failure behaviour so they can extend the distribution layer themselves, with our third-line support behind your first line once it is in production.

Capability

Technology verticals

Middleware
DDS (RTPS) · MQTT and Sparkplug B · AMQP · OPC UA PubSub as a neighbour
Contexts
Machine-to-machine control traffic · shipboard, naval and mobility backbones · automotive and aerospace telemetry · device-to-device exchange
What you receive
Topic, type and QoS specification · implementation + build environment · failure-behaviour test report · integration notes

What do you cover under broker and brokerless industrial data architecture?

Broker vs brokerless industrial data architecture: it is the first decision in any industrial publish-subscribe design.

We make it against latency, participant count and failure behaviour rather than against the library that was prototyped with. Our delivered proof here is an engine-room control system built on a DDS backbone. The engagement is usually one of these shapes:

  • The architecture decision on its own. Broker or brokerless, argued against your requirements and recorded with the reasoning.
  • A DDS backbone. DDS backbone industrial work from topic and type design through to a running system, including mobility and engine-room cases where redundancy is the point.
  • MQTT with real state. MQTT Sparkplug B industrial data distribution, with the birth and death semantics that separate it from plain MQTT.
  • A real-time production data pipeline. Machine-to-machine communication and device-to-device industrial data exchange at rates a request-response design cannot hold.
  • Bridging control and telemetry. Where a brokerless control layer and a brokered telemetry layer both exist, the mapping between them.

Topics, types, delivery guarantees and failure behaviour, in that order. A publish-subscribe architecture for industrial data is a set of promises about what happens when a subscriber is slow, when a publisher dies, when a participant joins late and wants history, and when a link comes back after being gone. Those promises are configuration in most middleware, and they are often left at the default. We specify them per flow, because a setpoint and a diagnostic log do not want the same reliability, durability or deadline.

We do not commission plants or machines. The distribution layer inside your product or your platform is ours to design and build, and we prove it under participant churn and link loss with your engineers, onshore while that phase is running and remotely afterwards.

The same five nodes drawn twice: on the left each connected only to a central broker, so every message takes two hops and the broker is a single point of failure; on the right discovering each other and connecting directly, one hop and no single point of failure, at the cost of discovery load that grows with every participant and having no central point to observe the traffic

The same five nodes, with a broker and brokerless.

When is a broker the right answer?

A broker is often the right answer when the extra hop fits inside the latency budget.

It gives you one place to observe, authorise and buffer, and a topology that a firewall and an IT department can reason about.

WhenNot when
TelemetryThe extra hop no longer fits inside the latency budget
Store-and-forward across an unreliable linkThe broker becomes a single point of failure the system cannot tolerate
Anything crossing a site boundaryParticipant count and message rate make it the bottleneck everything else queues behind

The right-hand column is the set of conditions that justify DDS and the configuration work it brings with it: discovery is peer to peer, delivery is direct, and the guarantees are expressed per topic instead of per broker.

What does quality of service decide in a DDS system?

Quality of service decides whether the system degrades or fails.

  • Reliability decides whether a lost sample is retransmitted or forgotten.
  • Durability decides whether a subscriber that joins late gets history or starts blank.
  • Deadline states the rate a subscriber is entitled to expect, which is what turns a slow publisher into a reported fault rather than a silent one.
  • Liveliness decides how quickly a dead participant is noticed.
  • History decides how much is kept while a subscriber is behind.

These settings cascade: a domain-wide default is a starting point, and the entity closer to the data, the writer or reader QoS, is what actually wins. A domain default applied to every flow either spends resources on traffic that does not need them or starves traffic that does. A lot of the value in a DDS engagement is in that configuration table.

Which DDS implementation is suitable for us?

The trade-offs are the same ones a fieldbus or real-time Ethernet stack faces.

There are a few attributes to consider besides the licence.

ImplementationLicenceWhat to consider
FastDDS · Cyclone DDS · OpenDDSOpen sourceAll three run down to embedded Linux and RTOS targets, so the common assumption that DDS needs server-class hardware is mistaken. Footprint and the discovery traffic a constrained node has to absorb are the primary constraints, and both are measurable. We typically start from FastDDS, for the ROS 2 reason below
RTI ConnextCommercial, usually per product or per nodeThe largest commercial vendor. A licence buys a support contract, certification artefacts for regulated programmes and dedicated support. For a product with a long lifecycle and a service obligation attached, it can be the cost-effective option over the life of the programme

The platform question and the licence question are the same question, because the constrained target is usually what narrows the field first. We size both against your volumes and your hardware, then build on whichever you pick. We do not license or resell a DDS implementation ourselves.

Can a DDS system span more than one site?

A DDS system does not span more than one site by default.

DDS discovery is scoped to one multicast domain, which in practice means one site or one VLAN. Participants find each other automatically inside it and not at all outside it.

Two sites, each running its own DDS domain with peer-to-peer discovery and direct delivery between four participants, joined by a routing service on each side of a dashed wide-area link whose latency varies and which drops and returns

One DDS domain per site, joined by a routing service across the WAN.

Crossing that boundary is deliberate network configuration: either a routing service that relays between domains, or a fixed unicast peer list that replaces multicast discovery. Both work. Both add a component that has to be operated, secured and monitored, and both change the failure behaviour of the system, because a link between sites fails differently from how a link inside the same site does. We size that against your topology at the design stage. Where the traffic crossing the boundary is telemetry and not control, a broker on that hop is frequently the better answer, and the bridge between a brokerless control layer and a brokered telemetry layer is one of the shapes listed above.

Where does data distribution sit against the rest of the stack?

Data distribution sits above the network and beside the information model.

  • What sits beneath it. The determinism that lets a distribution layer meet a deadline is engineered at the network: gate schedules, drivers, measurement. That work sits with real-time Ethernet.
  • What sits beside it. The typed, browsable description of what a machine means, which a supervisory system browses rather than subscribes to, is OPC UA and information modelling.

The three are usually all present. What decides which one owns a given flow is whether the consumer needs to browse it, subscribe to it, or be guaranteed it by a deadline.

FAQ

Frequently asked questions

Who designs a broker vs brokerless industrial data architecture?
We do. It is the first decision in any industrial publish-subscribe design, and we make it with you against latency, participant count and failure behaviour, not against the library that was prototyped with.
Have you delivered DDS in production?
Yes. An engine-room control system was built on a DDS backbone, and that is the delivered proof behind this page.
Do you do ROS 2 work?
We design and build DDS backbones that ROS 2 can sit on, and FastDDS is a deliberate choice on our side for exactly that reason.
What about DDS in vehicles and aerospace?
Standards and architecture work, not a delivered system. The architecture is public, OMG published DDS-TSN 1.0, and AUTOSAR Adaptive specifies a DDS binding. We design against both, though we have not built an inter-vehicle or flight system ourselves.
Is this not the same conversation as OPC UA?
No. OPC UA is a model and is transport-independent; DDS couples its model to RTPS. DDS pairs naturally with MQTT and Sparkplug B, which are also transports with opinions. Information modelling has its own page.
Should we choose OPC UA, DDS or MQTT/Sparkplug B?
By what the consumer needs, not by preference. OPC UA gives a typed, browsable information model over a connection a supervisory system queries or subscribes to. MQTT and Sparkplug B give a lightweight publish-subscribe transport with no model of its own, which is why Sparkplug adds the state and structure a plain MQTT payload lacks. DDS gives peer-to-peer delivery with per-topic QoS control and no broker in the loop. Most estates end up running more than one, and the boundary is usually who is subscribing and how fast.
How much latency does a broker add?
It depends on the broker software, the hardware underneath it and the number of hops in your topology, so a single published number would mislead more than it helps. We measure it against your own architecture at the design stage.
Does DDS support security and encryption?
Yes, through the DDS-Security specification, which defines authentication, access control and encryption as separate pluggable services and not one fixed mechanism. Which plugins a design needs depends on the threat model, and we scope that alongside the topic and QoS design.
How do you debug a publish-subscribe system once it is in production?
With the same discipline as the QoS design itself. Liveliness and deadline settings turn a silent failure into a reported one, and protocol-level tools exist for both transports, from an RTPS traffic dissector to plain MQTT client tools for topic-level inspection. What we design in from the start is which of those signals actually reaches an operator.
How do you migrate a system from request-response to publish-subscribe without a rewrite?
Incrementally, and usually behind a bridge rather than in one cutover. The existing request-response path keeps running while topics are migrated one at a time and verified against it before it is retired, so a failure in the new design shows up as a mismatch rather than an outage.
Can you train our engineers, not just hand over the code?
Yes, as the training, co-development and long-term support offering above describes. Your engineers work through the topic and QoS design alongside ours on the first system, then take on extension and first-line support themselves, with our third-line support behind them for as long as the system runs.
References
  • OMG DDS — the Data Distribution Service specification, and RTPS as its wire protocol
  • OMG DDS-TSN 1.0 — how a DDS deployment maps onto TSN scheduling, published April 2023, Beta2 May 2024
  • Sparkplug B — the payload and state specification that gives plain MQTT the birth, death and rebirth semantics industrial data needs
  • ISO/IEC 19464 — AMQP, where a durable queue and not a topic is the right shape
  • OMG DDS-Security — authentication, access control and encryption as separate pluggable services rather than one fixed mechanism
  • IEC 62541 — OPC UA, the transport-independent information modelling standard
Go deeper

Ready to scope this for your product?

Start with our engineering notes, or talk directly to the team that will build it.