Alle von OPC definierten Base-Services sind abstrakte Methodenbeschreibungen, sind protokollunabhängig und bilden die Basis für die gesamte OPC-UA-Funktionalität.
Die Transportschicht setzt diese Methoden in ein Protokoll um, d. h. es serialisert/deserialisiert die Daten und sendet dieses über das Netz. Momentan sind zwei Protokolle dafür vorgesehen: ein binäres, hoch optimiertes und performantes TCP-Protokoll und ein auf Webservice basierendes Protokoll. Weitere Protokolle sind möglich und können bei Bedarf ergänzt werden.
Das OPC-Informationsmodell ist nicht mehr nur eine Hierarchie aus Ordnern, Items und Propertys. Es ist ein sogenanntes Full-Mesh-Network aus Nodes, mit dem nun auch alle Arten von Metainformationen und Diagnoseinformationen übertragen werden können. Ein Node lässt sich am ehesten mit einem Objekt in der objektorientierten Programmierung vergleichen. Ein Node kann Attribute besitzen, die gelesen werden können (Data Access (DA), Historical Data Access (HDA)), Methoden, die aufgerufen werden können (Commands), und Events, die geschickt werden können (AE, DA DataChange). Diese Nodes werden sowohl für die Nutzdaten als auch alle anderen Arten von Metadaten verwendet. Der damit modellierte OPC-Adressraum beinhaltet nun auch ein Typmodell, mit dem sämtliche Datentypen beschrieben werden.
Darauf aufsetzend spezifizieren verschiedene andere Organisationen wie z. B. EDDL eigene Informationsmodelle. Clients haben die Möglichkeit, zu überprüfen, welche sogenannten "Profile" ein Server unterstützt. Damit kann überprüft werden, ob ein Server nur DA-Funktionalität unterstützt oder aber auch AE, HDA etc. Es kann aber auch gelesen werden, ob ein Server z. B. das EDDL-Profil unterstützt, und somit weiß ein Client, dass auch EDDL-spezifische Gerätebeschreibungen verfügbar sind. Weitere neue und wichtige Feature von OPC UA sind: