Distributed objects are classified as middleware because they facilitate inter-application communications. However, they are also mechanisms for application development (in an example of the "middleware paradox"), providing enabling technology for enterprise- or trading community-wide method sharing. In fact, distributed objects are really small application programs that utilize standard interfaces and protocols to communicate with one another. For example, developers may create a CORBA-compliant distributed object that runs on a UNIX server and another CORBA-compliant distributed object that runs on an NT server. Because both objects are created using a standard (in this case, CORBA) and both objects use a standard communications protocol (in this case, IIOP), the objects should be able to exchange information and carry out application functions by invoking each other's methods.
Two types of distributed objects are on the market today: CORBA and COM. CORBA, created by the OMG in 1991, is more a standard than a technology. It provides specifications that outline the rules that developers should follow when creating a CORBA-compliant distributed object. CORBA is heterogeneous, with CORBA-compliant distributed objects available on most platforms. COM is a Microsoft-promoted distributed object standard. Like CORBA, COM provides "the rules of the road" for developers who create COM-enabled distributed objects. These rules include interface standards and communications protocols. Although COM-enabled objects exist on non-Windows platforms, COM must be considered native to the Windows operating environments and therefore homogeneous.
Dig Deeper on Distributed application architecture
Related Q&A from David Linthicum
David Linthicum explains what advanced business application programming (ABAP)/4 means. Continue Reading
David Linthicum defines Service Component Architecture (SCA) and Service Data Objects (SDO) and explains how to best build these components to enable... Continue Reading
David Linthicum explains how it is possible that Apache Tomcat is both a Web server and an application server. Continue Reading