Development and integration
These pages cover adapter patterns, language choices and implementation examples. Start with the interface requirements, then plan validation, error handling and recovery.
On this page
Overview#
This section is the bridge between protocol specifications and maintainable integration software. It emphasizes explicit state, versioning, secure identity, bounded resources, deterministic failure, observability, and safe physical consequences.
Reference examples use synthetic inputs and documentation domains, and exclude physical actuation. Evaluate them only in an isolated, authorised environment with pinned versions, bounded resources, and recorded evidence.
Contents#
Design priorities#
- Model roles, identity, authorisation and state transitions before endpoints or libraries.
- Treat every byte, field, callback and SDK object as untrusted until validated.
- Make timeouts, retries, idempotency, ordering, replay and reconciliation explicit.
- Bound memory, queues, connections, payloads, parsing work and log output.
- Separate observation, configuration, administration and physical actuation capabilities.
- Preserve correlation from external request through normalised event and device outcome.
- Keep product/version quirks in adapters; keep the domain model vendor neutral.
Language selection#
| Language | Primary reference use | Reviewed baseline on 25 August 2026 |
|---|---|---|
| Python | Offline fixtures, protocol exploration, parsers and small clients | Python 3.14.7 |
| TypeScript | Browser/Node HTTP, WebSocket, MQTT and WebRTC integrations | TypeScript 7; Node.js 24 LTS |
| C# | Enterprise VMS/PACS SDKs and Windows services | .NET 10 LTS; C# 14 |
| Go | Concurrent gateways, collectors and network services | Go 1.27 |
| C | Embedded, serial and constrained binary framing | C17 baseline unless SDK requires another edition |
| C++ | Native media/device SDKs and RAII based integrations | C++23 baseline unless SDK requires another edition |
Pin the exact patch and dependency versions in each integration project; the table is a documentation review baseline, not a compatibility guarantee. Official release sources are maintained in each language page.
Sources#
- NIST SSDF, NIST SP 800-218 Version 1.1, accessed 25 August 2026.