Component Object Model+ (COM+) is a binary interoperability standard defined by Microsoft that specifies a model for distributed object communication. COM+ defines communication by separating objects into clients and servers. The client is defined as an object that wants to access a particular service, while the server is an object that provides service. The client and server can communicate with each other independently of the programming language in which they are defined and independently of the operating system that lies between them.
Techopedia Explains Component Object Model+ (COM+)
COM is a language-neutral way of implementing objects that can be used in environments different from the one in which they were created, even across machine boundaries. For well-authored components, COM allows reuse of objects with no knowledge of their internal implementation, as it forces component implementers to provide well-defined interfaces that are separate from the implementation. The different allocation semantics of languages are accommodated by making objects responsible for their own creation and destruction through reference-counting. Casting between different object interfaces is achieved through the QueryInterface() function. The preferred method of inheritance within COM is the creation of sub-objects to which method calls are delegated.
The basic COM specification only established a distributed communication model between a client and a server without any performance optimizations. COM+ can be considered a successor to COM, with features related to Microsoft Transaction Server (MTS).
COM+ provides the following features:
- Enhanced security compared to COM with the help of access regulation.
- Support for application recycling.
- Suppor of partitions, where several COM+ versions can be installed simultaneously on the same machine.
- COM+ components can also provide services without components.
- COM+ applications possess external interfaces that provide a Web service interface for communication using XML.
To ensure reliability, COM+ uses a memory activation mechanism. With this mechanism, the amount of virtual memory is calculated prior to the creation of a server object. If less memory is available, the activation or creation of a COM+ object fails. Thus, COM+ components cannot suffer a software crash due to overload.