COM/DCOM technology overview

Caution: This protocol is supported for replay only. Support for this protocol will be discontinued in future versions.

This section provides an outline of COM technology. This should be enough to get you started with COM Vuser scripts. See Microsoft Developer's Network (MSDN) and other documentation for further details.

COM (Component Object Model) is a technology for developing reusable software components ("plug-ins"). DCOM (Distributed COM) allows use of COM components on remote computers. Microsoft transaction servers (MTS), Visual Basic and Explorer all use COM/DCOM technology. Thus, the application you are testing may use COM technology indirectly, even though you are unaware of it. You probably have to include some, but certainly not all, of the COM calls made by your application in the Vuser script.

Objects, Interfaces, and Type Libraries

COM objects are binary code modules. Each COM object implements one or more interfaces that allow client programs to communicate with it. You need to know about these interfaces in order to follow the COM calls in the Vuser scripts. Type libraries, used as a reference for accessing COM interface methods and parameters, contain descriptions of COM objects and interfaces. Each COM class, interface, and type library is identified by a Global Unique Identifier (GUID).

Back to top

COM Interfaces

A COM interface provides a grouped collection of related methods. For example, a Clock object may have Clock, Alarm and Timer interfaces. Each interface has one or more methods. For example the Alarm interface may have AlarmOn and AlarmOff methods.

An interface may also have one or more properties. Sometimes, the same function may be performed by calling a method or by setting or getting the value of a property. For example, you can set the Alarm Status property to On or call the AlarmOn method.

A COM object may support many interfaces. The IUnknown interface is implemented by all components and is used to find out about other interfaces. Many components also implement the IDispatch interface, which exposes all other interfaces and methods of the object, allowing implementation of COM automation in scripting languages.

Back to top

COM Class Context and Location Transparency

COM objects can run on the same machine as the client application, or on a remote server. COM objects that an application creates may be in a local library, a local process or a remote machine ("Remote Object Proxy"). The location of the COM object, known as the "Context," can be transparent to the application. Most users apply the Vusers to check the load on remote servers. Therefore, objects accessed by Remote Object Proxy are usually the most relevant for these tests.

Back to top

COM Data Types

COM also provides several special data types, including safe arrays, BSTR strings and variants. You may need to use these data types for debugging, parameterization and similar tasks.

Back to top