《信息系统开发技术概述(1)41615.pptx》由会员分享,可在线阅读,更多相关《信息系统开发技术概述(1)41615.pptx(90页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息系统开发技术概述信息系统开发技术概述同济大学经济与管理学院徐德华 博士博士Email:主要内容主要内容n n1.统一建模语言统一建模语言UMLn n2COM+组件技术组件技术n n3.CORBAn n4.EJB与与J2EEn n5.NET平台平台1.统一建模语言统一建模语言UML1.1UML产生背景产生背景 面面向向对对象象建建模模语语言言出出现现于于7070年年代代中中期期。从从19891989年年到到19941994年年,其其数数量量从从不不到到十十种种增增加加到到了了五五十十多多种种。9090年年代代中中,一一批批新新方方法法出出现现了了,其其中中最最引引人人注目的是注目的是Booc
2、h 1993Booch 1993、OOSEOOSE和和OMT-2OMT-2等。等。BoochBooch是是面面向向对对象象方方法法最最早早的的倡倡导导者者之之一一,Booch 1993Booch 1993比较适合于系统的设计和构造。比较适合于系统的设计和构造。Rumbaugh Rumbaugh等人提出了面向对象的建模技术等人提出了面向对象的建模技术(OMTOMT)方法,用对象模型、动态模型、功能模)方法,用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计定义的概念和符号可用于软件开发的分析、
3、设计和实现的全过程,软件开发人员不必在开发过程和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。的不同阶段进行概念和符号的转换。OMT-2OMT-2特别特别适用于分析和描述以数据为中心的信息系统。适用于分析和描述以数据为中心的信息系统。Jacobson Jacobson于于19941994年提出了年提出了OOSEOOSE方法,其最大方法,其最大特点是面向用例特点是面向用例(Use-Case)(Use-Case),并在用例的描述中,并在用例的描述中引入了外部角色的概念。引入了外部角色的概念。OOSEOOSE比较适合支持商业比较适合支持商业工程和需求分析。工程和需求分析。统
4、一建模语言(统一建模语言(Unified Modeling LanguageUnified Modeling Language,UMLUML)不仅统一了)不仅统一了BoochBooch、RumbaughRumbaugh和和JacobsonJacobson的表示方法,而且对其作了进一步的发展,并最的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。终统一为大众所接受的标准建模语言。“统一建模语言(统一建模语言(UMLUML)是一种用于软件系统制)是一种用于软件系统制品规约的、可视化的构造及建档语言,也可用于品规约的、可视化的构造及建档语言,也可用于业务建模以及其它非软件系
5、统。业务建模以及其它非软件系统。”UML”UML是一种通是一种通用的可视化建模语言,用于对软件进行描述、可用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。视化处理、构造和建立软件系统的文档。UMLUML适适用于各种软件开发方法、软件生命周期的各个阶用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具段、各种应用领域以及各种开发工具 UML UML能够描述系统的静态结构和动态行为:静能够描述系统的静态结构和动态行为:静态结构定义了系统中重要对象的属性和操作以及态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互关系;动态行为定义了对象这
6、些对象之间的相互关系;动态行为定义了对象的时间特性和对象为完成目标任务而相互进行通的时间特性和对象为完成目标任务而相互进行通信的机制。信的机制。UMLUML不是一种程序设计语言,但我们不是一种程序设计语言,但我们可以用代码生成器将可以用代码生成器将UMLUML模型转换为多种程序设模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代计语言代码,或使用反向生成器工具将程序源代码转换为码转换为UMLUML模型。模型。1.2UML语言概述语言概述1.2.1UML语言的特征语言的特征n n不是一种可视化的程序设计语言,而是一种可视化的建模语言;n n是一种建模语言规格说明,是面向对象分析与设计
7、的一种标准表示;n n不是过程,也不是方法,但允许任何一种过程和方法使用它。1.2.2UML语言的目标语言的目标n n易于使用,表达能力强,进行可视化建模;易于使用,表达能力强,进行可视化建模;n n与具体的实现无关,可应用于任何语言平台和工与具体的实现无关,可应用于任何语言平台和工具平台;具平台;n n与具体的过程无关,可应用于任何软件开发过程;与具体的过程无关,可应用于任何软件开发过程;n n简单并且可扩展,具有扩展和专有化机制;简单并且可扩展,具有扩展和专有化机制;n n强调在软件开发中,对架构、框架、模式和组件强调在软件开发中,对架构、框架、模式和组件的重用;的重用;n n与最好的软件
8、工程实践经验集成;与最好的软件工程实践经验集成;n n可升级,具有广阔的适用性和可用性;可升级,具有广阔的适用性和可用性;n n有利于面向对象工具的市场增长。有利于面向对象工具的市场增长。1.2.3UML组成组成 由视图由视图viewview,图,图diagramdiagram,模型元素,模型元素model model elementelement和通用机制和通用机制general mechanismgeneral mechanism等几个部等几个部分组成。分组成。n n视图是表达系统的某一方面特征的视图是表达系统的某一方面特征的UMLUML建模元素建模元素的子集,由多个图构成,是系统的抽象表
9、示;的子集,由多个图构成,是系统的抽象表示;n n图是模型元素集的图形表示;图是模型元素集的图形表示;n n模型元素代表面向对象中的类、对象、消息和关模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。系等概念,是构成图的最基本的常用概念。n n通用机制用于表示其它信息,比如注释、模型元通用机制用于表示其它信息,比如注释、模型元素的语义等。素的语义等。1.3UML语义语义 UML UML语义描述基于语义描述基于UMLUML的精确元模型(的精确元模型(Meta Meta ModelModel)定义。元模型为)定义。元模型为UMLUML的所有元素在语法和的所有元素在语法
10、和语义上提供了简单、一致、通用的定义性说明,语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外的最佳表达方法所造成的影响。此外UMLUML还支持还支持对元模型的扩展定义。对元模型的扩展定义。1.4UML表示法表示法 UML UML表示法定义表示法定义UMLUML符号的表示法,为开发者符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在
11、语义上它是是应用级的模型,在语义上它是UMLUML元模型的实元模型的实例。例。统一建模语言统一建模语言UMLUML的重要内容可以由五类图的重要内容可以由五类图(共(共9 9种图形)来定义。种图形)来定义。1.4.1用例图(用例图(UseCasediagram)用例视图是被称为参与者的外部用户所能观察用例视图是被称为参与者的外部用户所能观察到的系统功能的模型图。用例是外部可见的一个到的系统功能的模型图。用例是外部可见的一个系统功能单元,这些功能由系统单元所提供,并系统功能单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交通过一系列系统单元与一个或多个参与者之间交换的消息
12、所表达。换的消息所表达。用例也可以有不同的层次。用例可以用其他更用例也可以有不同的层次。用例可以用其他更简单的用例进行说明。在交互视图中,用例作为简单的用例进行说明。在交互视图中,用例作为交互图中的一次协作来实现。交互图中的一次协作来实现。1.4.2静态图(静态图(Staticdiagram)静态图对应用领域中的概念以及与系统实现有静态图对应用领域中的概念以及与系统实现有关的内部概念建模,包括类图、对象图和包图。关的内部概念建模,包括类图、对象图和包图。类图描述系统中类的静态结构。类图描述系统中类的静态结构。对象图是类图的实例,几乎使用与类图完全相对象图是类图的实例,几乎使用与类图完全相同的标
13、识。他们的不同点在于对象图显示类的多同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。个对象实例,而不是实际的类。包图由包或类组成,表示包与包之间的关系。包图由包或类组成,表示包与包之间的关系。包是操作模型内容、存取控制和配置控制的基本包是操作模型内容、存取控制和配置控制的基本单元。单元。1.4.3行为图(行为图(Behaviordiagram)行为图包括状态图和活动图,描述系统的动态行为图包括状态图和活动图,描述系统的动态模型和组成对象间的交互关系。模型和组成对象间的交互关系。状态图描述类的对象所有可能的状态以及事件状态图描述类的对象所有可能的状态以及事件发生时状态的转移
14、条件。状态图可用于描述用户发生时状态的转移条件。状态图可用于描述用户接口、设备控制器和其他具有反馈的子系统。接口、设备控制器和其他具有反馈的子系统。活动图描述满足用例要求所要进行的活动以及活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动活动间的约束关系,有利于识别并行活动。活动图有助于理解系统高层活动的执行行为,而不涉图有助于理解系统高层活动的执行行为,而不涉及建立协作图所必须的消息传送细节。及建立协作图所必须的消息传送细节。1.4.4交互图(交互图(Interactivediagram)交互图描述了执行系统功能的各个角色之间相交互图描述了执行系统功能的各个角
15、色之间相互传递消息的顺序关系,包括顺序图和合作图。互传递消息的顺序关系,包括顺序图和合作图。顺序图显示对象之间的动态合作关系,它强调顺序图显示对象之间的动态合作关系,它强调对象之间传送消息的时间顺序,同时显示对象之对象之间传送消息的时间顺序,同时显示对象之间的交互关系。顺序图可以用来进行一个场景说间的交互关系。顺序图可以用来进行一个场景说明,即一个事务的历史过程。明,即一个事务的历史过程。协作图描述对象间的协作关系,协作图跟顺序协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系,但它们的图相似,显示对象间的动态合作关系,但它们的侧重点不同。侧重点不同。1.4.51.4.5
16、实现图(实现图(实现图(实现图(ImplementationdiagramImplementationdiagram)实现图包括构件图和配置图,显示系统实现时实现图包括构件图和配置图,显示系统实现时的一些特性,包括源代码的静态结构和运行时刻的一些特性,包括源代码的静态结构和运行时刻的实现结构。的实现结构。构件图描述代码部件的物理结构及各部件之间构件图描述代码部件的物理结构及各部件之间的依赖关系,有助于分析和理解部件之间的相互的依赖关系,有助于分析和理解部件之间的相互影响程度。影响程度。配置图定义系统硬件的物理拓扑结构以及在此配置图定义系统硬件的物理拓扑结构以及在此结构上执行的软件。它可以显示计
17、算结点的拓扑结构上执行的软件。它可以显示计算结点的拓扑结构和通信路径、结点上运行的软件构件、软件结构和通信路径、结点上运行的软件构件、软件构件包含的逻辑单元构件包含的逻辑单元(对象、类对象、类)等。等。1.5UML的应用领域的应用领域 UML UML的目标是以面向对象图的方式来描述任何的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据
18、的信息系统、具有业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。实时要求的工业系统或工业过程等。总之,总之,UMLUML是一个通用的标准建模语言,可以是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。对任何具有静态结构和动态行为的系统进行建模。此外,此外,UMLUML适用于系统开发过程中从需求规格描适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。述到系统完成后测试的不同阶段。2COM+组件技术组件技术 所所谓谓组组件件,其其实实就就是是一一种种可可部部署署软软件件的的代代码码包包,其其中中包包括括某某些些可可执执行行模模块块。组组
19、件件单单独独开开发发并并作作为为软软件件单单元元使使用用,它它具具有有明明确确的的接接口口,软软件件就就是是通通过过这这些些接接口口调调用用组组件件所所能能提提供供的的服服务务,多多种种组组件件可可以以联联合合起起来来构构成成更更大大型型的的组组件件乃乃至至直直接接建建立立整整个系统。个系统。实实现现组组件件并并不不一一定定需需要要采采用用面面向向对对象象语语言言。支支持组件的技术包括持组件的技术包括COM+COM+、CORBACORBA和和EJBEJB等。等。2.1COM的产生的产生 MicrosoftMicrosoft出出 品品 了了 COMCOM(Component Component
20、Object Object ModelModel),COMCOM仅仅仅仅只只是是一一个个规规范范。不不管管组组件件用用什什么么语语言言写写成成,只只要要符符合合这这个个COMCOM规规范范,就就能能被被用任何一种语言写成的客户程序调用。用任何一种语言写成的客户程序调用。MicrosoftMicrosoft推推出出Windows Windows 9898和和Windows Windows 20002000后后,整整个个操操作作系系统统的的核核心心都都围围绕绕着着COMCOM来来建建立立。我我们们可可以以把把WindowsWindows系系统统看看作作是是一一系系列列的的COMCOM接接口口,在需
21、要是可以调用这些接口。在需要是可以调用这些接口。COM COM服务程序有三种形式:服务程序有三种形式:n n第第一一种种是是驻驻留留在在本本地地机机器器上上以以DLLDLL形形式式提提供供,该该服服务务程程序序被被调调用用时时,嵌嵌入入到到调调用用程程序序的的线线程程中中运运行行,是最常用的形式;是最常用的形式;n n第第二二种种是是驻驻留留在在本本地地机机器器上上以以EXEEXE形形式式提提供供,该该服务程序被调用时将占用独立的线程运行;服务程序被调用时将占用独立的线程运行;n n第第三三种种驻驻留留在在远远端端机机器器上上以以EXEEXE形形式式提提供供,服服务务程程序序通通过过网网络络被
22、被调调用用,它它在在远远端端机机器器上上运运行行,结结果通过网络返回调用者。果通过网络返回调用者。COMCOM的的缺缺点点就就是是大大家家常常常常提提到到的的“DLL“DLL地地狱狱”。这这个个问问题题在在一一个个DLLDLL要要被被一一个个新新版版本本的的DLLDLL所所取取代代时时引引发发。开开发发者者不不得得不不通通过过关关闭闭所所有有的的客客户户应应用用程程序序的的方方法法来来达达到到清清除除所所用用对对这这个个组组件件的的引引用用的的目目的的。有有时时所所有有的的方方法法都都还还起起不不了了作作用用,那那你你只只好重新启动服务器后才能替换掉老的好重新启动服务器后才能替换掉老的DLLD
23、LL。2.2DCOM 即即Distributed COMDistributed COM,与,与COMCOM的不同点:的不同点:n nCOMCOM有两种存在形式(有两种存在形式(DLLDLL、EXEEXE),但),但DCOMDCOM必必须是可执行程序,因为须是可执行程序,因为DCOMDCOM不可能在客户程序不可能在客户程序的内存空间运行,所以不能是动态连接库。的内存空间运行,所以不能是动态连接库。n nCOMCOM(DLLDLL形式)可以不用形式)可以不用RPCRPC通信,而通信,而DCOMDCOM必必须使用须使用RPCRPC远程调用。远程调用。n nCOMCOM(DLLDLL形式)与客户共同存
24、在于同一内存空形式)与客户共同存在于同一内存空间,调用速度快。间,调用速度快。n nCOMCOM(DLLDLL形式)的安全性不高,客户程序可以形式)的安全性不高,客户程序可以造成服务造成服务COMCOM发生错误,发生错误,DCOMDCOM安全性高。安全性高。n nCOMCOM程序配置简单,程序配置简单,DCOMDCOM配置较复杂。配置较复杂。2.3COM+的产生的产生 为了让企业级的应用程序能使用上为了让企业级的应用程序能使用上COMCOM,它必,它必需要有以下的特定的能力。需要有以下的特定的能力。n n验证能力验证能力n n对象池(对象池(Object PoolingObject Pooli
25、ng)n n事务处理事务处理n n支持分布式架构支持分布式架构 为了使开发者不必去为他们的组件添加这些能为了使开发者不必去为他们的组件添加这些能力,微软公司出品了力,微软公司出品了DCOMDCOM和和MTSMTS(Microsoft Microsoft Transaction ServerTransaction Server,微软事务服务器)。,微软事务服务器)。MTSMTS允允许许相相关关的的作作业业单单元元被被当当作作一一个个事事务务来来对对待待,这这意意味味着着如如果果所所有有的的作作业业单单元元被被成成功功地地完完成成,整整个个事事务务就就被被当当作作成成功功地地完完成成,反反之之如如
26、果果有有一一个个单元未成功完成,整个事务将被重新轮回。单元未成功完成,整个事务将被重新轮回。在在客客户户请请求求对对象象和和释释放放对对象象后后,MTSMTS仍仍保保存存着着这这个个对对象象,所所以以当当另另一一个个客客户户请请求求同同一一个个组组件件的的时时候候,MTSMTS就就将将保保存存着着的的对对象象交交给给它它。通通过过这这种种方式,方式,MTSMTS减少了在服务器源实例化的次数。减少了在服务器源实例化的次数。MTSMTS针针 对对 企企 业业 应应 用用 和和 WebWeb应应 用用 的的 特特 点点,在在COM/DCOMCOM/DCOM的的基基础础上上又又添添加加了了许许多多功功
27、能能和和特特性性,包包括括事事务务特特性性、安安全全模模型型、管管理理和和配配置置等等,MTSMTS使使COMCOM成为一个完整的组件体系结构。成为一个完整的组件体系结构。COM+COM+并并不不是是COMCOM的的新新版版本本,我我们们可可以以把把它它理理解解为为COMCOM的的新新发发展展,COM+COM+的的底底层层结结构构仍仍然然以以COMCOM为为基基础础。可可以以认认为为COM+COM+是是COMCOM、DCOMDCOM和和MTSMTS的的集集成成。但但更更重重要要的的一一点点是是,COM+COM+倡倡导导了了一一种种新新的的概概念念,它它把把COMCOM组组件件软软件件提提升升到
28、到应应用用层层而而不不再再是是底底层层的的软软件件结结构构,它它通通过过操操作作系系统统的的各各种种支支持持,使使组组件件对对象象模模型型建建立立在在应应用用层层上上,把把所所有有组组件件的的底底层层细细节节留留给给操操作作系系统统,因因此此,COM+COM+与操作系统的结合更加紧密。与操作系统的结合更加紧密。2.4COM+基本结构基本结构 COM+COM+不不再再局局限限于于COMCOM的的组组件件技技术术,它它更更加加注注重重于于分分布布式式网网络络应应用用的的设设计计和和实实现现,已已经经成成为为MicrosoftMicrosoft系统平台策略和软件发展策略的一部分。系统平台策略和软件发
29、展策略的一部分。2.4.1WindowsDNA策略策略 Windows Windows DNADNA(Distributed Distributed interNet interNet Application Application ArchitectureArchitecture)是是MicrosoftMicrosoft多多年年积积累累下下来来的的技技术术精精华华集集合合起起来来而而形形成成一一个个完完整整的的、多多层层结结构构的的企企业业应应用用总总体体方方案案,它它使使WindowsWindows真真正正成成为企业应用平台。为企业应用平台。(a)三层结构技术组成模型 (b)Windows
30、 DNA结构 2.4.2COM+基本结构基本结构 从从COMCOM的的发发展展角角度度来来看看,COMCOM最最初初作作为为桌桌面面操操作作系系统统平平台台上上的的组组件件技技术术,主主要要为为OLEOLE服服务务。但但是是随随着着Windows Windows NTNT与与DCOMDCOM的的发发布布,COMCOM通通过过底底层层的的远远程程支支持持使使组组件件技技术术延延伸伸到到了了分分布布式式应应用用领领域域,充充分分体体现现了了COMCOM的的扩扩展展能能力力以以及及组组件件结结构构模模型型的的优优势势。MTSMTS为为COMCOM增增添添了了许许多多新新的的内内容容,弥弥补补了了CO
31、MCOM和和DCOMDCOM的的一一些些不不足足,它它注注重重于于服服务务器器一一端端的的组组件件管管理理和和配配置置环环境境。COM+COM+进进一一步步把把COMCOM、DCOMDCOM和和MTSMTS统统一一起起来来,形形成成真真正正适适合合于于企业应用的组件技术。企业应用的组件技术。COM+组成结构图 COM+COM+不不仅仅继继承承了了COMCOM、DCOMDCOM和和MTSMTS的的许许多多特特性性,同同时时也也新新增增了了一一些些服服务务,比比如如负负载载平平衡衡、内内存数据库、事件模型、队列服务等。存数据库、事件模型、队列服务等。COMCOM和和MTSMTS把把组组件件的的所所
32、有有配配置置信信息息都都保保存存在在WindowsWindows的的系系统统注注册册表表中中,然然而而,COM+COM+把把大大多多数数的的组组件件信信息息保保存存在在一一个个新新的的数数据据库库中中,称称为为COM+COM+目目录录(COM+(COM+Catalog)Catalog)。COM+COM+目目录录把把COMCOM和和MTSMTS的的注注册册模模型型统统一一起起来来,并并提提供供了了一一个个专专门门针针对组件的管理环境。对组件的管理环境。2.5COM+新增系统服务介绍新增系统服务介绍 COM+COM+的的系系统统服服务务充充分分体体现现了了COM+COM+的的特特征征,通通过过这这
33、些些系系统统服服务务,我我们们可可以以很很容容易易地地开开发发出出多多层层结结构构的的应应用用系系统统,因因为为这这些些系系统统服服务务本本身身已已经经满足了多层应用的一些基本要求。满足了多层应用的一些基本要求。COM+COM+的的系系统统服服务务有有的的是是新新增增加加的的,包包括括队队列列组组件件、负负载载平平衡衡、内内存存数数据据库库和和事事件件服服务务。有有的的从从MTSMTS继继承承过过来来并并增增强强了了的的,包包括括事事务务、对对象象池池、安全模型以及管理特性。安全模型以及管理特性。2.5.1COM+队列组件队列组件 COM+COM+除除了了支支持持这这种种基基于于RPCRPC连
34、连接接的的运运行行方方式式,它它还还支支持持另另一一种种运运行行模模式式,基基于于消消息息的的通通讯讯过过程程,它它可可以以有有效效地地把把客客户户与与组组件件的的生生存存期期分分离离开开。这这种模式通过种模式通过COM+COM+的队列组件服务实现。的队列组件服务实现。队队列列组组件件并并没没有有使使用用直直接接的的RPCRPC连连接接,而而是是采采用用了了底底层层的的消消息息系系统统MSMQ(Microsoft MSMQ(Microsoft Message Message Queue Queue Server)Server)。客客户户程程序序不不再再直直接接调调用用组组件件对对象象,它它利利
35、用用消消息息机机制制与与组组件件对对象象进进行行通通讯讯,即即使使组组件件对象并没有运行,客户程序仍然可以执行操作。对象并没有运行,客户程序仍然可以执行操作。2.5.2COM+事件模型事件模型 COM+COM+事事件件模模型型用用中中心心服服务务和和中中心心管管理理的的方方式式把把发发布布者者与与订订阅阅者者之之间间的的依依赖赖关关系系分分离离开开,它它用用事事件件类类作作为为发发布布者者和和订订阅阅者者之之间间的的中中间间对对象象,发发布布者者必必须须通通过过事事件件类类发发布布信信息息。事事件件类类是是由由COM+COM+事事件件服服务务提提供供的的对对象象,它它实实现现了了事事件件接接口
36、口。当当发发布布者者要要激激发发事事件件时时,它它创创建建一一个个事事件件类类对对象象,调调用用相相应应的的事事件件方方法法,然然后后释释放放对对象象的的接接口口。COM+COM+事事件件服服务务会会决决定定如如何何通通知知订订阅阅者者,决决定定什什么么时时候候通通知知订订阅阅者者。如如同同队队列列组组件件情情形形一一样样,发发布者和订阅者的生存时间可以被分离。布者和订阅者的生存时间可以被分离。2.5.3负载平衡负载平衡 为为了了使使组组件件支支持持负负载载平平衡衡,必必须须定定义义一一个个应应用用群群集集(application(application cluster)cluster),应应
37、用用群群集集是是指指一一组组已已经经安安装装了了服服务务器器端端组组件件的的机机器器,然然后后把把一一台台机机器器配置成负载平衡路由器配置成负载平衡路由器(router)(router)。COM+COM+负负载载平平衡衡以以NTNT系系统统服服务务的的形形式式运运行行在在路路由由器器机机器器上上,当当路路由由器器的的SCM(Service SCM(Service Control Control Manager)Manager)接接收收到到远远程程创创建建对对象象请请求求时时,它它把把请请求求传传递递到到负负载载最最轻轻的的机机器器上上。一一旦旦对对象象已已经经被被成成功功创创建建,那那么么客客
38、户户与与对对象象之之间间的的连连接接是是直直接接进进行行的的,而不必再通过路由器。而不必再通过路由器。2.5.4内存数据库内存数据库(IMDB)COM+COM+的的内内存存数数据据库库(In(In Memory Memory Database)Database)服服务务用用于于保保存存应应用用的的非非永永久久状状态态信信息息。IMDBIMDB是是一一个个驻驻留留在在内内存存中中的的支支持持事事务务特特性性的的数数据据库库系系统统,它它可以为可以为COM+COM+应用程序提供快速的数据访问。应用程序提供快速的数据访问。由由于于IMDBIMDB是是内内存存中中的的数数据据库库,所所以以IMDBIM
39、DB只只对对本本机机器器上上的的COM+COM+组组件件有有效效,不不支支持持分分布布式式概概念念,并且多个并且多个IMDBIMDB机器不能装入同一个数据表。机器不能装入同一个数据表。2.5.3COM+对象池对象池 对对象象池池是是指指把把对对象象的的实实例例保保留留在在内内存存中中,以以便便当当客客户户请请求求创创建建对对象象时时可可以以马马上上用用到到这这些些对对象象。对对象象池池如如同同IMDBIMDB一一样样,完完全全是是出出于于效效率率考考虑虑的的原原因,用来建立大型的应用系统。因,用来建立大型的应用系统。2.6COM+的主要特性的主要特性n n真正的异步通讯。客户和组件有可能在不同
40、的真正的异步通讯。客户和组件有可能在不同的时间点上协同工作。时间点上协同工作。n n事件服务。事件服务。n n可伸缩性。动态负载平衡以及内存数据库、对可伸缩性。动态负载平衡以及内存数据库、对象池等系统服务都为象池等系统服务都为COM+COM+的可伸缩性提供了技的可伸缩性提供了技术基础。术基础。n n继承并发展了继承并发展了MTSMTS的特性。的特性。n n可管理和可配置性。可管理和可配置性。n n易于开发。易于开发。COM+COM+开发模型比以前的开发模型比以前的COMCOM组件开组件开发更为简化。发更为简化。3.CORBA3.1对象管理集团(对象管理集团(OMG)OMGOMG(Object
41、Object Management Management GroupGroup)成成立立于于19891989年年,作作为为一一个个非非营营利利性性组组织织,致致力力于于开开发发在在技技术术上上具具有有先先进进性性、在在商商业业上上具具有有可可行行性性并并且且独独立立于于厂厂商商的的软软件件互互联联规规范范,推推广广面面向向对对象象模模型型技技术,增强软件的可移植性、可重用性和互操作性。术,增强软件的可移植性、可重用性和互操作性。OMG OMG 于于19901990年年末末提提出出了了一一个个对对象象管管理理结结构构的的基基 准准 结结 构构 OMA OMA(Object(Object Mana
42、gement Management Architecture)Architecture)。OMAOMA主主要要涉涉及及用用于于面面向向对对象象语语言言、系系统统、数数据据库库及及应应用用程程序序框框架架的的统统一一术术语语体体系系,面面向向对对象象软软件件系系统统的的抽抽象象框框架架和和基基于于面面向向对对象象技技术的分布式软件系统参考模型等。术的分布式软件系统参考模型等。OMG OMG 于于19911991年年末末提提出出的的公公共共对对象象请请求求代代理理程程序序体体系系结结构构CORBA CORBA(Common(Common Object Object Request Request
43、Broker Broker Architecture)Architecture),是是OMAOMA参参考考模模型型中中的的ORBORB接接口口技技术术规规范范。这这一一标标准准规规定定了了如如何何定定义义、创创建建、调度、引用对象,以及对象之间如何通讯。调度、引用对象,以及对象之间如何通讯。3.2CORBA规范基本内容规范基本内容 CORBACORBA是是一一个个规规范范(SpecificationSpecification)而而不不是是程程序序实实现现(ImplementationImplementation),提提供供了了一一个个允允许许在在分分布布式式和和异异构构型型环环境境中中应应用用
44、程程序序之之间间进进行行互互操操作作的的框架。框架。CORBACORBA规范的基本组成如下图所示。规范的基本组成如下图所示。3.2.1对象请求代理对象请求代理ORB ORB ORB(Object(Object Request Request Broker)Broker)是是CORBACORBA的的核核心心,在在CORBACORBA中,所有的通讯都通过中,所有的通讯都通过ORBORB进行。进行。ORBORB作作为为一一个个“软软件件总总线线”来来连连接接网网络络上上的的不不同同对对象象,提提供供对对象象的的定定位位和和方方法法调调用用,它它是是CORBACORBA实实现现的的关关键键。其其主主要
45、要功功能能是是定定位位服服务务对对象象,分分析析客客户户对对象象的的请请求求,获获取取服服务务对对象象的的功功能能接接口口,在客户与服务对象间建立通信连接。在客户与服务对象间建立通信连接。客客户户对对象象完完全全可可以以不不关关心心服服务务器器对对象象的的位位置置、实现它所采用的具体技术和工作的硬件平台。实现它所采用的具体技术和工作的硬件平台。3.2.2接口定义语言接口定义语言IDL IDLIDL(Interface Interface Definition Definition LanguageLanguage)是是用用于于描描述述对对象象接接口口的的一一种种高高级级符符号号语语言言。IDL
46、IDL不不涉涉及及任任何何接接口口的的实实现现细细节节,所所有有COBRACOBRA系系统统都都根根据据IDLIDL用用某某种特定语言来实现接口。种特定语言来实现接口。IDLIDL是是独独立立于于其其他他编编程程语语言言的的功功能能描描述述性性语语言言。利利用用IDLIDL,完完成成CORBACORBA服服务务对对象象方方法法的的说说明明,然然后后利利用用语语言言映映射射工工具具,将将用用IDLIDL定定义义的的CORBACORBA对对象象方方法说明翻译成高级编程语言的接口说明。法说明翻译成高级编程语言的接口说明。IDL IDL描述通常以接口库的方式进行存贮。描述通常以接口库的方式进行存贮。3
47、.2.3接口库接口库 CORBACORBA引引入入接接口口仓仓库库(Interface Interface RepositoryRepository)的的目目的的在在于于使使服服务务对对象象能能够够提提供供持持久久的的对对象象服服务务。将将接接口口信信息息存存入入接接口口仓仓库库后后,如如果果客客户户端端应应用用提提交交动动态态调调用用请请求求(Dynamic Dynamic InvocationInvocation),ORBORB可可以以根根据据接接口口仓仓库库中中的的接接口口信信息息及及分分布布环环境境下下数数据据对对象象的的描描述述,获获取取请请求求调调用用所所需需的的信信息息。接接口口
48、信信息息包包括括了了所所有有描描述述服服务务对对象象属属性性、操操作作、自自定定义义数据类型及异常处理的数据类型及异常处理的IDLIDL定义。定义。3.2.43.2.4基本对象适配器基本对象适配器基本对象适配器基本对象适配器BOABOA BOA BOA(Basic Object AdapterBasic Object Adapter)是为服务对象端)是为服务对象端管理对象引用和实现而引入的。管理对象引用和实现而引入的。CORBACORBA规范中要规范中要求系统实现时必须有一种对象适配器。对象适配求系统实现时必须有一种对象适配器。对象适配器完成如下功能:器完成如下功能:n n生成并解释对象的引用
49、,把客户端的对象引用映生成并解释对象的引用,把客户端的对象引用映射到服务对象的功能中;射到服务对象的功能中;n n激活或撤消对象的实现;激活或撤消对象的实现;n n注册服务功能的实现;注册服务功能的实现;n n确保对象引用的安全性;确保对象引用的安全性;n n完成对服务对象方法的调用。完成对服务对象方法的调用。作作为为CORBACORBA设设计计中中常常用用的的对对象象适适配配器器基基本本对对象象适适配配器器BOABOA,在在分分布布式式应应用用程程序序设设计计中中是是必必要要的的元元素素。ORBORB将将服服务务请请求求的的参参数数及及操操作作控控制制权权传传递递给给BOABOA,由由BOA
50、BOA将将执执行行结结果果返返回回给给ORBORB。BOABOA用用服服务务对对象象骨骨架架(SkeletonSkeleton)将将ORBORB和和对对象象实实现现中中的的方方法法联联系系在在一一起起,服服务务对对象象骨骨架架中中相相应应的的方方法法将将对对BOABOA方方法法的的请请求求调调用用映映射射为为服服务务对对象象中中的的方法。方法。3.2.5静态请求接口静态请求接口SII SIISII(Static Static Invocation Invocation InterfaceInterface)假假设设在在编编译译时时刻刻客客户户对对象象能能够够明明确确了了解解服服务务对对象象的的