COM、COM+和DCOM的定义和区别

COM、COM+和DCOM的定义和区别解释 COM COM 和 DCOM 的定义和区别 COM 是组件对象模型 是实现 3 N 层应用的基础 它的目的就是组件化 应用程序分层 DCOM 是分布式的 COM 也就说可以远程的创建 最初它利用远程自动化来实现 用注册 VBR 的方法来配置客户端 来适应 DCOM 服务器 COM 现在的概念不很清楚 因为它是一个扩展集 MS 现在的 MTS 取代了远程自动化这种原始的功能很弱的方法后 他们似乎已经都是一个集合体

解释COM、COM+和DCOM的定义和区别?

COM是组件对象模型,是实现3/N层应用的基础,它的目的就是组件化,应用程序分层.DCOM是分布式的COM,也就说可以远程的创建,最初它利用远程自动化来实现,用注册VBR的方法来配置客户端,来适应DCOM服务器. COM+现在的概念不很清楚,因为它是一个扩展集,MS现在的MTS取代了远程自动化这种原始的功能很弱的方法后,他们似乎已经都是一个集合体.

何谓Mts?

MTS(Microsoft      Transaction      Server)是微软为其Windows      NT操作系统推出的一个中间件产品,由于它具有强大的分布事务支持、安全管理、资源管理和多线程并发控制等特性,使其成为在Windows平台上开发大型数据库应用系统的首选产品。由于MTS屏蔽了底层实现的复杂性,极大地简化了这类应用的开发,程序员可以将精力集中在业务逻辑上,因而有效地提高了软件的开发效率.

组件对象模型(COM   Componet Object Model),是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块。

COM所含的概念并不止是在Microsoft Windows操作系统下才有效。COM并不是一个大的API(用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95 和Windows NT操作系统上的应用程序。),它实际上象结构化编程及面向对象编程方法那样,也是一种编程方法。在任何一种操作系统中,开发人员均可以遵循“COM方法”。

一个应用程序通常是由单个的二进制文件组成的。当编译器生成应用程序之后,在对下一个版本重新编译并发行新生成的版本之前,应用程序一般不会发生任何变化。操作系统,硬件及客户需求的改变都必须等到整个应用程序被重新生成。

目前这种状况已经发生变化。开发人员开始将单个的应用程序分隔成单独多个独立的部分,也既组件。这种做法的好处是可以随着技术的不断发展而用新的组件取代以有的组件。此时的应用程序可以随新组件不断取代旧的组件而渐趋完善。而且利用已有的组件,用户还可以快速的建立全新的应用。

传统的做法是将应用程序分割成文件,模块或类,然后将它们编译并链接成一个单模应用程序。(静态的链接,文件扩展名为.obj,在进程内实现的)它与组件建立应用程序的过程(称为组件构架)有很大的不同。一个组件同一个微型应用程序类似,即都是已经编译链接好并可以使用的二进制代码,应用程序就是由多个这样的组件打包而得到的。单模应用程序只有一个二进制代码模块。自定义组件可以在运行时刻同其他的组件连接起来以构成某个应用程序。在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可(动态的链接,文件扩展名为.dll,是在进程外实现的)。

COM即组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。

COM是一种说明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制和网络标准。通过这种标准将可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。

COM的优点?

首先:用户一般希望能够定制所用的应用程序,而组件技术从本质上讲就是可被定制的,因而用户可以用更能满足他们需要的某个组件来替换原来的那个。其次,由于组件是相对应用程序独立的部件,我们可以在不同的程序中使用同一个组件而不会产生任何问题,软件的可重用性将大大的得到增强。第三,随着网络带宽及其重要性的提高,分布式网络应用程序毫无疑问的成为软件市场上越来越重要的买点。组件价构可以使得开发这类应用程序的过程得以简化。

DCOM是微软与其他业界厂商合作提出的一种分布组件对象模型,它是COM在分布计算方面的自然延续,为分布在网络不同节点的两个COM组件提供了互操作的基础结构。DCOM增强COM的分布处理性能,支持多种通信协议,加强组件通信的安全保障,把基于认证Internet安全机制同基于Windows
NT的C2级安全机制集成在一起。但从系统内部的实现机制而言,DCOM所采用的技术仍符合图1所示的COM模式。
  DCOM自动建立连接、传输信息并返回来自远程组件的答复。DCOM组件中的作用有如PC机间通信的PCI和ISA总线,负责各种组件之间的信息传递,如果没有DCOM,则达不到分布计算环境的要求。微软通过纳入事务处理服务、更容易的编程以及对Unix和其它平台的支持扩充了DCOM
  建立DCOM时和使用COM建立对象的方式是相同的,只需再加入一个机器名称的参数。如果COM通过Windows API的CoGetClassObject建立对象,只需再输入机器名称的参数即可在远程指定的计算机中建立对象,并且取得指定接口的信息。它构造于RPC的技术之上,并且使用TCP/IP作为网络通信协议。


什么是COM+ ?

COM+并不是COM的简单升级,COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容,COM+综合了COM、DCOM和MTS这些技术要素,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统,因此,COM+与操作系统的结合更加紧密。

       COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现。COM+继承了COM几乎全部的优势,同时又避免了COM实现方面的一些不足,把COM、DCOM和MTS的编程模型结合起来,继承了它们的绝大多数特性,在原有的特性上增加了新的功能。

COM+的新的优点?

     以下列出COM+的几个主要特性:

     COM+不仅继承了COM所有的优点,而且还增加了一些服务,比如队列服务、负载平衡、内存数据库、事件服务等。

   队列服务对于分布式应用非常有意义,特别是在现在网络速度很慢的情况下,这种机制可以保证应用系统能够可靠地运行。在应用系统包含大量节点但服务器又繁忙的情况下,客户应用程序可以把它们的请求放到队列中,当服务器负载比较轻的时候再处理这些请求;

   又如COM+提供了负载平衡服务,它可以实现动态负载平衡,而且COM+应用程序的负载平衡特性并不需要编写代码来支持,客户程序和组件程序都可以按通常的方式实现。获得负载平衡特性并不是用程序设计的方式来实现的,而是通过配置实现分布式应用程序的负载平衡,如上所讲的队列服务,其实也反映了一种负载平衡。

(1) 真正的异步通讯。COM+底层提供了队列组件服务,这使客户和组件有可能在不同的时间点上协同工作,COM+应用无须增加代码就可以获得这样的特性。

    (2) 事件服务。新的事件机制使事件源和事件接收方实现事件功能更加灵活,利用系统服务简化了事件模型,避免了COM可连接对象机制的琐碎细节。

     (3) 可伸缩性。COM+的可伸缩性来源于多个方面,动态负载平衡以及内存数据库、对象池等系统服务都为COM+的可伸缩性提供了技术基础,COM+的可伸缩性原理上与多层结构的可伸缩特性一致。

(4) 可管理和可配置性。管理和配置是应用系统开发完成后的行为,在软件维护成本不断增加的今天,COM+应用将有助于软件厂商和用户减少这方面的投入。

(5) 易于开发。COM+应用开发的复杂性和难易程度将决定COM+的成功与否,虽然COM+开发模型比以前的COM组件开发更为简化,但真正提高开发效率仍需要借助于一些优秀的开发工具。

COM+标志着Microsoft的组件技术达到了一个新的高度,它不再局限于一台机器上的桌面系统,它把目标指向了更为广阔的企业内部网,甚至Internet国际互连网络。COM+与多层结构模型以及Windows操作系统为企业应用或Web应用提供了一套完整的解决方案

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233563.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lcd1602使用手册_lcd1602的rs,rw和e三个引脚的功能

    lcd1602使用手册_lcd1602的rs,rw和e三个引脚的功能1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。lcd1602引脚状态字的说明:RAM映射地址:控制接口的时序:1.读的时序2.写的时序3.时序的相关参数读状态:RS=L,R/W=H,EN=H读数据:RS=H,…

    2022年4月19日
    3.0K
  • ajax error parsererror,ajax jsonp parsererror原因及解决方法

    ajax error parsererror,ajax jsonp parsererror原因及解决方法在前端通过ajax请求后台之后返回的时候,出现了下面的异常:textStatus:”parsererror”;ajax请求代码如下:functiongenerate(url){$.ajax({type:”GET”,url:url,dataType:”jsonp”,timeout:5000,success:function(data){},error:function(XMLHtt…

    2022年6月15日
    26
  • 在eclipse中拉取github互联网上的代码

    在eclipse中拉取github互联网上的代码

    2021年7月17日
    69
  • mongodb集群搭建步骤

    mongodb集群搭建步骤

    2021年9月5日
    44
  • oracle中number的用法,Oracle Number数字

    oracle中number的用法,Oracle Number数字oracle函数的OracleNumber数字在本教程中,您将学习OracleNUMBER数据类型以及如何使用它来为表定义数字列。OracleNUMBER数据类型简介OracleNUMBER数据类型用于存储可能为负值或正值的数值。以下说明了NUMBER数据类型的语法:NUMBER[(precision[,scale])]OracleNUMBER数据类型具有以下精度和尺度。精度是一…

    2022年7月24日
    7
  • SuperMap 最佳路径分析流程

    SuperMap 最佳路径分析流程学SuperMap也有一段时间了,总结一下软件下载:请到超图技术资源中心:http://support.supermap.com.cn第一步:导入数据第二步:选择数据选择线的时候多选一点线,路径分析最重要的就是路第三步:构建二维网格设置二维网格第四步:测试最佳路径第五步:发布下载:supermap-iserver下载请到超图技术资源中心:http://support.sup…

    2022年8月24日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号