COM+

生活百科 2023-01-26 08:58生活百科www.aizhengw.cn

COM+

COM+并不是COM的新版本,我们可以把它理解为COM的新发展,或者为COM更高层次上的套用。COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。有一种说法这样认为,COM+是COM、DCOM和MTS(Microsoft Transaction Server)的集成,这种说法有一定的道理,因为COM+确实综合了这些技术要素。但更重要的一点是,COM+倡导了一种新的概念,它把COM组件软体提升到套用层而不再是底层的软体结构,它通过作业系统的各种支持,使组件对象模型建立在套用层上,把所有组件的底层细节留给作业系统。

基本介绍

  • 中文名COM+
  • 属于开放的组件标準
  • 包括很强的扩充和扩展能力
  • 融入到Windows套用中

简介

COM是个开放的组件标準,它有很强的扩充和扩展能力,从COM到DCOM,再到MTS的发展过程也充分说明了这一点。对COM有使用经验的读者一定可以感觉到,虽然COM已经改变了Windows程式设计师的套用开发模式,把组件的概念融入到Windows套用中,由于种种原因,DCOM和MTS的许多优越性还没有为广大的Windows程式设计师所认识。MTS针对企业套用和Web套用的特点,在COM/DCOM的基础上又添加了许多功能和特性,包括事务特性、安全模型、管理和配置等,MTS使COM成为一个完整的组件体系结构。由于历史的原因,COM、DCOM和MTS相互之间并不很融洽,难以形成统一的整体,不过,这种状况很快就要结束,因为COM+将把这三者有效地统一起来,形成一个全新的、功能强大的组件体系结构,并且把DCOM和MTS的各种优势以更为简捷的方式带给Windows2000程式设计师和用户。
COM+不再局限于COM的组件技术,它更加注重于分散式网路套用的设计和实现,已经成为Microsoft系统平台策略和软体发展策略的一部分。COM+继承了COM几乎全部的优势,又避免了COM实现方面的一些不足。COM+紧紧地与作业系统结合起来,通过系统服务为应用程式提供全面的服务,这一部分介绍COM+的基本结构。

特性

与COM一样,COM+基于二进制组件和基于接口的编程。通过使用透明RPC层,可以跨越进程和计算机边界进行远程方法调用。正如COM组件那样,COM+组件可以在成品中升级和扩展,而不会对使用它们的客户端应用程式造成负面影响。
与MTS一样,COM+支持分散式事务和基于角色的安全性。它提供内置执行绪池方案,该方案与MTS的执行绪池方案一样透明。COM+编程模型同样利用侦听通过声明性属性向开发人员公开平台服务。,COM+比MTS更进一步地利用了基于属性的编程。除了事务性服务和集成安全性外,COM+还公开自定义对象构造、同步、对象池等服务。COM+的其他新功能(如排队组件和COM+事件)也通过可配置的属性公开。
COM+组成结构图

类型

进程内组件组件是在主调应用程式的进程範围内运行,是以DLL方式实现的。组件的实现是快速的,但由于和应用程式公用一个进程,导致了不安全的因素。
进程外组件它又可分为两类。本地伺服器进程组件,它是组件与调用组件者在同一机器上;远程伺服器进程组件,它是组件使用远程过程调用RPCs和客户应用程式进行通信。

套用

