COM组件及其设计.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 同一COM组件可以在不同的应用环境中重复使用。 COM组件不一定是为专门的系统而设计,可以有较宽的 应用领域,不会因为某一系统的"过时"而被"废弃"。
二、COM组件的特点
3、组件运行效率高、便于使用和管理。 组件是二进制代码,运行效率比ASP脚本高 很多。核心的商务逻辑计算任务必须由组 件来担纲,ASP脚本只起组装的角色。而且 组件在网络上的位置可被透明分配,组件和 使用它的程序能在同一进程中、不同进程 中或不同机器上运行。
四、DNS、MTS
1、 DNA三层体系结构 DNA还有其技术层面的考虑, Windows DNA(Windows Distributed Internet Applications Architecture)在具体的技术范畴是指分布式互连 网应用结构 。
并将COM概念应用于Internet,利用COM组件对象 在中间层进行事务逻辑服务,处理各种复杂的商务 逻辑计算和演算规则。其中使用一系列普通的服 务,包括Web服务、组件服务和信息服务,而这些服 务都通过COM以一种统一的方式展示出来,使诸多 应用之间易于交互操作和共享组件。
四、DNS、MTS
(3)事务协调 MTS提供了对多个对象及多种数据库进行 事务协调控制的能力,支持事务性组件、事 务性ASP及对多个数据库的事务性处理。
四、DNS、MTS
4、DNA、MTS的优势
(1)Windows DNA的技术思想使应用开发有了明确的 分工。一部分人员专注于事务逻辑层COM组件的开发 和测试工作;另一部分人员根据商务逻辑的需要选择和 使用COM 组件, 使用组件提供的统一对外接口而无须 了解其功能实现的内部细节,最终以精练的ASP脚本语 言把组件集成到页面之中,从而有效降低了开发难度,加 快了开发进度。由于事务逻辑处理都是由COM组件完 成,ASP脚本的负担就很轻了,主要承担COM组件的"黏 合"任务。ASP 页面也就变得清晰、易读,便于调试,更 不会出现开发活动因研发人员的中途变动而使整个工 作搁浅的局面。COM组件可利用VB、VC和C++等多 种语言工具实现,其处理事务逻辑的能力十分强大。
4、COM不是一种语言,而是一种标准、规范,包括一套 标准API、一个标准的接口集以及COM用于支持分布 式计算的网络协议。
一、COM组件定义和DNA思想简介
5、COM 组 件 是 遵 循 COM 规 范 编 写 、 以 Win32 动 态 链 接 库 (DLL)或可执行文件(EXE)形式发布的可执行二进制代码, 能够满足对组件架构的所有需求。遵循COM的规范标准, 组件与应用、组件与组件之间可以互操作,极其方便地建 立可伸缩的应用系统。
四、DNS、MTS
"表示层/事务逻辑层/数据服务层"
四、DNS、MTS
• 表示层:用户界面部分。主要是通过在客户端浏览器中运行 HTML、DHTML、Scripting、JavaApplet 和 ActiveX( 在 IE5.0 中 还 可运行XML)以实现用户与应用逻辑处理结果的通信。在Internet 应用环境中,表示层的工作由瘦型客户机来完成。
三、COM组件对象的软件工程方法
(2)虽然不用定制的组件,仅使用ASP也能实 现绝大部分的服务器端事务处理,但相对组 件而言,仅凭ASP脚本来构建应用系统存在 着明显的局限性。首先,解释脚本比运行一 个对象要慢得多,不利于向大范围的用户推 广;其次,脚本不能从功能中分离出来,用脚本 编写的事务逻辑划分不明晰,增大了发现错 误的难度,无形中加大了排错的开销;而且组 件是可重用的,脚本则谈不上真正意义上的 重用性。
三、COM组件对象的软件工程方法
3、VB制作COM的步骤 (1)制作ActiveX DLL
• 在新建工程中选择新建ActiveX DLL; • 在工具菜单中选择“添加过程”; • 若该DLL具有某方法,则选择添加“子程序”或
“函数”; • 若该DLL具有某属性,则选择添加“属性”; • 编写具体实现代码。
2 、 主 要 的 组 件 技 术 有 COM/DCOM、CORBA 和 JAVABEAN几种。
3、COM/DCOM组件技术是由Mi 代 表 Component Object Model( 组 件 对 象 模 型 ) , DCOM 代 表 Distributed Component Object Model。
二、COM组件的特点
1、组件与开发工具语言无关。
(1)VB、VC、JAVA等
(2)对于Internet应用而言,完成事务逻辑处理计 算任务的组件以Visual Basic进行开发是首选方案。 其结果是开发迅速,调试方便,编译之后的组件以二 进制的形式发布,可跨Windows 平台使用,而且源 程序代码不会外泄,有效地保证了组件开发者的版 权。
6、COM 是 一 种 技 术 标 准 , 其 商 业 品 牌 则 称 为 ActiveX。 ActiveX 是 Microsoft 遵 循 COM/DCOM 规 范 而 开 发 的 用 于 Internet的一种对象连接与嵌入技术(OLE)。ActiveX是 从复合文档技术OLE成长以来的。OLE最初发布的版本只 是瞄准符合文档,但在OLE2中引入了COM。一般常用的 COM组件有两类:ActiveX DLL和ActiveX 控件 。
MTS的强大功能主要表现在其对组件和访库的支持上。 我们可以将中间层中所有ActiveX DLL组件置于MTS的 统一管理之下,以实现对成批组件的部署和管理。当多 个用户同时访问主页时,MTS将ActiveX DLL放入线程 池,自动进行管理,从而避免网络拥塞。
四、DNS、MTS
(1)管理数据库连接
(3) COM组件与用户的接口应尽量简单、友好。
三、COM组件对象的软件工程方法
(4) COM组件如果是可视的(ActiveX控件),则只能 有一个可视化界面。
(5)接口应具有较高的通用性,以提高整个应用系 统的复用能力,同时还要兼顾简单和实用性。在设 计组件接口时,还要尽量估计到将来可能出现的各 种情况,力争设计出具有高复用性、适应性和灵活 性的接口。
大,都可以在Microsoft Visual Basic中使用。从 应用方式来说,ASP对象和ActiveX DLL的不同 之处在于其打包方法。ASP对象是始终能在 VBScript中应用的ActiveX元素,不用明确地创建 ASP对象;ActiveX DLL是存在于ASP结构之外 的DLL,在应用中须首先创建该对象实例。从应 用范围来说,ASP对象主要用于为客户端保存信 息,提供客户的处理请求;而ActiveX DLL则主要 用于中间层的事务逻辑处理,功能更强,应用范围 更广。
• COM 组件之间是彼此独立的。当应用需求发生变更时, 可能需要更换中间层的个别COM组件,但这并不会影响 其他组件的继续使用。
• COM 组件具有若干对外接口(属性和方法),相当于芯片 的“管脚”。根据不同的应用需求,可以有选择地使用 不同的管脚。即使某些管脚被“废弃”,COM组件本身 仍然可继续使用。
二、COM组件的特点
2、通过接口有效保证了组件的重用性。
• 每个接口代表组件的某个属性或方法 (1)负责集成的开发人员无需了解组件功能是如何
实现的,只需简单地创建组件对象并与其接口建立 连接。 (2)在保证接口一致性的前提之下,可以调换组件、 更新版本,也可以把组件安插在不同的应用系统中。
二、COM组件的特点
一、COM组件定义和DNA思想简介
7、微软提出的DNA概念是借助生命科学中脱氧核糖核酸 (DNA)的寓意来诠释现代企业信息结构的真谛。比尔·盖茨 称之为数字神经系统,寓示信息系统可以灵活适应外界环 境因素的变化,作出相应的反应。那些能灵活适应客观环 境变化、调节系统功能并可有效重用的软件单位应当像神 经细胞一样充满生命的活力,而这些软件的细胞就是组件 对象模型COM(Component Object Model)的各种衍生物。 如果从OLE算起,COM沿革至今是一个从量变到质变的过 程。现在,随着Internet技术的飞速发展,COM组件又被用 于Web应用系统,进行事务逻辑处理(一般来说,针对系统称 为事务逻辑,针对应用称为商务逻辑),以实现更为复杂的商 务应用。可见,COM既是一种技术,也是一种值得玩味的开 发方法。
MTS架设在应用程序和数据库之间,使数据库只保持一 个和MTS的连接而不是若干个和应用客户的直接连接。 同样,应用程序只需一个和MTS的连接而不用因访问多 个数据库而建立多个数据库连接,从而减轻了维护所有 那些出自数据库的连接带来的负担,使数据库的性能更 好、响应更快。
(2)管理分布式对象
MTS允许将一系列ActiveX DLL组件分配到网上的不同 服务器上。MTS记录下每个组件的位置,并负责这些组 件与应用程序的通信。还可以将某个组件复制后分布 到多台服务器上,以便MTS在各个副本间平衡负荷,使应 用程序得到最优化的响应。
(3)注册组件 运行时编译 regsVR32 路径+文件名
三、COM组件对象的软件工程方法
(4)在ASP中使用组件
ActiveX DLL: Set 变量名=Server.CreateObject(“类名”)
ActiveX控件:<OBJECT> 引入
三、COM组件对象的软件工程方法
4. ASP对象和ActiveX DLL比较 (1)ASP内置对象和定制的ActiveX DLL差别不
四、DNS、MTS
2、MTS工作原理
四、DNS、MTS
3、 MTS的主要功能
MTS是一个基于组件的事务处理系统,用于开发配置和管 理高性能、可测和可靠的Internet及Intranet企业级应 用程序,提供了包括数据连接缓冲、线程管理、事务服 务等多项服务,很好地解决了多客户端利用组件频繁访 问后台数据库等一系列问题。使用好MTS不仅仅是一 个简单的技术问题,还需要运行经验的不断积累。
• 数据服务层 为应用提供数据来源。和以上的两层体系结构不同, 数据库不再和每个活动客户保持一个连接,而是若干个客户通过应 用逻辑组件共享数据库的连接,从而减少了连接次数,提高了数据 服务器的性能和安全性。我们可以根据需要选择Microsoft SQL Server、Oracle或任何与OLE DB或ODBC兼容的数据源。
三、COM组件对象的软件工程方法
1、设计流程
三、COM组件对象的软件工程方法
2、设计原则
(1)用户对数据库的请求应通过COM组件实现。 将访问权限授予COM组件,保证了访问数据库 的安全性;把对每个用户的连接变成和COM组 件的连接,以避免数据库资源的浪费和崩溃的危 险。
(2) 组件粒度不宜过大,尽量让每一个COM组 件实现某一个或一类相似的应用请求,而不要追 求其功能的过分繁多。保证每个组件对象完成 的商务逻辑功能相对单一,有助于发挥重用机制 和调节DNA的适应性。
COM组件及其设计
一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法
1、设计流程 2、设计原则 3、VB制作COM的步骤
四、DNS、MTS
一、COM组件定义和DNA思想简介
1、组件技术是近年发展起来的一种优秀的软件重用技术。 采用组件开发软件就像搭积木一样容易,组件是具有 某种特定功能的软件模型,它几乎可以完成任何任务。
三、COM组件对象的软件工程方法
(2)对组件进行设计时测试 在VB内部测试:添加一个标准EXE工程
利用VC的ActiveX Control Test Container 对 ActiveX控件进行测试:对控件的注册、注销及 重注册
在注册表中删除:regedit
三、COM组件对象的软件工程方法
• 事务逻辑层:负责处理表示层的应用请求,完成商务逻辑的计算任 务,并将处理结果返回给用户。事务逻辑处理层是将原先置于客户 端的事务逻辑分离出来,集中置于服务器部分,为所有用户共享。 事务逻辑层是整个应用的核心部分,而组件对象模型COM则相当 于心脏。事务逻辑层通过 COM进行事务处理,并由IIS(Internet Information Server)和MTS(Microsoft Transaction Server)为各种 应用组件提供完善的管理。
(3)其重用性主要表现在以下的使用场合:
• COM 组件并不是专为一种Windows平台而设计的,同 一COM组件可以在Win95、Win98、Workstation及NT 上 使 用 。 组 件 既 可 以 被 嵌 入 动 态 Web 页 面 , 又 可 以 在 LAN或桌面环境的VB和VC等应用中使用。
二、COM组件的特点
3、组件运行效率高、便于使用和管理。 组件是二进制代码,运行效率比ASP脚本高 很多。核心的商务逻辑计算任务必须由组 件来担纲,ASP脚本只起组装的角色。而且 组件在网络上的位置可被透明分配,组件和 使用它的程序能在同一进程中、不同进程 中或不同机器上运行。
四、DNS、MTS
1、 DNA三层体系结构 DNA还有其技术层面的考虑, Windows DNA(Windows Distributed Internet Applications Architecture)在具体的技术范畴是指分布式互连 网应用结构 。
并将COM概念应用于Internet,利用COM组件对象 在中间层进行事务逻辑服务,处理各种复杂的商务 逻辑计算和演算规则。其中使用一系列普通的服 务,包括Web服务、组件服务和信息服务,而这些服 务都通过COM以一种统一的方式展示出来,使诸多 应用之间易于交互操作和共享组件。
四、DNS、MTS
(3)事务协调 MTS提供了对多个对象及多种数据库进行 事务协调控制的能力,支持事务性组件、事 务性ASP及对多个数据库的事务性处理。
四、DNS、MTS
4、DNA、MTS的优势
(1)Windows DNA的技术思想使应用开发有了明确的 分工。一部分人员专注于事务逻辑层COM组件的开发 和测试工作;另一部分人员根据商务逻辑的需要选择和 使用COM 组件, 使用组件提供的统一对外接口而无须 了解其功能实现的内部细节,最终以精练的ASP脚本语 言把组件集成到页面之中,从而有效降低了开发难度,加 快了开发进度。由于事务逻辑处理都是由COM组件完 成,ASP脚本的负担就很轻了,主要承担COM组件的"黏 合"任务。ASP 页面也就变得清晰、易读,便于调试,更 不会出现开发活动因研发人员的中途变动而使整个工 作搁浅的局面。COM组件可利用VB、VC和C++等多 种语言工具实现,其处理事务逻辑的能力十分强大。
4、COM不是一种语言,而是一种标准、规范,包括一套 标准API、一个标准的接口集以及COM用于支持分布 式计算的网络协议。
一、COM组件定义和DNA思想简介
5、COM 组 件 是 遵 循 COM 规 范 编 写 、 以 Win32 动 态 链 接 库 (DLL)或可执行文件(EXE)形式发布的可执行二进制代码, 能够满足对组件架构的所有需求。遵循COM的规范标准, 组件与应用、组件与组件之间可以互操作,极其方便地建 立可伸缩的应用系统。
四、DNS、MTS
"表示层/事务逻辑层/数据服务层"
四、DNS、MTS
• 表示层:用户界面部分。主要是通过在客户端浏览器中运行 HTML、DHTML、Scripting、JavaApplet 和 ActiveX( 在 IE5.0 中 还 可运行XML)以实现用户与应用逻辑处理结果的通信。在Internet 应用环境中,表示层的工作由瘦型客户机来完成。
三、COM组件对象的软件工程方法
(2)虽然不用定制的组件,仅使用ASP也能实 现绝大部分的服务器端事务处理,但相对组 件而言,仅凭ASP脚本来构建应用系统存在 着明显的局限性。首先,解释脚本比运行一 个对象要慢得多,不利于向大范围的用户推 广;其次,脚本不能从功能中分离出来,用脚本 编写的事务逻辑划分不明晰,增大了发现错 误的难度,无形中加大了排错的开销;而且组 件是可重用的,脚本则谈不上真正意义上的 重用性。
三、COM组件对象的软件工程方法
3、VB制作COM的步骤 (1)制作ActiveX DLL
• 在新建工程中选择新建ActiveX DLL; • 在工具菜单中选择“添加过程”; • 若该DLL具有某方法,则选择添加“子程序”或
“函数”; • 若该DLL具有某属性,则选择添加“属性”; • 编写具体实现代码。
2 、 主 要 的 组 件 技 术 有 COM/DCOM、CORBA 和 JAVABEAN几种。
3、COM/DCOM组件技术是由Mi 代 表 Component Object Model( 组 件 对 象 模 型 ) , DCOM 代 表 Distributed Component Object Model。
二、COM组件的特点
1、组件与开发工具语言无关。
(1)VB、VC、JAVA等
(2)对于Internet应用而言,完成事务逻辑处理计 算任务的组件以Visual Basic进行开发是首选方案。 其结果是开发迅速,调试方便,编译之后的组件以二 进制的形式发布,可跨Windows 平台使用,而且源 程序代码不会外泄,有效地保证了组件开发者的版 权。
6、COM 是 一 种 技 术 标 准 , 其 商 业 品 牌 则 称 为 ActiveX。 ActiveX 是 Microsoft 遵 循 COM/DCOM 规 范 而 开 发 的 用 于 Internet的一种对象连接与嵌入技术(OLE)。ActiveX是 从复合文档技术OLE成长以来的。OLE最初发布的版本只 是瞄准符合文档,但在OLE2中引入了COM。一般常用的 COM组件有两类:ActiveX DLL和ActiveX 控件 。
MTS的强大功能主要表现在其对组件和访库的支持上。 我们可以将中间层中所有ActiveX DLL组件置于MTS的 统一管理之下,以实现对成批组件的部署和管理。当多 个用户同时访问主页时,MTS将ActiveX DLL放入线程 池,自动进行管理,从而避免网络拥塞。
四、DNS、MTS
(1)管理数据库连接
(3) COM组件与用户的接口应尽量简单、友好。
三、COM组件对象的软件工程方法
(4) COM组件如果是可视的(ActiveX控件),则只能 有一个可视化界面。
(5)接口应具有较高的通用性,以提高整个应用系 统的复用能力,同时还要兼顾简单和实用性。在设 计组件接口时,还要尽量估计到将来可能出现的各 种情况,力争设计出具有高复用性、适应性和灵活 性的接口。
大,都可以在Microsoft Visual Basic中使用。从 应用方式来说,ASP对象和ActiveX DLL的不同 之处在于其打包方法。ASP对象是始终能在 VBScript中应用的ActiveX元素,不用明确地创建 ASP对象;ActiveX DLL是存在于ASP结构之外 的DLL,在应用中须首先创建该对象实例。从应 用范围来说,ASP对象主要用于为客户端保存信 息,提供客户的处理请求;而ActiveX DLL则主要 用于中间层的事务逻辑处理,功能更强,应用范围 更广。
• COM 组件之间是彼此独立的。当应用需求发生变更时, 可能需要更换中间层的个别COM组件,但这并不会影响 其他组件的继续使用。
• COM 组件具有若干对外接口(属性和方法),相当于芯片 的“管脚”。根据不同的应用需求,可以有选择地使用 不同的管脚。即使某些管脚被“废弃”,COM组件本身 仍然可继续使用。
二、COM组件的特点
2、通过接口有效保证了组件的重用性。
• 每个接口代表组件的某个属性或方法 (1)负责集成的开发人员无需了解组件功能是如何
实现的,只需简单地创建组件对象并与其接口建立 连接。 (2)在保证接口一致性的前提之下,可以调换组件、 更新版本,也可以把组件安插在不同的应用系统中。
二、COM组件的特点
一、COM组件定义和DNA思想简介
7、微软提出的DNA概念是借助生命科学中脱氧核糖核酸 (DNA)的寓意来诠释现代企业信息结构的真谛。比尔·盖茨 称之为数字神经系统,寓示信息系统可以灵活适应外界环 境因素的变化,作出相应的反应。那些能灵活适应客观环 境变化、调节系统功能并可有效重用的软件单位应当像神 经细胞一样充满生命的活力,而这些软件的细胞就是组件 对象模型COM(Component Object Model)的各种衍生物。 如果从OLE算起,COM沿革至今是一个从量变到质变的过 程。现在,随着Internet技术的飞速发展,COM组件又被用 于Web应用系统,进行事务逻辑处理(一般来说,针对系统称 为事务逻辑,针对应用称为商务逻辑),以实现更为复杂的商 务应用。可见,COM既是一种技术,也是一种值得玩味的开 发方法。
MTS架设在应用程序和数据库之间,使数据库只保持一 个和MTS的连接而不是若干个和应用客户的直接连接。 同样,应用程序只需一个和MTS的连接而不用因访问多 个数据库而建立多个数据库连接,从而减轻了维护所有 那些出自数据库的连接带来的负担,使数据库的性能更 好、响应更快。
(2)管理分布式对象
MTS允许将一系列ActiveX DLL组件分配到网上的不同 服务器上。MTS记录下每个组件的位置,并负责这些组 件与应用程序的通信。还可以将某个组件复制后分布 到多台服务器上,以便MTS在各个副本间平衡负荷,使应 用程序得到最优化的响应。
(3)注册组件 运行时编译 regsVR32 路径+文件名
三、COM组件对象的软件工程方法
(4)在ASP中使用组件
ActiveX DLL: Set 变量名=Server.CreateObject(“类名”)
ActiveX控件:<OBJECT> 引入
三、COM组件对象的软件工程方法
4. ASP对象和ActiveX DLL比较 (1)ASP内置对象和定制的ActiveX DLL差别不
四、DNS、MTS
2、MTS工作原理
四、DNS、MTS
3、 MTS的主要功能
MTS是一个基于组件的事务处理系统,用于开发配置和管 理高性能、可测和可靠的Internet及Intranet企业级应 用程序,提供了包括数据连接缓冲、线程管理、事务服 务等多项服务,很好地解决了多客户端利用组件频繁访 问后台数据库等一系列问题。使用好MTS不仅仅是一 个简单的技术问题,还需要运行经验的不断积累。
• 数据服务层 为应用提供数据来源。和以上的两层体系结构不同, 数据库不再和每个活动客户保持一个连接,而是若干个客户通过应 用逻辑组件共享数据库的连接,从而减少了连接次数,提高了数据 服务器的性能和安全性。我们可以根据需要选择Microsoft SQL Server、Oracle或任何与OLE DB或ODBC兼容的数据源。
三、COM组件对象的软件工程方法
1、设计流程
三、COM组件对象的软件工程方法
2、设计原则
(1)用户对数据库的请求应通过COM组件实现。 将访问权限授予COM组件,保证了访问数据库 的安全性;把对每个用户的连接变成和COM组 件的连接,以避免数据库资源的浪费和崩溃的危 险。
(2) 组件粒度不宜过大,尽量让每一个COM组 件实现某一个或一类相似的应用请求,而不要追 求其功能的过分繁多。保证每个组件对象完成 的商务逻辑功能相对单一,有助于发挥重用机制 和调节DNA的适应性。
COM组件及其设计
一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法
1、设计流程 2、设计原则 3、VB制作COM的步骤
四、DNS、MTS
一、COM组件定义和DNA思想简介
1、组件技术是近年发展起来的一种优秀的软件重用技术。 采用组件开发软件就像搭积木一样容易,组件是具有 某种特定功能的软件模型,它几乎可以完成任何任务。
三、COM组件对象的软件工程方法
(2)对组件进行设计时测试 在VB内部测试:添加一个标准EXE工程
利用VC的ActiveX Control Test Container 对 ActiveX控件进行测试:对控件的注册、注销及 重注册
在注册表中删除:regedit
三、COM组件对象的软件工程方法
• 事务逻辑层:负责处理表示层的应用请求,完成商务逻辑的计算任 务,并将处理结果返回给用户。事务逻辑处理层是将原先置于客户 端的事务逻辑分离出来,集中置于服务器部分,为所有用户共享。 事务逻辑层是整个应用的核心部分,而组件对象模型COM则相当 于心脏。事务逻辑层通过 COM进行事务处理,并由IIS(Internet Information Server)和MTS(Microsoft Transaction Server)为各种 应用组件提供完善的管理。
(3)其重用性主要表现在以下的使用场合:
• COM 组件并不是专为一种Windows平台而设计的,同 一COM组件可以在Win95、Win98、Workstation及NT 上 使 用 。 组 件 既 可 以 被 嵌 入 动 态 Web 页 面 , 又 可 以 在 LAN或桌面环境的VB和VC等应用中使用。