Ever since software development became an engineering discipline, software development teams everywhere in the world have faced similar development and deployment problems. Among other things, developers today are concerned about:
Reusing code that has been tested and used in other applications
Developing flexible applications that can be customized to the users needs, but not at the expense of overburdening the development team
Addressing anomalies and add features after the application has been shipped, while avoiding a complete rewrite of the application
Improving application development time by leveraging against software code developed by third party software vendors
Developing distributed and non-distributed applications in a similar manner
All of these challenges and many more are addressed by a single technology: the Microsoft Component Object Model, better known as COM. COM is a framework for developing software components, small binary executables, that provide services to applications and other components.
The incredible explosion of the Internet has caused a revolution in the way information has to be made available to the users. In developing enterprise systems, the traditional client/server model has been replaced with a three-tier programming model, enhanced for Internet applications. Developing such enterprise systems is a time- and resource-consuming affair, as the system has to meet extra enterprise-level requirements such as scalability, robustness, security, transaction support, etc.
COM+ is an advanced run-time environment that provides services to meet many of the above-mentioned enterprise-level requirements. It is an integral part of the Windows 2000 Operating System. Developers can leverage the services provided by COM+, instead of building the services themselves.
This book focuses on understanding the COM+ architecture from a developer s perspective and building COM+ applications using Microsoft Visual C++ and the Active Template Library (ATL).
COM+ is not a radical departure from COM it is just the next stage in the evolution of the COM programming model. As a matter of fact, it is very difficult to determine where COM ends and where COM+ begins. In order to understand the COM+ architecture and the services provided by COM+, it is necessary to understand the fundamental component model at the heart of COM+. To this end, the book is divided in two parts. The first part builds the foundation that is COM and the second part explains the services provided by COM+ version 1.0.