Windows 2000 Components: COM+

Windows 2000 Components: COM+
Windows 2000 introduces the next generation of the component object model, COM+. One of the significant advances in COM+ is its integration of the previously separate transaction services, and the transaction services security model. This integration makes it easier to develop distributed applications by reducing the work associated with developing, debugging, deploying, and maintaining an application that previously relied on COM for certain services and transactions for others.
COM+ is an essential element of the Windows Web and application services. COM+ services are readily used from any programming language or tool, and components that were written using the COM model will work with COM+. The technology enables extensive interoperability between components, regardless of how they are implemented. It does this by defining a standard set of component types and making all components fully self-describing. In addition to simplifying deployment of components and applications that use them, this ensures that all COM+-compliant system services and components will be accessible to all COM+-aware languages and tools. This makes it easy for developers to integrate their code with systems from multiple vendors. In addition, COM+ extends the Windows platform support for attribute-based programming, which allows components to be used in a more flexible manner.
The major features COM+ introduces are:
Integrated Transactions
Object Pooling
Queued Components
COM+ Events
Integrated Transactions
The major transaction service features within COM+ include:
Automatic transactions. Automatic transactions allow the transactional requirements of a component to be configured when that component is deployed, thus increasing the potential for component reuse.
Configurable security. By allowing an administrator to define roles and specify the interfaces and components that can be accessed by clients identified for each role, transactions support greatly simplifies the work required to create secure server applications. For example, an administrator can designate that only those clients identified as managers can change credit history. Note: the transactions security model builds on the Windows security infrastructure.
Database connection pooling. Components can reuse existing connections to a database rather than creating new ones, greatly improving application performance and scalability.
Support for multiple databases and resource managers. Transactions-based applications can access Microsoft SQL Server™, Oracle and DB2 databases, as well as other resource managers such as the Microsoft Message Queue Service. Transactions-compliant open-database connectivity (ODBC) and object linking and embedding database (OLE DB) drivers are available for many other databases from third-party providers. In addition, COM+ supports two-phase commit transactional access to any XA-compatible database.2
Automatic thread support. Application developers can write single-threaded components, and then let transactions assign threads to those components as needed.
Process isolation through packages. Individual applications can be grouped into one or more packages, and each package can run in its own process. This allows for greater fault tolerance because the failure of a single component will bring down only the package where that component is located.
Integration with mainframe transactions. Through the COM Transaction Integrator, available separately, transaction services can initiate and control CICS transactions on IBM mainframes.
A broad range of development tools. Transaction support allows developers to build applications in any of today's popular languages, including the Visual Basic, Java, C++, and Cobol.
Figure 5: COM+ integrates transactions and adds support for Queued Components, Object Pooling, and Events.
|