OPC and the Distributed Component Object Model – DCOM
DCOM
DCOM, the Distributed Component Object Model from Microsoft, is an object-oriented RPC system which enables remote procedure calls. It was defined by Microsoft to allow COM-based applications to communicate over a network.
OPC and DCOM
The OPC specifications Data Access, Alarms & Events and Historical Data Access are based on the Distributed Component Object Model, which is part of all Windows operating systems. The nearly "ubiquitous" Microsoft platform, even in industrial environments, is certainly one reason for the rapid distribution of OPC. However, DCOM restricts the use of OPC technology to Windows operating systems. For years now, industry has been calling on the OPC Foundation to provide an OPC standard that can be utilized on different operating systems (manufacturers of ERP systems on Unix platforms and manufacturers of embedded systems with real-time operating systems such as VxWorks, QNX, etc).
OPC XML-DA and OPC UA are no longer based on DCOM but on a service oriented architecture (SOA).
DCOM security settings
The DCOM security settings determine whether calling procedures on remote computers or accessing remote components (such as OPC servers via DCOM) is allowed or prohibited. The DCOM security settings are configured with the DCOMCNFG.EXE utility (known as DCOM Config). The DCOMCNFG.EXE utility varies considerably on the different Windows operating systems (95, NT, 2000, XP, ...).
Experiences with DCOM
Configuring DCOM security settings (also see DCOM Settings) takes a great deal of expert knowledge and frequently leads to difficulties.
Problems with the DCOM settings often arise when commissioning OPC products. System integrators and plant operators lose thousands of hours each year to DCOM problems. It is often the case that DCOM settings are chosen which completely unlock the OPC computer, allowing unauthorized external access.

OPC tunneling
OPC tunneling is a method of avoiding the hurdles and difficulties posed by DCOM security settings when remote computers are connected via OPC. It involves installing an OPC Tunnel on both computers. Communication between the OPC client and the OPC server takes place via TCP/IP. The data sent via TCP/IP between the client and server applications is "tunneled" past DCOM entirely, which saves users the time-consuming task of setting DCOM parameters.
OPC communication via an OPC tunnel instead of DCOM enables robust, powerful communication between networked computers, even through firewalls.