对Windows进行的任何技术讨论,必然要包括对组件对象模型COM的讨论。COM是一种对象技术,已成为Windows的全部(技术)的基础,并且还是Microsoft向Internet进军的一部分。COM不仅与用户相互作用,而且还是创建类似于应用程式中使用的按钮之类的组件的技术基础。换言之,不以某种方式讨论一下COM,就不能开始对Internet的Windows或Microsoft版本进行讨论。
跨环境调用示意图
就在一年前,ActiveX还是表达Microsoft进军Internet的新版COM的中心辞彙。,现在已经证明,ActiveX太庞大(儘管ActiveX控制项远远小于被它取代的OCX),太依赖于浏览器,而且对大多数人来说又有太多的安全风险。,Microsoft市场部正在用ActiveX来描述Microsoft正在发布的几乎每一项新技术,这样只能使客户更加迷惑。
当COM+及分散式网际网应用程式(DistributedinterNetApplication,DNA)出现在Internet时,就又有了两个新鲜而又激动人心的术语让你学习了。ActiveX不再是描述Microsoft的COM技术诸个方面的术语,它仅关係到在应用程式或内部网站点中创建并使用的组件。如果你正在谈论使能技术或DNA技术,如果你正在谈论COM+技术的进展情况,那幺在Internet上乾任何事现在都称为COM+。
WEB连结可以在上得到Microsoft种种最新的COM技术。这个站点可使你一直跟得上Microsoft正在引入的各种与COM相关的技术发展,以及预期它们是如何发展的。
事实上,作为C++程式设计师,需要了解相当多的基于COM的技术。下列章节将快速地浏览一下这些技术,并讨论如何将它们放入一般方案中。显然,在Microsoft升级其COM技术时,这种讨论也会有所变化。
分散式COM(DCOM)──网路接口COM的这一版允许组件和应用程式在网路上进行通信。DCOM设计得可以在相当多的网路协定──包括Internet使用的TCP/IP──上进行通信。DCOM为开发人员所能做到的,是允许客户的应用程式只要使用标準的COM接口,就可和运行于伺服器上的服务直接通信。实际上,这就意味着你可以设计一个控制项或一小段程式,使得客户机的应用程式从伺服器接收数据,然后在本地对这些数据进行计算。,DCOM使得我们可以在客户机和伺服器间进行安全通信,而不需关心所用的协定。
COM+──功能标準COM接口扩充。它是现有的COM标準的扩充,使开发人员能利用特殊的COM+调用来设计高级的控制项。COM+提供的最重要的COM扩充是数据捆绑,允许组件提供资料库访问。添加资料库访问,意味着可以使用COM+为能访问远程数据的Internet建立组件。COM+还是分散式网际网(DNA)体系结构的基础,而DNA是Microsoft的最新的Internet版本。
理论上,DNA允许COM组件可以在任意平台上执行,并且允许开发人员可以使用任意语言写出该组件。可以使用任意语言和任意平台进行工作的这部分能力,来源于一个称之为侦听器的COM+新特色。使用侦听器允许COM+组件可以在运行期间调用多种服务,而不是依赖于某一具体服务。你将使用侦听器接收和处理与实例创建、调用与返回、出错以及实例删除有关的事件。侦听器还提供了处理事务及系统监督的机制。
伫列组件模型结构图
Microsoft事务伺服器(MTS)──功能COM伺服器。信不信由你,MTS是COM的一部分,它允许开发人员创建“轻型(lite)”控制项,这种控制项集中于处理组件背后的事务逻辑,而不是处理组件所需要的全部接口。建立轻型控制项意味着能够更快地创建它们,使用时下载时间更少。MTS将成为IIS4.x的一部分。
ActiveX──功能组件建立。ActiveX最初是作为Internet的一项新技术而引入的,它是一种组件建立技术,它是Microsoft组件技术的第三个版本。将ActiveX从以前的OLE控制项扩充(OCX)中分离出来的原因之一是,可以在类似于Internet的高级潜在网路中使用它们。它们还设计得可以与浏览器一起工作,儘管在写出本书时真正使用它们的唯一浏览器只有InternelExplorer。ActiveX控制项的特色还包括增量绘製和代码签名,使得用户可以在控制项执行前识别出它们的作者。

优点

COM+不仅继承了COM所有的优点,而且还增加了一些服务,比如伫列服务、负载平衡、记忆体资料库、事件服务等。伫列服务对于分散式套用非常有意义,特别是在现在网路速度很慢的情况下,这种机制可以保证套用系统能够可靠地运行。在套用系统包含大量节点但伺服器又繁忙的情况下,客户应用程式可以把它们的请求放到伫列中,当伺服器负载比较轻的时候再处理这些请求;
COM+事件模型结构图
又如COM+提供了负载平衡服务,它可以实现动态负载平衡,而且COM+应用程式的负载平衡特性并不需要编写代码来支持,客户程式和组件程式都可以按通常的方式实现。获得负载平衡特性并不是用程式设计的方式来实现的,而是通过配置实现分散式应用程式的负载平衡,如上所讲的伫列服务,其实也反映了一种负载平衡。
(1)真正的异步通讯。COM+底层提供了伫列组件服务,这使客户和组件有可能在不同的时间点上协同工作,COM+套用无须增加代码就可以获得这样的特性。
(2)事件服务。新的事件机制使事件源和事件接收方实现事件功能更加灵活,利用系统服务简化了事件模型,避免了COM可连线对象机制的琐碎细节。
(3)可伸缩性。COM+的可伸缩性来源于多个方面,动态负载平衡以及记忆体资料库、对象池等系统服务都为COM+的可伸缩性提供了技术基础,COM+的可伸缩性原理上与多层结构的可伸缩特性一致。
(4)可管理和可配置性。管理和配置是套用系统开发完成后的行为,在软体维护成本不断增加的今天,COM+套用将有助于软体厂商和用户减少这方面的投入。
(5)易于开发。COM+套用开发的複杂性和难易程度将决定COM+的成功与否,虽然COM+开发模型比以前的COM组件开发更为简化,但真正提高开发效率仍需要藉助于一些优秀的开发工具。
COM+组件编译过程示意图
COM+标誌着Microsoft的组件技术达到了一个新的高度,它不再局限于一台机器上的桌面系统,它把目标指向了更为广阔的企业内部网,甚至Internet国际互连网路。COM+与多层结构模型以及Windows作业系统为企业套用或Web套用提供了一套完整的解决方案。
上一篇:Gerald Paetz 下一篇:Liquid Edition

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有