Repository navigation
Server
Build an OPC UA server with OpcUaServer, managed namespaces, and application-owned data.
Start with Getting started and Your first server.
This guide targets 1.2.0-SNAPSHOT on Java 17, with source baseline 7faaf4f0516c. See the 1.2.0 migration guide when upgrading an existing server.
The SDK owns OPC UA service and connection machinery. Your application owns device I/O, durable storage, effective user permissions, and lifecycle resources it creates. Use a deterministic local server/client first, inspect operation results, and close Sessions, subscriptions, drivers, and security resources through their designated owners. Local tests do not establish vendor interoperability.
The foundation pages build on the complete first-server program. Later pages state which variables their Java fragments assume. Use Examples for runnable source and validation scope. A server exposes only the capabilities its application actually implements; generated model classes do not imply historian, LDS, or Push-management behavior.
- Configuration: endpoints, identity validation, limits, and lifecycle.
- Address space: namespaces, nodes, references, and stable identities.
- Data access: Variables, attribute filters, reads, and writes.
- Security: certificates, trust, and secured endpoints.
- Access control: roles, user attributes, and authorization.
- Sampling: default sampling, device groups, and read-access refresh.
- Methods: application operations and invocation handlers.
- Types and instantiation: reusable models and typed instances.
- Events: event fields, sources, and notifier routing.
- Alarms and Conditions: state, acknowledgement, shelving, and refresh.
User guide for Milo 1.2.0-RC1 at source 69cb25087, 2026-10-12. Home · Getting started · Examples · Troubleshooting · Release notes
- Home
- Start here
- Client guide
- Server guide
- Feature guides
- Reference
- Operations
- Examples
- Release notes
- Contributing