COM is a successful and mature technology, but it has been criticized for lacking large-scale distributed computing support and for being too difficult to use. To remedy these problems, Microsoft has enhanced COM to provide a rich runtime layer that simplifies COM programming and supports a powerful mechanism called interception, which allows for runtime extensibility. The former hides grungy stuff like class registration, dynamic invocation, versioning, reference counting, threading, etc., but the latter allows anyone to extend the runtime layer. These enhancements are important enough give COM a new name, COM+. COM is by no means obsolete; it is simply being enhanced. In fact, even with the existence of COM+, developers may still want to use COM to obtain full control in developing and using components.

Figure C-3 shows the architecture of COM+, which, as you can see, is composed of the runtime and services layers. The services layer can have one or more services that can be plugged directly into the runtime via interception. The boxes marked Registration, Object Management, and Metadata are built-in, runtime-level services that simplify COM usage and development. The boxes marked as COM+ Services and Third-Party Services are flexible extensions to the COM+ runtime and thus layer on top of the runtime. COM+ 1.0 will not support third-party services because it doesn’t expose activation and interception mechanisms, but future COM+ releases will likely add this support. In COM+ ...

Get Learning DCOM now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.