The dot net frameworks allow you to build serviced components that can use com+ services. These components of dot net framework runs in the manages execution environment of dot net framework that is share their content with com+ application.
Now the question arise what com+ and what is doing how is its comes in existence. Before com+ comes into existence. COM (Component Object Model) is first programming model that provide component based approach to software development. This component based approach of com allowed us to develop small, logical reusable and stand alone modules that integrates into a single application. But these components could not be display on over network.
So these drawback produce another model that is DCOM (distributes COM). DCOM programming model enabled you to display com components over network and distribute application easily across platforms. DCOM components also help in two-tier client/server applications. These models also have some drawback that helps to development of COM+ approach. What these drawbacks are…
These two-tier architecture helps us to sharing of resources and data but these approach have some drawbacks that are as follows.
The DCOM approach overburdened client computer with the responsibility of performing all processing functions while the server merely acted as traffic controller, helps movement of data to and from the client and server components. So availability of resources was therefore, always a problem and the performance of application suffered. Multiple request of data cause to network traffic. So performance of application decreases.
After all these Microsoft introduced windows DNA(Windows Distributed internet applications) architecture that overcomes the shortcoming of the two-tier system. The windows DNA helps us to develop three-tier application architecture which helps us to maintain the business logic and data access code in separate components that is business objects. These separate the client application from the business logic and data access code so no need of recompiling and redeveloping client application after change in code.