OPC server provides a method for many different software packages (so long as it is an OPC Client) to access data from a process control device, such as a PLC or DCS. Traditionally, any time a package needed access to data from a device, a custom interface, or driver, had to be written. The purpose of OPC is to define a common interface that is written once and then reused by any business, or custom software packages.

All of the OPC Specifications are based on the OPC Client/Server model. Client/Server describes the relationship between two computer applications in which one application, the OPC client, makes a service request from another application, the OPC Server, which fulfills the request. Although the OPC Client/Server model can be used within a single computer, when used in a network it provides a versatile and modular infrastructure that offers flexibility, interoperability, and scalability. This model is different from other common distributed architectures such as Master/Slave (or Primary/Secondary) and peer-to-peer networks.