One of the methods Windows enables data transfer between applications, is the protocol of DDE (Dynamic Data Exchange). The protocol of DDE is a set of messages that utilizes joint memory to replace data between applications. The applications can be built up using two ways;
1. Raw or Message-based DDE, which utilizes the protocol of DDE directly with Windows Messaging.
2. DDEML (Dynamic Data Exchange Management Library) is a DLL (dynamic-link library) that gives messages and functions to make simpler adding DDE to an application.
OPC is depending on the COM or DCOM. COM is a standard of binary that allows objects to inter-operate in an environment networking and includes Automation, ActiveX Controls, and object connecting and embedding technologies (OLE). While the launch of Windows NT, Microsoft suggested DCOM as the better method for data exchange between server and client applications through the network. DCOM develops upon the technology of RPC (remote procedure call), and was planned to give developers more control on the security, as evaluated to other inter-process communication mechanisms.
From the point of view of implementer, the below points is what should be considered:
You will frequently listen to DDE is already old and/or obsolete. The other argument is DDE was been working fine since 1986, it’s simpler to execute than COM and Microsoft will never find free of Windows Messaging. Already many people with heritage DDE applications will use one of the many Server of OPC for DDE on the market to network make possible their applications. If you are realizing a new system, the cards are loaded heavily in support of OPC in supportability terms.
It would appear to be a clear point, but what applications will be linking to your system? Are there more OPC clients or DDE clients existing in the marketplace, and which are more possible to be developed in the next time? Think also that OPC recommends compliance testing standardization for servers, and Interoperability testing of OPC for client applications. A lot of the compatibility issues of DDE, come across over the years where due mostly to inadequately written applications.
3. Speed and Through-put
One of the major differences between DDE applications and COM applications, for example OPC, is how operations are recognized and processed. Not like COM which uses pointers to distributed memory objects, applications of DDE make and replace string and data handles, which categorize strings and objects of memory.
Speed is related to the scalability concept. As the client connections number or item requests raises up, how is quality affected? When managing messages from more than one source a client or server of DDE have to process the messages of the conversation synchronously.
Additionally to the issues of the speed and scalability, a good handling infrastructure and error reporting is required for a really robust application. Additionally to error handling codes of standard COM, the specifications of OPC outline particular error codes to be returned under diverse scenarios.
Security in any architecture networking is another entire subject of discussion, but we can still strike the high points between OPC and DDE. DDE Networking utilizes trusted distributes and security descriptors to manage access to shares. The user that generated the NetDDE share has to be logged on in sequence for the connection to happen. Security of OPC is controlled by security configuration of Windows DCOM. Whenever a client of OPC calls a technique, DCOM acquires the current username of client, and transfers it to the machine where the server is working. DCOM on the machine server then verifies the username with the authentication mechanism configuration and ensures the ACL (access control list) for the component.