In-Proc and Local (Out-of-Proc) OPC Servers
Table of Contents
In-Proc Server
The difference between In-Proc and Local servers is laid out by Microsoft’s COM specification, and is completely independent of the OPC specification. An In-Proc (or in process) server is implemented in a Windows DLL (dynamic link library). DLL code is mapped directly into the address space of the process that uses it. For instance, if Server Explorer were to load the In-Proc version of an OPC server, the code that comprises that OPC server would appear to be part of the code comprising Server Explorer. Using OPC servers in process usually gives a significant performance advantage over using Local or Remote. However, it can sometimes be less flexible than using a Local server.
Local (Out-of-Proc) Server
A Local (or out of procedure) server is implemented in an EXE (executable). This executable is a separate process from the client. For instance, if Server Explorer were to load the Local version of an OPC server, the executable containing the code for the OPC server would be launched as a separate process. Performance will be slightly degraded, because inter-process communication is necessary. Running Local servers may be preferable to In-Proc for two reasons: 1. If the client crashes, the server will continue to run. 2. Multiple clients can connect to the same server.
Choosing from the OPC Client
Server Explorer will allow the user to choose (if a choice is available) between Local and In-Proc versions of an OPC server. Right-click on a server in the tree, and click on the menu item Connect to Server. The dialog box shows the type of server that will be launched, and a combo box appears if both Local and In-Proc versions of the server exist.

BridgeVIEW 2.1 can communicate with both In-Proc as well as Local servers. The appropriate connections are made automatically without any user interventions.
With Lookout, you can choose the server type from the OPCClient Object configuration.
Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
