OPC UA is a platform-independent Web Service Definition Language standard through which various kinds of systems and devices can communicate by sending Messages between Clients and Servers over various types of networks. It can support information models such as the IEC TC 57 Common Information Model as well as others such as IEC 61850. It supports robust, secure communication that assures the identity of Clients and Servers and resists attacks. OPC UA defines sets of Services that Servers may provide, and individual Servers specify to Clients what Service sets they support. Information is conveyed using OPC UA-defined and vendor-defined data types, and Servers define object models that Clients can dynamically discover. Servers can provide access to both current and historical measurement data, as well as Alarms and Events to notify Clients of important changes. OPC UA can be mapped onto a variety of communication protocols and data can be encoded in various ways to trade off portability and efficiency.