This section provides some basic information on COM and CORBA objects supported in ColdFusion and provides resources for further inquiry.
COM and CORBA are two of the object technologies supported by ColdFusion. Other object technologies include Java and ColdFusion components. For more information on ColdFusion components see Building and Using ColdFusion Components.
An object is a self-contained module of data and its associated processing. An object is a building block that you can put together with other objects and integrate into ColdFusion code to create an application.
An object is represented by a handle, or name. Objects have properties that represent information. Objects also provide methods for manipulating the object and getting data from it. The exact terms and rules for using objects vary with the object technology.
You create instances of objects using the cfobject tag or the CreateObject function. You then use the object and its methods in ColdFusion tags, functions, and expressions. For more information on the ColdFusion syntax for using objects, see Creating and using objects.
COM (Component Object Model) is a specification and a set of services defined by Microsoft to enable component portability, reusability, and versioning. DCOM (Distributed Component Object Model) is an implementation of COM for distributed services, which allows access to components residing on a network.
COM objects can reside locally or on any network node. COM is supported on Microsoft Windows platforms.
For more information on COM, go to the Microsoft COM website, www.microsoft.com/com.
CORBA (Common Object Request Broker Architecture) is a distributed computing model for object-oriented applications defined by the Object Management Group (OMG). In this model, an object is an encapsulated entity whose services are accessed only through well-defined interfaces. The location and implementation of each object is hidden from the client requesting the services. ColdFusion supports CORBA 2.3 on both Windows and UNIX.
CORBA uses an Object Request Broker (ORB) to send requests from applications on one system to objects executing on another system. The ORB allows applications to interact in a distributed environment, independent of the computer platforms on which they run and the languages in which they are implemented. For example, a ColdFusion application running on one system can communicate with an object that is implemented in C++ on another system.
CORBA follows a client-server model. The client invokes operations on objects that are managed by the server, and the server replies to requests. The ORB manages the communications between the client and the server using the Internet Inter-ORB Protocol (IIOP).
Each CORBA object has an interface that is defined in the CORBA Interface Definition Language (IDL). The CORBA IDL describes the operations that can be performed on the object, and the parameters of those operations. Clients do not have to know anything about how the interface is implemented to make requests.
To request a service from the server, the client application gets a handle to the object from the ORB. It uses the handle to call the methods specified by the IDL interface definition. The ORB passes the requests to the server, which processes the requests and returns the results to the client.
For information about CORBA, see the following OMG website, which is the main web repository for CORBA information: www.omg.com.