分享

com+

 jrlibrary 2015-01-05

概述 编辑本段

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

简介 编辑本段

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+事件)也通过可配置的属性公开。

类型 编辑本段

进程内组件:组件是在主调应用程序的进程范围内运行,是以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+应用程序的负载平衡特性并不需要编写代码来支持,客户程序和组件程序都可以按通常的方式实现。获得负载平衡特性并不是用程序设计的方式来实现的,而是通过配置实现分布式应用程序的负载平衡,如上所讲的队列服务,其实也反映了一种负载平衡。

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

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

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

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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多