- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
COM/DCOM的接口COM/DCOM/COM+组件COM/DCOM的接口默认接口(IUnKnown)及其定义组件中总存在一个默认的接口IUnknownInterfaceIUnKnown{HRESULTQueryInterface([in]REFIIDiid,[out]void**ppv);//查询COM所定义的其它接口ULongAddRef(void);//引用计数器增1ULongRelease(void);//引用计数器减1};COM/DCOM的接口COM/DCOM/COM+组件COM的生存期当接收到客户引用COM申请,建立引用,引用计数器增1撤消引用时,引用计数器减1,当引用计数器为0时,组件撤消。接口的特性接口的二进制特性——接口的规范与程序设计语言无关接口不变性——组件的接口保持相对不变接口的动态多变性——函数重载COM/DCOM的类型COM/DCOM/COM+组件进程内组件——在同一进程中运行的组件。通常以DLL的形式出现,应用程序启动或调用时,加载组件。进程名组件——在自身独立的进程中运行的组件。通常以EXE的形式出现,可以是本地调用,也可以是远程调用。DLL和EXE的主要差别:EXE组件运行时只是一个组件;DLL组件每个应用将拥有不同的组件个体;DLL组件的效率高于EXE组件;EXE组件可独立运行。真正的异步通讯。COM+底层提供了队列组件服务,这使客户和组件有可能在不同的时间点上协同工作,COM+应用无须增加代码就可以获得这样的特性。事件服务。新的事件机制使事件源和事件接收方实现事件功能更加灵活,利用系统服务简化了事件模型,避免了COM可连接对象机制的琐碎细节。可伸缩性。COM+的可伸缩性来源于多个方面,动态负载平衡以及内存数据库、对象池等系统服务都为COM+的可伸缩性提供了技术基础,COM+的可伸缩性原理上与多层结构的可伸缩特性一致。继承并发展了MTS的特性。从COM到MTS是一个概念上的飞跃,但实现上还欠成熟,COM+则完善并实现了MTS的许多概念和特性。可管理和可配置性。管理和配置是应用系统开发完成后的行为,在软件维护成本不断增加的今天,COM+应用将有助于软件厂商和用户减少这方面的投入。易于开发。COM+应用开发的复杂性和难易程度将决定COM+的成功与否,虽然COM+开发模型比以前的COM组件开发更为简化,但真正提高开发效率仍需要借助于一些优秀的开发工具。123456COM+的几个主要特性:COM/DCOM/COM+组件COM/DCOM/COM+组件COM+的几个新特性:COM+队列组件——COM+除了支持基于RPC连接的运行方式,它还支持另一种基于消息通讯过程的运行模式,它可以有效地把客户与组件的生存期分离开。这种模式就是通过COM+的队列组件服务实现的。COM/DCOM/COM+组件COM+的几个新特性:COM+队列组件队列组件并没有使用直接的RPC连接,而是采用了底层的消息系统MSMQ(MicrosftMessageQueueServer)。通过底层的队列机制,客户与组件的生存周期可以被分离在不同的时间点上。客户程序不再直接调用组件对象,它利用消息机制与组件对象进行通讯,即使组件对象并没有运行,客户程序仍然可以执行操作。COM+应用可以以透明方式支持同步和异步两种调用方式,当客户和组件程序建立了连接之后,客户以同步方式直接调用组件的方法;如果客户与组件没有建立直接的连接,那么客户以异步方式与组件进行通讯。在慢速网络上运行的应用系统,这种机制可以保证应用系统能够可靠地运行。在应用系统包含大量客户节点但服务器数量又比较少的情况下,客户应用程序可以把它们的请求放到队列中,当服务器负载比较轻的时候再处理这些请求,因此队列机制也从另一个角度实现了应用系统的负载平衡以及可伸缩特性。COM/DCOM/COM+组件COM+的几个新特性:COM+事件模型——COM+事件模型改进了COM的可连接对象机制,它采用了多通道的发布/订阅(multicastingpublish/subscribe)事件机制,它允许多个客户去“订阅”事件,这些事件由各种组件对象“发布”。COM/DCOM/COM+组件COM+的几个新特性:COM+事件模型COM+事件服务维护一个事件数据库,数据库包含各种事件、发布者、订阅者以及所有的订阅信息。当发布者激发事件时,COM+事件服务对事件数据库中有关的订阅信息进行检查,然后通知对应的订阅者。COM+事件模型通过事件类来传递源对象的出接口事件信息,以便它可以与客户方的入接口事件方法相
文档评论(0)