Facet
In OPC UA, a Facet is a reusable bundle of Conformance Units that a Profile composes: Data Access, Methods, Reverse Connect, Historical Raw Data 2022 and so on. Facets are the granularity at which a server advertises capability and at which the Compliance Test Tool runs its scripts, so claim only what you implement.
Why the middle layer exists
Without facets, every profile would have to restate hundreds of individual requirements. A facet lets one coherent capability, say historical raw data reading, be defined once and then referenced by any profile that needs it. It is composition, not inheritance: a facet appears in many profiles unchanged, and a server can claim a facet without claiming any profile that contains it.
Facets you will see claimed
The two that decide whether an OEE or analytics project is cheap or expensive are Historical Raw Data Server Facet (2022) and Historical Aggregate Server Facet (2022), published as /Server/HistoricalRawData2022 and /Server/AggregateHistorical2022. If both are present you can ask the server for TimeAverage, DurationGood, PercentGood and Count over shift windows instead of streaming every raw sample. Others in daily use are Data Access, Methods, Reverse Connect and Client Redundancy.
The single most useful compliance rule
The reference stack's own profile documentation states it plainly: only advertise a facet the application genuinely implements, because the Compliance Test Tool will exercise every claimed facet. There is no partial credit. A facet claimed but half-built turns a certification run into a list of failures, and it is a top cause of failed certification attempts. The OPC Foundation's own reference server currently advertises fewer facets than it actually implements, deliberately, and reconciling the two is tracked as an open issue on the UA-.NETStandard repository.
Facets in companion specifications
Companion specs define their own facets and conformance units on top of the core ones, and they show up in the released nodesets. That is how a machine can claim, for example, DI software update or AMB asset-health root causes as a testable capability rather than as prose in a PDF.
Example
How a profile expands - three nested levels
Profile: Standard UA Server Profile (2017)
Facet: Base Server Behaviour
Conformance Unit: Address Space Base
Conformance Unit: Session Base
...
Facet: Attribute Read
Facet: Data Change Subscriber
Add-on facets claimed separately:
Historical Raw Data Server Facet (2022) -> HistoryRead / RAW
Historical Aggregate Server Facet (2022) -> HistoryRead / PROCESSED
Defined in: Part 7 - Profiles.
Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.