欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    基于构件的软件开发.ppt

    • 资源ID:5254311       资源大小:546.50KB        全文页数:80页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于构件的软件开发.ppt

    软件工程,第8章 基于构件的软件开发,基于构件的软件开发目标,长期以来的软件开发状况多数软件都是针对某个具体的应用系统从头进行开发的导致:出现了大量的同类软件重复开发,造成大量人力、财力的浪费,而且软件的质量也不高对比:汽车工业的生产模式在已有的部件基础上通过组装进行生产:有专门的部件生产工厂,汽车设计者在设计中选择市场上已有的合适的部件避免了大量的重复劳动,提高了产品质量和生产效率,促进分工合作我们的目标:将制造业中的组装式生产模式引入到软件开发中,内容摘要,基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结,内容摘要,基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结,基于构件的软件开发,基于构件的软件开发Component-Based Software Development简称CBSD是指使用可复用构件来开发应用软件基于构件的软件工程Component-Based Software Engineering简称CBSE,构件(Component)的典型定义,Pressman书中的定义:构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能Brown的定义:构件是一个独立发布的功能部分,可以通过其接口访问它的服务“计算机科学技术百科全书”的定义:软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体;软件构件须承载有用的功能,并遵循某种构件模型;可复用构件是指具有可复用价值的构件,构件的要素,规格说明:建立在接口概念之上,作为服务提供方与客户方之间的契约一个或多个实现受约束的构件标准包装方法部署方法,3C构件模型,关于构件的一个指导性模型由构件的三个不同方面的描述组成概念(concept):关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约和语义描述两部分,语义描述和每个操作相关联(至少表示为前后置谓词形式)内容(content):概念的具体实现,描述构件如何完成概念所刻画的功能周境(context):描述构件和外围环境在概念级和内容级的关系,刻画构件的应用环境,为构件的选用和适应性修改提供指导,REBOOT构件模型,基于面向对象技术的复用REBOOT(Reuse Based on Object_Oriented Technology):一种基于刻面(facet)的模型刻面:对领域进行分析,所得到的一组基本的描述特征刻面可以描述构件执行的功能、所操作的数据、构件应用的周境或任何其它特征通常的刻面描述限制在不超过7或8个刻面一个构件通常包括以下刻面:抽象(abstraction):它是构件概念的抽象性描述操作(operation):它是构件所提供的操作的描述操作对象(operand):它描述操作的对象依赖(dependency):它描述构件与外界的依赖关系,常用的构件标准,CORBA(公共对象请求代理体系结构)Common Object Request Broker ArchitectureOMG发布的构件标准核心是ORB(Object Request Broker),定义了异构环境下对象透明地发送请求和接收响应的基本机制COM+微软开发的一个构件对象模型,提供了在运行于Windows操作系统之上的单个应用中使用不同厂商生产的对象的规约 EJB:一种基于Java的构件标准EJB(Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。EJB规约规定了EJB构件如何与EJB容器进行行交互,基于构件的软件开发过程,领域工程步骤-1,领域分析:首先要进行领域分析,收集领域中有代表性的应用样本,分析应用中的公共部分或相似部分,抽取该领域的应用体系结构建立领域特定的基准体系结构模型:在领域分析的基础上,构造该领域的基准体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候选构件泛化(generalization)和可变性(variability)分析:提高其通用性,同时寻找候选构件在不同应用中的变化点(variation point),通过设置参数、继承或其它手段,使可变部分局部化,领域工程步骤-2,重建构件:在泛化和可变性分析的基础上,重建构件,使它成为可复用构件构件的测试:对重建的可复用的构件要严格测试,以提高其可靠性构件的包装:经测试的构件应根据构件库的要求,对它进行包装,以便构件库对它分类储存和检索构件入库:包装后的构件即可存入构件库,应用系统工程的步骤-1,建立应用系统的体系结构模型:可以使用构件生产者提供的领域特定的基准体系结构经裁剪和/或扩充而获得寻找候选构件:根据应用系统的体系结构模型,从构件库或其它可利用的构件源中寻找候选构件评价和选择合适的构件:评价候选构件以判断是否适合于待开发的软件构件的修改(modify)和特化(specialize):在复用时对构件进行特化以满足特定应用的需要,应用系统工程的步骤-2,开发未被复用的部分:对新系统中未复用的部分进行开发构件的组装:将特化和修改后的可复用构件和新开发的部分组装成一个新的软件系统集成测试:对组装后的软件系统进行集成测试评价被复用的构件,并推荐可能的新构件,内容摘要,基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结,建造可复用构件,建造构件的目的是为了以后复用构件,即为复用而建造构件在建造构件时仍应遵循抽象、逐步求精、信息隐蔽、功能独立、结构化程序设计等思想和原则由于面向对象方法具有封装性、继承等特点,能有力地支持复用,所以应尽可能考虑采用面向对象方法,对可复用构件的要求,构件的设计应具有较高的通用程度构件应易于调整构件应易于组装构件必须具有可检索性构件必须经过充分的测试,创建领域构件的设计框架,除应遵循已有的设计概念和原则外,还必须考虑应用领域的特征,如:标准数据:应该研究应用领域,并标识出标准的全局数据结构(如文件结构或完整的数据库)。于是所有设计的构件都可以用这些标准数据结构来刻画标准接口协议:应该建立三个层次的接口协议:构件内(intramodular)接口、构件外接口以及人机接口程序模板:程序的结构模型可以作为新程序的体系结构设计的模板,可变性分析,构件应具有较强的通用性和可变性为了满足不同的复用需求,需要在构件复用时可能发生变化的一个或多个位置上标识变化点(variation point),同时为变化点附加一个或多个变体(variant),可变性机制,继承:在变化点上创建指定抽象类型或抽象类的子类型或子类。扩展和扩展点:可以在用况和对象构件中的变化点(或扩展点)上附加变体(或扩展)参数化:用于模板、框架和宏的类型和类适用于变体较小时(经常是一个数值、短语或表达式),内容摘要,基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结,应用系统工程,任务:通过组装可复用构件得到应用系统CBSD中构件是组成应用系统的基本单元注重体系结构和构件接口的分析和设计,忽略构件内部实现的设计,关注接口的设计,接口是构件行为的描述机制,并提供了对其服务的访问供应接口(Provided interface):描述构件所提供的服务,可以被其它构件访问请求接口(requived interface):请求接口描述构件为完成其功能(服务)需请求其它构件为其提供的服务一个接口可以有多种实现,并且对使用者隐蔽接口描述是构件使用者能依赖的所有信息,因此构件接口描述的表达能力和完整性是CBSD方法主要关注的问题之一,基于构件的体系结构,基于构件的应用系统体系结构描述了组成应用系统的构件,构件之间的组织结构、交互、约束和关系对系统的组成、结构以及系统如何工作的较为宏观的描述如果在领域工程中已开发了领域基准体系结构(reference architecture),则可以通过对基准体系结构的剪裁和/或扩充获得应用系统的体系结构,基于构件的体系结构层次,逻辑体系结构以接口形式对每组服务进行描述,并描述那些包怎样交互来满足通常的用户使用场景展示了系统设计的蓝图,可用于验证系统是否提供了适当的功能,并能在系统功能需求变化时方便地改变系统的设计物理体系结构描述系统的物理设计,包括硬件及其拓扑结构、网络和通信协议、基础设施(如运行平台、中间件、数据库管理系统等),以及软件系统的部署展示了系统的实现构架,有助于理解系统的许多非功能属性,如性能、吞吐量、服务的可用性等,基于构件的应用系统开发方法,Rational统一过程Rationals Unified Process,简称RUP一个关于软件开发的广泛的过程框架,覆盖了整个软件生命周期使用UML进行分析和设计建模,鼓励使用CBSD方法选择视图的方法支持通用的构件设计方法,并以Select Component Manager为目标通用构件设计准则使用UML作为构件设计符号Enterprise-CBD方法鼓励使用UML的扩展形式把构件的规格说明和实现分离允许制作技术中立的规格说明,然后再使用不同的实现技术来实现规格说明共同点:关注构件库中的构件、接口的设计和基于构件构架的应用程序组装,构件鉴定(qualification),目的:确保获得的构件可以完成所需的功能并能被集成在系统中与系统的其它构件正确交互主要依据:是构件的接口描述和相关的规格说明,但这些信息往往还不足以确保构件能成功地集成到系统中对于外部提供的成品构件(COTS)可通过运行构件测试版进行鉴定,构件鉴定需考虑的因素,应用编程接口(API)该构件所需的开发和集成工具运行时需求,包括使用的资源(如内存或存储器)、时间或速度以及网络协议服务需求,包括操作系统接口和来自其他构件的支持安全特征,包括访问控制和身份验证协议嵌入式设计假定,包括特定的数值或非数值算法的使用异常处理,构件的特化和组装,构件特化根据应用系统的具体情况对其进行特化,对变化点配置特定的变体,必要时要自行开发变体如果所选的构件不能完全满足应用系统的功能需求,还需对构件作适当的修改如果所选的构件未按构件标准开发(如遗产系统中抽取的构件)时,还需按某种构件标准对其进行包装构件组装将经过鉴定和特化后的构件组装成应用系统提倡使用构件组装工具来组装应用系统(能检查接口匹配中的错误,实现组装的自动化或半自动化),内容摘要,基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结,构件的管理,构件的分类描述对构件库中的构件进行合理的分类和组织,帮助软件开发人员方便地找到所需要的构件大多数的研究都建议使用图书馆科学索引方法进行构件分类构件库管理系统:主要用于构件的储存、检索、浏览和管理,常用的构件分类模式-1,枚举分类(Enumerated Classification)将构件组织成分类层次结构,构件库中的构件按某些性质分成若干大类,每个大类又分成若干较小的类,经过若干次分解,形成构件分类的层次结构,实际的构件位于层次结构的最低层,其它层次则表示构件的类或子类枚举分类模式的分层结构易于理解和检索,但是,在建立层次结构之前,必须进行领域分析,寻找合适的供分类的性质。属性值分类(Attribute_Value Classification)为所有构件定义一组属性,每个构件都具有一组属性值,开发人员通过指定一组属性值对构件库检索与刻面分类方法非常类似,不同点在于:属性值分类法对可使用的属性数量没有限制;属性没有优先级;不使用同义词,常用的构件分类模式-2,刻面分类(Faceted Classification)根据一组刻面对构件分类,每个刻面从不同的侧面对构件库中的构件进行分类,并根据重要性设置刻面的优先级每个刻面由一组术语(term)构成,称之为术语空间(term space),这些术语通常是描述性的关键词检索:用户通过指定一组刻面的术语值寻找匹配的构件使用同义词词典(thesaurus)解决用户指定的术语值与库中构件所对应的术语值之间的不一致问题评价:具有较好的灵活性,易于加入新的刻面值,比枚举分类模式易于扩展和修改,构件库管理系统的主要功能,构件的分类存储(即添加构件):根据构件库的分类模型将入库的构件储存在构件库中构件检索:从构件库中检索出满足用户要求或接近用户要求的构件.构件库浏览:浏览库中的全部或部分构件删除构件:将不再使用的构件从构件库中删去构件使用情况评价:根据用户使用和检索构件的反馈意见对构件作出评价,为进一步的改进提供依据,构件的描述和检索,构件库管理系统的两个关键技术直接影响到构件库检索的查准率(precision)、查全率(recall)和效率(efficient)常用的构件检索方法规约匹配:基于有序的谓词逻辑的匹配,通过谓词演算公式进行精确匹配,通过逻辑连接符和逻辑量词进行部分精确匹配特征(signature)匹配:通过接口的定义进行匹配,适用于函数之类的构件术语轮廓匹配:基于构件编目描述语言的匹配,将每一个构件的编目描述作为该构件的一个特征矢量,通过测算矢量的距离进行匹配行为采样:基于构件测试的匹配,根据测试结果相同的概率进行匹配,内容摘要,基于构件的软件开发概述建造可复用构件应用系统工程构件的管理小结,小结,基于构件的软件开发(CBSD)是20世纪90年代开始流行的开发方法CBSD支持软件复用,能有效提高软件的开发效率和质量,降低开发和维护成本,因此受到人们的关注本章内容:基于构件的软件开发的概念、领域工程过程和应用系统工程过程、可复用构件的建造、基于CBSD的应用系统分析和设计、以及构件的管理,THANKS,COM/DCOM/COM+组件,COM/DCOM/COM+组件这种风格的体系结构的最大优点是能够实现快速程序开发,COM/DCOM/COM+概述COM(Component Object Model)组件对象模型(COM)指由微软公司开发的规范和执行操作,是为集成组件提供的一组框架。该框架支持分布式对象的互用性和可再用性,开发者通过从不同供应商处集中的可再用组件来建立 COM 通信系统。COM 为组件的创建定义了应用程序接口(API),用来集成自定义应用程序或支持不同组件间的相互作用。COM 库实现对象间通用接口。COM 库负责维护有关系统注册中可用类方面的信息。接口定义语言(IDL)是用于描述 COM 接口和方法的一种高级符号语言。COM 定义了二进制接口标准;采用紧耦合(TCE)的消息机制,实现LPC,COM/DCOM/COM+组件,COM/DCOM/COM+概述DCOM(Distribute COM)分布式组件对象模型,是COM在网络环境下的扩展;DCOM只是简单地将本地进程间的通信用网络协议替换;DCOM考虑更多的是安全性、可靠性和性能;采用紧耦合(TCE)的消息机制,实现RPC。,COM/DCOM/COM+组件,COM/DCOM/COM+的概述COM+COM+并不是COM的新版本,可以把它理解为COM的新发展,或者为COM更高层次上的应用;COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容,COM+可视为COM、DCOM和MTS(Microsoft Transaction Server 微软事务服务器)的集成,COM+倡导了一种新的概念,它把COM组件软件提升到应用层,而不再是底层的软件结构,通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统;采用松耦合(LCE)的消息机制。,COM/DCOM/COM+组件,COM/DCOM/COM+的关系,COM+COM+目录内存数据库负载平衡对象池队列组件新的事件模型组件管理和配置,MTS事务支持资源分发管理安全模型,COM/DCOM-基于接口和编程模型远程支持基本的组件模型分布式组件服务,COM/DCOM/COM+组件,COM/DCOMCOM 组 件 是 遵 循COM 规 范 编 写、以Win32 动 态 链 接 库(DLL)或 可 执 行 文 件(EXE)形 式 发 布 的 可 执 行 二 进 制 代 码,能 够 满 足 对 组 件 架 构 的 所 有 需 求。遵 循COM 的 规 范 标 准,组 件 与 应 用、组 件 与 组 件 之 间 可 以 互 操 作,极 其 方 便 地 建 立 可 伸 缩 的 应 用 系 统。COM 是 一 种 技 术 标 准,其 商 业 品 牌 则 称 为ActiveX。,COM/DCOM/COM+组件,COM/DCOM的基本特征类和对象COM/DCOM使用面向对象模型。COM拥有与C+对象一样的类、成员函数和实例。COM/DCOM方法可通过网络调用C+对象通常都运行在同一进程空间中。COM/DCOM对象可跨进程和跨计算机运行。COM对象在世界上必须是唯一的在一个进程空间中,C+方法的名字必须是唯一的,而COM/DCOM对象的名字在整个世界中都是唯一的。COM是语言无关的COM服务器可以使用多种不同的语言和在不同的操作系统上编写,而C+对象通常都使用C+编写。接口将客户和服务器隔离开来COM最重要的一条规定是只能通过接口来访问一个COM对象。通过接口,客户端的程序与服务器的执行完全隔离开来。这是非常重要的一点。,COM/DCOM/COM+组件,COM/DCOM的接口接口的定义接口描述语言(IDL),它不依赖任何程序语言的接口描述方式。接口的工作模式,COM/DCOM/COM+组件,COM/DCOM的接口默认接口(IUnKnown)及其定义 组件中总存在一个默认的接口IUnknownInterface IUnKnown HRESULT QueryInterface(in REFIID iid,out void*ppv);/查询COM所定义的其它接口 ULong AddRef(void);/引用计数器增1 ULong Release(void);/引用计数器减1;,COM/DCOM/COM+组件,COM/DCOM的接口COM的生存期当接收到客户引用COM申请,建立引用,引用计数器增1 撤消引用时,引用计数器减1,当引用计数器为0时,组件撤消。接口的特性接口的二进制特性接口的规范与程序设计语言无关接口不变性组件的接口保持相对不变接口的动态多变性函数重载,COM/DCOM/COM+组件,COM/DCOM的类型进程内组件在同一进程中运行的组件。通常以DLL的形式出现,应用程序启动或调用时,加载组件。进程名组件在自身独立的进程中运行的组件。通常以EXE的形式出现,可以是本地调用,也可以是远程调用。DLL和EXE的主要差别:EXE组件运行时只是一个组件;DLL组件每个应用将拥有不同的组件个体;DLL组件的效率高于EXE组件;EXE组件可独立运行。,COM/DCOM/COM+组件,COM+的几个主要特性:真正的异步通讯。COM+底层提供了队列组件服务,这使客户和组件有可能在不同的时间点上协同工作,COM+应用无须增加代码就可以获得这样的特性。事件服务。新的事件机制使事件源和事件接收方实现事件功能更加灵活,利用系统服务简化了事件模型,避免了COM可连接对象机制的琐碎细节。可伸缩性。COM+的可伸缩性来源于多个方面,动态负载平衡以及内存数据库、对象池等系统服务都为COM+的可伸缩性提供了技术基础,COM+的可伸缩性原理上与多层结构的可伸缩特性一致。继承并发展了MTS的特性。从COM到MTS是一个概念上的飞跃,但实现上还欠成熟,COM+则完善并实现了MTS的许多概念和特性。可管理和可配置性。管理和配置是应用系统开发完成后的行为,在软件维护成本不断增加的今天,COM+应用将有助于软件厂商和用户减少这方面的投入。易于开发。COM+应用开发的复杂性和难易程度将决定COM+的成功与否,虽然COM+开发模型比以前的COM组件开发更为简化,但真正提高开发效率仍需要借助于一些优秀的开发工具。,COM/DCOM/COM+组件,COM+的几个新特性:COM+队列组件 COM+除了支持基于RPC连接的运行方式,它还支持另一种基于消息通讯过程的运行模式,它可以有效地把客户与组件的生存期分离开。这种模式就是通过COM+的队列组件服务实现的。,COM/DCOM/COM+组件,COM/DCOM/COM+组件,COM+的几个新特性:COM+队列组件队列组件并没有使用直接的RPC连接,而是采用了底层的消息系统MSMQ(Microsft Message Queue Server)。通过底层的队列机制,客户与组件的生存周期可以被分离在不同的时间点上。客户程序不再直接调用组件对象,它利用消息机制与组件对象进行通讯,即使组件对象并没有运行,客户程序仍然可以执行操作。COM+应用可以以透明方式支持同步和异步两种调用方式,当客户和组件程序建立了连接之后,客户以同步方式直接调用组件的方法;如果客户与组件没有建立直接的连接,那么客户以异步方式与组件进行通讯。在慢速网络上运行的应用系统,这种机制可以保证应用系统能够可靠地运行。在应用系统包含大量客户节点但服务器数量又比较少的情况下,客户应用程序可以把它们的请求放到队列中,当服务器负载比较轻的时候再处理这些请求,因此队列机制也从另一个角度实现了应用系统的负载平衡以及可伸缩特性。,COM/DCOM/COM+组件,COM+的几个新特性:COM+事件模型 COM+事件模型改进了COM的可连接对象机制,它采用了多通道的发布/订阅(multicasting publish/subscribe)事件机制,它允许多个客户去“订阅”事件,这些事件由各种组件对象“发布”。,COM/DCOM/COM+组件,COM+的几个新特性:COM+事件模型COM+事件服务维护一个事件数据库,数据库包含各种事件、发布者、订阅者以及所有的订阅信息。当发布者激发事件时,COM+事件服务对事件数据库中有关的订阅信息进行检查,然后通知对应的订阅者。COM+事件模型通过事件类来传递源对象的出接口事件信息,以便它可以与客户方的入接口事件方法相匹配,这种方式与COM可连接对象机制很类似,所以老式的COM组件和客户程序可以很方便地使用新的COM+事件模型。COM+事件模型用中心服务和中心管理的方式把发布者与订阅者之间的依赖关系分离开,它用事件类作为发布者和订阅者之间的中间对象,发布者必须通过事件类发布信息。,COM/DCOM/COM+组件,COM+的几个新特性:COM+事件模型事件类是由COM+事件服务提供的对象,它实现了事件接口,所以对于发布者来说,它扮演了订阅者的角色。当发布者要激发事件时,它创建一个事件类对象,调用相应的事件方法,然后释放对象的接口。COM+事件服务会决定如何通知订阅者,决定什么时候通知订阅者。如同队列组件情形一样,发布者和订阅者的生存时间可以被分离,从这个意义上讲,所有事件接口函数只能包含输入参数。订阅者订阅事件也很方便,它只要通过COM+事件服务创建一个订阅对象,并注册到事件数据库中,以后它就会接收到来自发布者的事件通知。,COM/DCOM/COM+组件,COM+的几个新特性:负载平衡 负载平衡是分布式应用的一种高层次需求,COM+可以以透明方式实现动态负载平衡。,COM/DCOM/COM+组件,COM+的几个新特性:负载平衡为了使组件支持负载平衡,必须定义一个应用群集(application cluster),应用群集是指一组已经安装了服务器端组件的机器(至多可达8台机器),把一台机器配置成负载平衡路由器(router)。当路由器的SCM(Service Control Manager)接收到远程创建对象请求时,它把请求传递到负载最轻的机器上。实现负载平衡的一个难点是如何确定应用群集中的哪台机器是负载最轻的。COM+负载平衡引擎使用缺省的负载平衡算法,它根据每台机器上每个对象实例的方法调用的响应时间作为参考值计算出负载平衡参数,这种算法不一定是最佳算法,但对于大多数应用已经足够了。,COM/DCOM/COM+组件,COM+的几个新特性:内存数据库(IMDB)内存数据库(In Memory Database)服务是一个全新的服务。以数据为中心的应用软件,为了提高系统的运行效率,它应该尽可能让更多的数据驻留在内存中,尤其是客户程序频繁访问的数据信息,基于IMDB的Web应用结构示意图,COM/DCOM/COM+组件,COM+的几个新特性:内存数据库(IMDB)IMDB的接口为OLE DB和ADO,所以组件对象可以通过这些标准接口访问IMDB。由于IMDB是内存中的数据库,所以IMDB只对本机器上的COM+组件有效,即IMDB不支持分布式概念,并且多个IMDB机器不能装入同一个数据表,如果多个组件要共享IMDB中的信息,那么这些组件必须运行在同一台机器上。IMDB不仅可以把数据表缓冲起来,它也可以管理应用系统的非永久状态信息,如果运行在同一台机器上的不同组件需要共享大量的信息,那么选择IMDB是一个理想的解决方案。,COM/DCOM/COM+组件,COM+的几个新特性:对其他服务的增强 事务特性。事务允许组件可以把一组独立的操作形成一个整体操作。COM+仍然支持MTS的事务语义,通过SetAbort或SetComplete完成事务操作。在事务操作过程中,若发生异常,则系统自动调用SetAbort。安全性。COM+的安全模型仍然沿用了MTS的基于角色的安全模型,管理员负责为所有的角色指定有关的用户帐号。COM+扩充了MTS安全模型,它允许开发人员和管理员指定到方法一级的安全控制,在MTS安全模型中,只能在MTS包一级指定安全角色。通过COM+对象环境信息,COM+的安全模型更为细致,它允许开发人员控制每一个接口、或者每一个方法如何扮演客户,等等。,COM/DCOM/COM+组件,COM+的几个新特性:对其他服务的增强 COM+对象池。对象池是指把对象的实例保留在内存中,以便当客户请求创建对象时可以马上用到这些对象。对象池如同IMDB一样,完全是出于效率考虑的原因,用来建立大型的应用系统。管理服务。COM+管理程序支持脚本语言,因此,开发人员和管理员可以创建一些脚本代码以便实现管理工作的自动化。COM+还引入了一个新的“ApplID”,它是一个128位GUID,管理员可以为应用配置和维护多个版本。,COM/DCOM/COM+组件,COM+提供的消息定购机制:持久定购为每一个定购者创建一个新的消息实例,组件与客户之间是一对一的关系,事件处理互不影响。短暂定购定购对象实例化后,将定购者与事件类绑定,可实现消息广播等单个用户定购只有定购者登录到消息系统所在的机器上,才可以使用。一旦定购者退出,定购即被取消。,返回,CORBA,代理者体系结构经典CORBA CORBA(Common Object Request Broker Architecture)目前分布式对象技术有3种主流技术COM、Java和COBRA。CORBA技术是最早出现的,1991年OMG颁布了COBRA 1.0标准,在当时来说做得非常漂亮;Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台;Sun公司的Java平台,在其最早推出的时候,只提供了远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一种,接着推出的JavaBean,也还不足以和上述两大流派抗衡,而其目前的版本叫J2EE,推出了EJB,除了语言外还有组件的标准以及组件之间协同工作通讯的框架。应该说,这三者之中,COBRA标准是做的最漂亮的。,CORBA,COM/JAVA/CORBA评述COMCOM技术是Microsoft独家做的,是在Windows 3.1中最初为支持复合文档而使用OLE技术上发展而来;经历了OLE、COM、ActiveX、DCOM和COM+等几个阶段,目前COM+把消息通讯模块MSMQ和解决关键业务的交易模块MTS都加进去了,是分布对象计算的一个比较完整的平台。Microsoft的COM平台效率比较高,同时它有一系列相应的开发工具支持,应用开发相对简单。COM的致命弱点就是跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大问题。从分布对象技术发展的角度来看,大多数人认为COM竞争不过COBRA。,CORBA,COM/JAVA/CORBA评述JAVAJava标准的制订就快得多,Java是Sun公司自己定的,演变的很快。Java的优势是纯语言的,跨平台性非常好。Java分布对象技术通常指远程方法调用(RMI)和企业级JavaBean(EJB)。RMI提供了一个Java对象远程调用另一Java对象的方法的能力,与传统RPC类似,只能支持初级的分布对象互操作。Sun公司于是基于RMI,提出了EJB。基于Java服务器端组件模型,EJB框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分布对象计算的服务。目前,Java技术和CORBA技术有融合的趋势。,CORBA,COM/JAVA/CORBA评述CORBA CORBA的特点是大而全,互操作性和开放性非常好。,CORBA,代理者体系结构经典CORBA CORBA(Common Object Request Broker Architecture)是由对象管理组织(OMG)制定的工业标准;主要目标是提供一种机制,使得对象可以透明地发出请求和获得应答,建立异质的分布式系统;OMG基于面向对象技术,给出了以ORB(Object Request Broker)为中心的对象管理结构;ORB是一个关键通信机制,它以实现互操作性为主要目标,处理对象之间的消息分布。,CORBA,COM/JAVA/CORBA评述CORBACORBA的特点是大而全,互操作性和开放性非常好。COBRA标准主要分为3个层次:对象请求代理最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“软总线”;公共对象服务在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;公共设施最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。,CORBA,代理者体系结构经典CORBA,对象管理结构,CORBA,代理者体系结构经典CORBA,CORBA技术规范,接口定义语言(IDL)接口池(IR)动态调用接口(DII)对象适配器(OA),CORBA,代理者体系结构经典CORBA,CORBA技术规范,接口定义语言CORBA利用IDL统一地描述服务器对象(向调用者提供服务的对象)的接口。IDL本身也是面向对象的。它虽然不是编程语言,但它为客户对象(发出服务请求的对象)提供了语言的独立性,因为客户对象只需了解服务器对象的IDL接口,不必知道其编程语言。IDL语言是CORBA规范中定义的一种中性语言,它用来描述对象的接口,而不涉及对象的具体实现。在CORBA中定义了IDL语言到C、C+、SmallTalk和Java语言的映射。,CORBA,代理者体系结构经典CORBA,CORBA技术规范,接口池 CORBA的接口池包括了分布计算环境中所有可用的服务器对象的接口表示。它使动态搜索可用服务器的接口、动态构造请求及参数成为可能。,CORBA,代理者体系结构经典CORBA,CORBA技术规范,动态调用接口 CORBA的动态调用接口提供了一些标准函数以供客户对象动态创建请求、动态构造请求参数。客户对象将动态调用接口与接口池配合使用可实现服务器对象接口的动态搜索、请求及参数的动态构造与动态发送。只要客户对象在编译之前能够确定服务器对象的IDL接口,CORBA也允许客户对象使用静态调用机制。静态机制的灵活性虽不及动态机制,但执行效率却胜过动态机制。,CORBA,代理者体系结构经典CORBA,CORBA技术规范,对象适配器 在CORBA中,对象适配器用于屏蔽ORB内核的实现细节;为服务器对象的实现者提供抽象接口,以便使用ORB的内部功能。这些功能包括服务器对象的登录与激活、客户请求的认证等。,CORBA,CORBA体系结构,动态激发API,动态激发ORB API,BOA API,实现仓库,CORBA,代理者体系结构经典CORBA,CORBA的优点,定义了一种面向对象的软件构造方法,使不同的应用可以共享由CORBA构造出来的软件。每个对象都对其内部操作细节封装,向外部提供接口,降低了应用系统的复杂性,也降低了应用系统的开发费用。CORBA的平台无关性实现了对象的跨平台引用。CORBA的语言无关性,使得软件开发中能大量使用现有成果。,CORBA,代理者体系结构经典CORBA,CORBA的缺点,CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢。,CORBA,代理者体系结构的优点定位的透明性客户不用关心服务器的物理位置,服务器也不用关心客户的物理位置。组件的可变更和可扩展性API不变,只改变内部实现不会对调用者产生影响。系统可移植性用户API、网桥、代理保证了系统的移植性。代理者系统间的互操作性网桥可重用性用户API、网桥、代理保证了可重用性,CORBA,代理者体系结构的缺点效率低中间层多。容错性差一个程序失效,依赖此程序的功能模块都失效。测试和调试困难多层、多组件、透明等,返回,

    注意事项

    本文(基于构件的软件开发.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开