• λ我爱Aspx >> C#.Net >> 从Windows DNA到.NET(2)
  • 从Windows DNA到.NET(2)

  • :aspxer  Դ:internet  :2007-5-20 15:38:37  ؼ:.net
  • 从Windows DNA到.NET(2)

    二、微软组件技术的演变--从COM到DCOM和MTS,直到COM+

    自从80年代面向对象的思想出现以来,从面向对象的程序设计语言到面向对象的程序设计方法,面向对象的思想迅速发展,渗透到计算机科学的每一个领域中来。在过去的10年中,对象技术的发展路径是从DDE(动态数据交换)、OLE(对象链接和镶入)、COM(组件对象模型)和ActiveX。在这些技术的发展过程中,始终遵循着一个思想:复用,使应用程序开发的复杂性降低。

    但是Internet/Intranet的飞速发展对应用软件提出了更高的要求,使得对象这个概念有些“小”,已经不适合Internet/Intranet下的分布式软件模型,于是组件化程序设计的思想得到了迅速发展。按照组件化程序设计的思想,复杂的应用程序被设计成一些小的,功能单一的组件模块,这些组件模块可以运行在同一台机器上,也可以运行在不同机器上。大家可以想想,为了使这些跨越不同机器、不同操作系统的组件能够相互通信,这些组件必须遵循一个统一的标准,为此,微软提出了COM标准,同时也给出了这些组件相互协作的环境。COM定义了组件和它们的客户(可以是其它组件)之间相互作用的方式,它可以使组件对象和客户程序不需要经过任何中介组件就能以一种统一的方式相互通信。而且,微软把COM技术用在了Windows系统的各个层次上。从操作系统级的COM对象一直到应用级的COM对象。

    对于同一台机器上的COM对象,它具有很好的进程透明性,即COM对象和客户程序可以在同一个进程中,也可以在不同的进程中,但COM对象和客户程序不用考虑具体的通信细节,如系统关于进程间通信的一些规定,只要你遵守了COM标准,你就可以按照一般的函数调用方式来完成调用。但是对于不同机器、不同网络的COM对象,它们如何实现通信呢?我们需要手工来写一些RPC(远程过程调用)之类的东西来完成吗?对此,微软发展了COM,使COM的进程透明性拓展为位置透明性,形成分布式组件对象模型,成为DCOM。DCOM使用了Object RPC协议作为底层的通信协议。DCOM是COM的无缝扩展,我们可以把它理解为COM和网络的结合。有了DCOM,我们可以不用理会那些复杂的底层网络协议的细节,DCOM为我们屏蔽了这些,我们仍然可以向以前一样,传递参数如同调用函数一样调用其它机器上的DCOM组件。DCOM除了拥有COM的语言无关性、可重用性好等有点以外,还提供了位置无关性、安全性好等新优点。DCOM可以作为分布式多层应用的基本架构,我们可以把业务逻辑层放在DCOM中实现,客户端只负责输入数据并把服务器的响应结果会传给客户端。但是DCOM由于牵涉到网络和安全性,配置起来比较复杂,令人头痛,这在部分程度上影响了它的使用。我们可以简单的说,DCOM提供了一种访问网络上其它机器的COM对象的手段。

    Ҷƪл˵?
  • һƪ从Windows DNA到.NET(3)
    һƪ从Windows DNA到.NET(1)