Library Zone Articles
External Articles
Byte Size

Discovery Zone Catalogue
Interactive Zone Ask the Gurus
Discussion Groups
Etc Cartoons
Site Builder ASP Web Ring ASP Web Ring

Click here
The Developer's Resource & Community Site
International This Week Forums Author Central Find a Job
Part of the COM+ Development Series

COM+ - the backbone of Windows DNA

Download print article


This article assumes that the reader is familiar with n-tier application development methodologies. The article explains the importance of use of COM+ in applications designed around Windows Distributed interNet Architecture (DNA).

Before finding out how COM+ is a backbone of Windows DNA, lets briefly consolidate our understanding about Windows DNA and COM+.

What is Windows DNA?

Microsoft Windows Distributed interNet Applications (Windows DNA) is an architecture that enables developers to integrate Web-based and client/server applications in a single, unified architecture.

Windows DNA integrates - and offers solution for - every aspect of Internet application development, including:

Directory Services, Component Services, Web Services, Data Access, Message Queuing, Online Business, XML Interoperability and Workflow, Host Interoperability, Database, Development Tools, Messaging and Collaboration.

The goal of Windows DNA is to help developer concentrate more on business logic than on systems integration.

What is COM+?

COM+ is the evolution of Component Object Model (COM) and Microsoft® Transaction Server (MTS). It is a run-time core that enables an application execution environment that allows developers choose the services for their applications (COM components) - the services such as transactions, security, queuing etc. So it actually provides a high performance application-hosting environment that's very easy to manage.

To understand how COM+ forms a backbone of Windows DNA lets build a scenario.

Lets say we have decided to develop a simple Web application running on Windows platform that interacts with database. We draw a multi-tier logical diagram for our application showing the application that will run at each tier.

User Services

Business Services

Data Services

Client using browser



Business Logic Components

Data Access Components


Multiple Databases


Since we have decided to use Windows platform Windows DNA architecture helps us to choose the solution for the applications:

Browser Internet Explorer
Business Logic Components and Data Access Components will be developed as COM components using development tools like Visual Basic/Visual C++
Database Microsoft SQL Server 7.0
Web Server Microsoft Internet Information Server

The web application should be developed according to following performance guidelines:

  • The functionality should be made available to the user depending on his role
  • The application should support transactions to update databases reliably. In case of failure to update the original state of the database should restored.
  • The application should be scalable in the sense that the perceived performance shall not degrade when the number of users increases.

The above guidelines demand following actions for us, developers

  • The business logic components we develop should authenticate the user based on his/her role
  • We should develop the components so that they support transactions and transactions span component boundaries
  • To make components scalable we have to take care of resource management such as thread allocation and object pooling

COM+ comes to the rescue of developers

If we host our site on Windows 2000 which now includes Internet Information Server as a service, we can make use of COM+ that comes to the rescue of developers and takes care of all the actions we have listed above.

  • With COM+ now the developers do not have to worry about the thread management for their COM components. They can write components in any language that supports COM, including C, C++, Java, Visual Basic, Delphi, and even some implementations of COmmon Business Oriented Language (COBOL). Once the COM component is hosted in COM+ Application, COM+ will take care of thread management and object pooling.
  • Developers have to do minimal coding in their components to support transactions (inheriting transaction and using methods such as SetComplete and SetAbort). All they to do is host their component in COM+ Application and then choose and select the transaction properties out of - Requires a new transaction, requires a transaction, supports transaction and does not support transaction.
  • For authenticating the user COM+ offers a role-based security. Once the component is hosted in COM+ application you add roles (could be Windows NT groups) that can access these components. The same security could be extended to authenticate users to use SQL server.

If you are using Windows NT then the same can be achieved with the help of Microsoft Transaction Server. In fact COM+ is combination of COM, DCOM and MTS. COM+ name is given to indicate that the new offering is essentially COM plus more.

This shows that COM+ in Windows 2000 is very important part of Windows DNA since it helps to integrate all tiers (User, Business, and Data) in a unified interface.

Here we have just covered the importance of COM+ in Windows DNA. As you start exploring COM+ you will realize how easy it is to use COM+ and take full advantage of the services it offers.


In this article we saw how Windows DNA helps us to choose solution for every aspect of Web application and importance of COM+ in integrating these solutions easily. COM+ is a combination of COM, DCOM and MTS along with some new feature such as Queued Components, Loosely Coupled Events etc.

Further reading

  1. "Unraveling Windows DNA" by Robert Hess, MSDN Library
  2. "COM+" a MSDN show on MSDN Online

What do you think of this article?

Have your say about the article. You can make your point about the article by mailing [email protected] (If you haven't allready joined, you can join by going to

You can also write a review. We will publish the best ones here on this article. Send your review to [email protected].

Mail a question to the author!!

As part of the IDevResource commitment to Open Publishing, all of our authors are available to answer all of your trickiest questions at Author Central. For information about the authors, or to mail a question, visit them at Author Central.

About the Author

Mahesh Bhide is an employee of Diaspark Inc, a New York based consulting company and currently works as a consultant for Citibank developing Intranet application.

Please visit this author in Author Central. - Jobs for Professional Developers

Contribute to IDR:

To contribute an article to IDR, a click here.

To contact us at, use our feedback form, or email us.

To comment on the site contact our webmaster.

Promoted by CyberSavvy UK - website promotion experts

All content © Copyright 2000, Disclaimer notice

Code Project

Visit the IDR Bookstore!

Learn C#

WTL Architecture by Richard Grimes

Visit our NEW WTL Section