[精选]面向对象的中间件软件体系结构研讨20504.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《[精选]面向对象的中间件软件体系结构研讨20504.pptx》由会员分享,可在线阅读,更多相关《[精选]面向对象的中间件软件体系结构研讨20504.pptx(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本资料来源软件方法学软件方法学第4章:面向对象的中间件软件体系结构基于构件的软件开发目标n长期以来的软件开发状况多数软件都是针对某个具体的应用系统从头进行开发的导致:出现了大量的同类软件重复开发,造成大量人力、财力的浪费,而且软件的质量也不高n对比:汽车工业的生产模式在已有的部件基础上通过组装进行生产:有专门的部件生产工厂,汽车设计者在设计中选择市场上已有的合适的部件避免了大量的重复劳动,提高了产品质量和生产效率,促进分工合作n我们的目标:将制造业中的组装式生产模式引入到软件开发中内容摘要n基于构件的软件开发概述n建造可复用构件n应用系统工程n构件的管理n小结内容摘要n n基于构件的软件开发概
2、述n建造可复用构件n应用系统工程n构件的管理n小结基于构件的软件开发n基于构件的软件开发Component-BasedSoftwareDevelopment简称CBSD是指使用可复用构件来开发应用软件n基于构件的软件工程Component-BasedSoftwareEngineering简称CBSE构件(Component)的典型定义nPressman书中的定义:构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能nBrown的定义:构件是一个独立发布的功能部分,可以通过其接口访问它的服务n“计算机科学技术百科全书”的定义:软件构件是软件系统中具有
3、相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体;软件构件须承载有用的功能,并遵循某种构件模型;可复用构件是指具有可复用价值的构件商用成品构件nCommercialoff-the-shelfn简称COTSn指由第三方开发的满足一定构件标准的,可组装的软件构件构件的要素n规格说明:建立在接口概念之上,作为服务提供方与客户方之间的契约n一个或多个实现n受约束的构件标准n包装方法n部署方法3C构件模型n关于构件的一个指导性模型n由构件的三个不同方面的描述组成概念(concept):关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能
4、。概念包括接口规约和语义描述两部分,语义描述和每个操作相关联(至少表示为前后置谓词形式)内容(content):概念的具体实现,描述构件如何完成概念所刻画的功能周境(context):描述构件和外围环境在概念级和内容级的关系,刻画构件的应用环境,为构件的选用和适应性修改提供指导REBOOT构件模型nREBOOT(ReuseBasedonObject_OrientedTechnology):基于面向对象技术的复用n一种基于刻面(facet)的模型刻面:对领域进行分析,所得到的一组基本的描述特征刻面可以描述构件执行的功能、所操作的数据、构件应用的周境或任何其它特征通常的刻面描述限制在不超过7或8个
5、刻面n一个构件通常包括以下刻面:抽象(abstraction):它是构件概念的抽象性描述操作(operation):它是构件所提供的操作的描述操作对象(operand):它描述操作的对象依赖(dependency):它描述构件与外界的依赖关系常用的构件标准nCORBA(公共对象请求代理体系结构)CommonObjectRequestBrokerArchitectureOMG发布的构件标准核心是ORB(ObjectRequestBroker),定义了异构环境下对象透明地发送请求和接收响应的基本机制nCOM+微软开发的一个构件对象模型,提供了在运行于Windows操作系统之上的单个应用中使用不同厂
6、商生产的对象的规约nEJB:一种基于Java的构件标准提供了让客户端使用远程的分布式对象的框架EJB规约规定了EJB构件如何与EJB容器进行行交互nCORBA技术规范nCORBA是OMG组织在1991年提出的公用对象请求代理程序结构技术规范。CORBA的底层结构是基于面向对象模型的模块组成:n1接口描述语言(OMGInterfaceDefinitionLanguage,OMGIDL)、n2对象请求代理(ObjectRequestBroker,ORB)n3IIOP标准协议(InternetInter-ORBProtocol)n使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL
7、使得所有CORBA对象以一种方式被描述,仅仅需要一个由语言(C/C+、CORBA或Java)到IDL的“桥梁”。CORBA对象的互通要以对象请求代理为中介,这种互通信可以在多种流行通信协议之上实现。在TCP/IP上,来自于不同开发商的ORB用IIOP标准协议进行通讯。nCOM/DCOM技术规范nCOM(ComponentObjectModel,组件对象模型)是Microsoft软件组件标准,是构造二进制兼容软件组件的规范。COM的体系结构包括统一数据传输、持久存储和智能命名、COM核心等。其中:n1COM核心:包括服务控制管理、接口代理、接口基和COM库。COM核心定义了COM对象与使用者如何
8、通过二进制标准接口进行交换的规格说明。n2持久存储::通过Istorage和Istream接口提供一个“文件系统”。n3智能命名:通过对象实现接口,使用户可以在以后重新连接一个指定的对象实例,并且使对象实例仍保持原来的状态,另外还提供保存它们名字和其它持久信息的机制。COM库提供对所有客户及组件都非常有用的组件管理服务。nDCOM是COM的分布式扩展,Microsoft把DCOM作为开发Internet和组件的基础。当客户和组件位于不同机器时,DCOM用TCP/IP协议等取代COM中的本地进程间通信LRPC,从而对位于Internet不同n机器上的组件对象之间的相互通讯提供了透明的支持。n目前
9、可以支持DCOM部件开发的编程语言很多,如Java、VisualC+/VisualBasic、Delphi、PowerBuilder等,具有较好的集成性和扩展性。n微软的许多其它软件如OLE、OLEDB、ADO都是基于COM/DCOM技术。nCOM/DCOM并没有真正实现跨平台,目前基于COM的软件较多,但没有运行于异构平台上的基于DCOM的分布式软件。COM/DCOM在微软平台上运行情况较好,但对实时性、可靠性等的支持较少。nCOM+技术规范nCOM+是微软公司在COM、DCOM(DistributedCOM)和MTS(MicrosoftTransactionServer)基础上进一步优化了
10、组件管理环境与事务服务3,提供了无缝连接系统。n它以系统服务的形式把原先一些分散的技术综合起来,并提供简单的编程模型,以直接应用层的编程接口为应用程序提供服务,使创建服务器应用就像实现客户应用一样简单。COM+把COM模型推向了更高层次,成为了企业级别分布式软件开发领域的重要技术。nCOM+组件提供了ASP、ASPServlet、ASPBean等技术,实现页面动态内容的实现与显示,ASPServlet运行在Web服务器端的Servlet程序,支持多线程、多用户访问,能完成所有CGI功能。n以SOAP为基础的Microsoft的.NET显现出减少实现RPC的困难,快速实现互操作性的潜力,使COM
11、+组件可以与CORBA和Java标准进行通信。n采用MFC(Microsoftfoundationclasslibrary)和ATL(activetemplatelibrary)作为开发工具,用COM+技术把模块的类做成动态链接库(DLL)的形式来发布,可以在物理上把模块类的包装与客户的包装脱离开来。SOAP通讯协议:nSimpleObjectAccessProtocol(简单对象访问协议)的英文缩写,目前已经得到IBM、Ariba、CommerceOne、SAP、康柏、惠普等公司的支持。它能够让不同应用程序之间通过HTTP通讯协议,以XML格式互相交换彼此的资料。作为新生事物,SOAP通过建
12、立HTTP连接隧道来部署自己的协议:SOAP要求把请求参数组织在XML文档中,该文档然后被放到HTTPPOST请求体中发送到运行在Web主机基于SOAP的Web服务。同样,现在正在做很多扩展SOAP的工作,使它能使用其它的传输协议,例如HTTPS和SMTP。n它包括四个部分:n1SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;n2SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;n3SOAPRPC表示(RPCrepresentation),表示远程过程n4SOAP绑定(bindi
13、ng),使用底层协议交换信息nEJB技术规范nEJB(EnterpriseJavaBeans)是J2EE的核心技术之一,它是建立基于Java的服务器端组件的标准。nEJB是以部件为基础框架,其中每个部件都是分布式对象,可以扩展,也可以适配在不同应用中使用,大大方便了企业应用开发。EJB不局限于一种特定的操作系统,也不局限于任何一种特别的机构、服务器解决方案、中间件或者通信协议,是一种可重用的具有高度可移植性的组件。EJB组件模型包含了EJB服务器、容器、Home接口、Remote接口等。n三种分布式组件对象模型的比较(表1)n三种模型各有其优势:nJava由于平台无关性的优势显著,成为理想的I
14、nternet技术;n而Windows平台的广泛使用也使COM/DCOM具有深厚的基础;nOMG组织在10几年来一直在为自己的组件软件建立标准,而且已被很多组织和公司采用。对于异构环境下的企业应用开发,CORBA和EJB有着明显的优势,并且CORBA和EJB所依赖Java技术可以很好的互补。CORBA处理网络透明性,EJB处理实现透明性。因此,CORBA和EJB技术紧密结合应是今后多层分布式系统发展的一大趋势。基于构件的软件开发过程领域工程步骤-1n领域分析:首先要进行领域分析,收集领域中有代表性的应用样本,分析应用中的公共部分或相似部分,抽取该领域的应用体系结构n建立领域特定的基准体系结构模
15、型:在领域分析的基础上,构造该领域的基准体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用n标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候选构件n泛化(generalization)和可变性(variability)分析:提高其通用性,同时寻找候选构件在不同应用中的变化点(variationpoint),通过设置参数、继承或其它手段,使可变部分局部化领域工程步骤-2n重建构件:在泛化和可变性分析的基础上,重建构件,使它成为可复用构件n构件的测试:对重建的可复用的构件要严格测试,以提高其可靠性n构件的包装:经测试的构件应根据构件库的要求,对它进行包装,以
16、便构件库对它分类储存和检索n构件入库:包装后的构件即可存入构件库应用系统工程的步骤-1n建立应用系统的体系结构模型:可以使用构件生产者提供的领域特定的基准体系结构经裁剪和/或扩充而获得n寻找候选构件:根据应用系统的体系结构模型,从构件库或其它可利用的构件源中寻找候选构件n评价和选择合适的构件:评价候选构件以判断是否适合于待开发的软件n构件的修改(modify)和特化(specialize):在复用时对构件进行特化以满足特定应用的需要应用系统工程的步骤-2n开发未被复用的部分:对新系统中未复用的部分进行开发n构件的组装:将特化和修改后的可复用构件和新开发的部分组装成一个新的软件系统n集成测试:对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 面向 对象 中间件 软件 体系结构 研讨 20504
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内