Windows DNA 在称为层的几个层次上分布应用程序。虽然层经常位于物理上不同的机器, Windows® DNA 更侧重于逻辑上的分布。虽然根据来源,这些层的名称各不相同,但 BackOffice® 开发者指南用下列名称来引用它们:
这个图表显示了在N层体系里,不同的微软应用程序和技术是如何布署的。在您阅读BDG时,您将看到这层是如何协同工作,以提供企业应用程序所需要的功能、稳定性以及可伸缩性。就象这个图表所指示的,Windows DNA集成了一组服务,包括HTML和动态HTML(DHTML), ActiveX® 控件,组件对象模型(COM),客户端和服务器端脚本,事务,安全和目录服务,数据库和数据访问,系统管理,以及组件认证环境。这些服务都通过COM以统一的形式出现,这使应用程序能够互操作并共享组件。.
说明 T在开发周期上有一些争议,使得给定的N层应用程序实际有多少层说法不一。例如,在上表的业务服务层,有三个元素:IIS服务器,微软事务服务器(MTS),以及象活动目录服务接口(ADSI)这样的访问技术,它们组合起来提供大量的服务。某些人认为,这种结构,实际应当是个5层应用程序。从BDG的观点来说,业务逻辑层,不管它包含多少元素,都被当作一个单一的业务服务层看待。
从二层到N层应用程序
Windows DNA 从曾经主宰企业级计算的二层客户机/服务器模型演变而来。在Web服务器,如IIS,以及中间件 ,如 MTS被开发出来在业务服务层处理应用程序的逻辑之前,应用程序通常分成用户服务层和数据服务层,用户服务层提供用户接口。应用程序的业务逻辑要么位于用户接口或者位于服务器,因而分别形成了两种模型:胖服务器或胖客户端。
下面的图表显示了二层模型向用于跨Internet的Windows DNA应用程序的N层模型的演变。
如果 COM 担当Windows DNA的核心,那么三层结构就担当着它的骨架。您放在Windows DNA框架里的每样东西,都放在了这些层上。个人计算机和连网的服务器的威力,使得为商业应用程序制作比老式的客户机/服务器模型更加灵活多样的配置成为可能。Windows DNA能够让用户服务层上的各种不同客户,对数据服务层的资源进行访问,数据服务层分布在intranet和Internet上的各种不同的数据仓库和和数据库上。在用户服务和数据服务两层之间,业务服务层执行了应用程序的大多数任务,从验证用户访问一直到调用后端数据库
N层开发的主要优势在于可伸缩性。不管是在客户端还是在数据库端处理业务的程序,在收到大量负荷时,就会变得非常慢。在Web应用程序可能一天接收到数百万次访问的时代,这变得非常重要。向N层开发的转变需要一些成本,而且因为增加了另一个层,开发时间也增长了。幸运的是,中间件 ,例如 MTS 被开发出来,可以自动处理程序基础架构的细节,例如如线程管理和COM的细节。