Windows DNA distributes an application in several layers called tiers. Although tiers often reside physically on different machines, Windows® DNA emphasizes logical distribution. While names of these tiers differ according to the source, the BackOffice® Developer's Guide (BDG) refers to them as follows:
This diagram shows how various Microsoft applications and technologies are deployed in the n-tier architecture. As you read the BDG, you will see how these tiers work together to provide the functionality, stability, and scalability that enterprise applications require. As the diagram indicates, Windows DNA synthesizes into applications a common set of services, including HTML and dynamic HTML (DHTML), ActiveX® controls, Component Object Model (COM) components, client-side and server-side scripting, transactions, security and directory services, database and data access, systems management, and component authoring environments. These services are exposed in a unified way through COM, which enables applications to interoperate and share components.
Note There is some debate in development circles as to how many tiers actually make up a given n-tier application. In the business-services layer of the diagram, for example, three elements, Internet Information Server (IIS), Microsoft® Transaction Server (MTS), and data access technologies such as Active Directory Service Interfaces (ADSI) and ActiveX Data Objects (ADO), combine to provide a number of services. This architecture, in some opinions, is then actually a five-tier application. For the purposes of the BDG, a layer of business logic, no matter how many elements it contains, will be thought of as a single business-services tier.
Windows DNA evolved from the two-tier client/server model that has been dominant in enterprise computing. Before Web servers such as IIS and middleware such as MTS were developed to handle application logic in the business-services tier, applications were mostly divided into a user-services tier for an interface and a data-services tier. The application logic resided either in the user interface or on the server, producing two models: a fat server or a fat client.
The following diagram shows the evolution of the two-tier model into the n-tier model used in Windows DNA applications over the Internet.
If COM serves as the heart of Windows DNA, the three tiers serve as its skeleton. Everything you build to the Windows DNA framework hangs on these tiers. The power of personal computers and networked server computers makes possible a far more flexible variety of configurations for business applications than the older client/server models. Windows DNA enables a variety of clients on the user-services tier to access the resources of a data-services tier distributed across a variety of data stores and databases located on intranets and the Internet. Interposed between these tiers, the business-services tier performs the bulk of an application's tasks, from validating user access to calling into the databases at the back end.
The main advantages of n-tier development pertain to scalability. Applications that process their business logic either on client machines or in databases become quite slow when they receive heavy usage. This has become important in an era when Web applications might receive millions of hits in a day. The transition to n-tier development came with some cost, however; development time increased because of the complexity of adding another tier. Fortunately, middleware such as MTS was developed to automatically handle the details of application infrastructure, such as thread management, and the details of COM.