资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,为什么要使用,COM,开发程序?,吴 长 彬,COM,的利弊,团队(并行)开发需要一种好的集成方法,COM,组件易于替换,COM,与语言无关性,COM,有利于软件的复用,版本难以控制,接口一旦发布就难以修改,优点,缺点,COM,与三层体系结构,利用,COM,易于实现三层体系结构:,表示层、企业层、数据层,企业层,表示层,数据层,应用程序,DBMS,企业,对象,数据,对象,DCOM,ADO,COM,原理与方法,吴 长 彬,COM,的相关概念,COM,表示,Component Object Model(,组件对象模型,),,,COM,不是编程语言、代码库或编译器,而是个二进制规范。,接口(,Interface,),接口类型,Iunkown,基本接口,,QueryInterface,、,AddRef,、,Release,Idispatch,从,Iunkown,继承,如果程序不用脚本开发,最好不用该类型接口,双接口(,dual-interface),一般用于,Automation,对象,接口规则,接口是不可变的,每一个接口具有唯一的标识符,GUID,函数应返回,HRESULT,字符串参数应为,UNICODE,COM,与面向对象技术,面向对象可以而且一般通过,COM,实现,但,COM,不一定都是面向对象的。,COM,可以具有与面向对象相同的特性。,封装性,继承性,多态性,ActiveX,ActiveX,与一般的,COM,的区别在于通常具有用户界面。,DCOM,DCOM,(,Distributed COM),是,COM,的延伸,它允许应用程序调用其他机器中的,COM,对象。,客户端执行程序,服务端执行程序,客户端应用程序,Proxy,Dll,Stub,Dll,server,DCOM,DCOM,与,COM,的区别,COM,有两种存在形式,动态连接库和可执行程序,但,DCOM,必须是可执行程序,.,因为,DCOM,不可能在客户程序的内存空间运行,所以不能是动态连接库,.,COM(,动态连接库形式,),可以不用,RPC,通信,而,DCOM,必须使用,RPC,远程调用,.,COM,程序配置简单,DCOM,配置较复杂,.,毕竟,DCOM,牵涉到网络和安全性,.,COM+,COM,与,MTS,(,Microsoft Transaction Server,)相结合产生了下一代的,MTS/COM+,。,MTS/COM+,也用于解决分布式问题,但,MTS/COM+,具备了更好的品质:事务处理和安全机制。,微软对,COM+,的定义为“基于,Microsoft Transaction Server(MTS),和组件对象模型,(COM),扩展的一组服务,提供了改良的线程和安全性、事务管理、对象池、排队组件以及应用程序管理及打包”。,MTS,事务管理,事务管理的运算对于所有数据的改变必须是完全成功,并且把数据的状态成功地改变成另外一个状态。否则所有事务管理执行的运算就必须把数据恢复成这个事务管理还没有执行之前的状态。,支持事务,不支持事务,需要事务,需要新事务,如何用,Delphi,开发简单的,COM,?,吴 长 彬,COM,程序开发过程,组件群分类,接口定义和参数设计,逻辑代码编写,模块测试,组件发布,组件功能划分,应用程序,/DEMO.EXE,协调组件,/Coordinate.dll,业务逻辑组件,平台组件,瘦客户端,仅仅接受用户的输入,连接协调业务逻辑组件,传递参数,企业逻辑实现,具体算法,较成熟稳定的独立的平台,DCOM,程序,DELPHI,客户端程序,ClientDataset,组件,RemotServer,组件,MIDAS.DLL,远程数据模块,Iappserver,接口,DatasetProvider,组件,数据集组件,BDE/OLE DB/ADO,数据库服务器,
展开阅读全文