Windows DNA是Windows Distributed Internet Application Architecture的缩写,可以翻译为Windows分布式网络应用程序体系结构,这是一个相当抽象的概念。但它又是非常重要的一个概念。微软提出的DNA概念是借助生命科学中脱氧核糖核酸(DNA,Deoxyribonucleic Acid)的寓意来诠释现代企业信息结构的真谛。比尔·盖茨称之为数字神经系统,寓示信息系统可以灵活适应外界环境因素的变化,做出相应的反应。
Windows DNA是过去在微软平台上进行技术开发的大环境,要利用微软的组件技术OLE、COM、DCOM、MTS、COM+进行开发,就不能不了解这个Windows环境下的软件体系结构谈起,只有了解了这个大环境,我们才能够知道为什么会有这些技术,它们都有哪些作用。
在过去20年中,我们的生活中出现了两种极为重要的技术,一种是今天家喻户晓的互联网Internet,另外一个是成本很低,但是功能极为强大的pc机。这两种技术在过去都是并行发展的,并且在某种程度上是相互促进的。但是它们对于彼此的支持却不充分,它们都没有充分利用彼此巨大的能量。微软发展Windows DNA的目的就是为在Windows平台上的应用开发提供一个框架和环境,整合个人电脑和Internet的优势。在最高层次上,Windows DNA允许不同网络的计算机互相操作以及相互协作以完成某些目标,它可以使开发者很容易的建造能够服务许多用户的基于网络的系统。更为重要的是,Windows DNA提供了一个具备协同工作能力的框架(Framework),而且由于这个框架支持公用的协议,以及它发布了一些通用的接口,用户可以在它上面添加一些新的功能以扩充这个系统。这也意味着Windows DNA提供了一个钩子(hooks),第三方可以在Windows DNA的基础上添加他们自己的产品,以扩展Windows DNA的系统架构。
Windows DNA使用了一系列的服务来完成它的架构。例如它使用了组件(Components)、DHTML、WEB浏览器(IE)、WEB服务器(IIS)、事务管理、消息队列、安全机制、系统管理、用户界面、数据库存取等等。微软扩充的Windows DNA包含了工具、数据库、操作系统、编程模型和开发者为企业建立应用程序所需要的应用程序服务。例如Microsoft Windows 2000和COM +,是Windows DNA 2000 的一部分的, Microsoft Visual Studio 等开发工具和Microsoft SQL Server等数据库也是。其他工具集在可用时,也会成为Windows DNA 2000的一部分。当开发人员遵循Windows DNA来开发时,就会半被迫的采用基于构件的开发方式,这是Windows DNA强力推行,并且它自己也实践了的。另外采用Windows DNA的结构相当于它为开发人员做了大量的安全管理、事务管理、数据库存取等基础服务工作,从而让开发人员集中精力开发有意义的业务逻辑部分。下面我们看看微软是如何把所有这些东西都整合在Windows DNA的系统架构里面的。我们用下面这张图来说明:
Windows DNA是微软为分布式应用程序的开发所提供的平台,它是微软将多年的技术精华集合起来而形成一个完整的多层结构的企业应用总体方案,它使Windows真正成为企业应用平台。Windows DNA实际上是微软的基于组件的分布式应用程序战略框架结构,具有可伸缩性和高可靠性。
在Windows DNA下,对比于上图,开发模型可以入下图所示:
从这个模型我们可以引申出很多模型来,例如对于基于WEB的应用程序,可以用下面的模型来表示: