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

    软件体系结构风格bak.ppt

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

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

    软件体系结构风格bak.ppt

    软 件 体 系 结 构,孟博计算机科学学院,课 程 内 容,软件体系结构概论 软件体系结构建模 软件体系结构风格 软件体系结构描述 动态软件体系结构 Web服务体系结构 基于体系结构的软件开发 软件体系结构的分析与测试 软件体系结构评估 软件产品线体系结构,OMG简介,第3章 软件体系结构风格,OMG成立于1989年,作为一个非营利性组织,集中致力于开发在技术上具有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型技术,增强软件的可移植性、可重用性和互操作性。该组织成立之初,成员包括Unisys、Sun、Cannon、Hewlett-Packard、Philips等在业界享有声誉的软硬件厂商,目前该组织拥有800多家成员。,3.6 公共对象请求代理体系结构,CORBA主要版本的发展历程,第3章 软件体系结构风格,1990年11月,OMG发表对象管理体系指南,初步阐明了CORBA的思想;1991年10月,OMG推出1.0版,其中定义了接口定义语言、对象管理模型以及基于动态请求的API和接口仓库等内容;1991年12月,OMG推出了CORBA 1.1版,在澄清了1.0版中存在的二义性的基础上,引入了对象适配器的概念;1996年8月,OMG基于以前的升级版本,完成了2.0版的开发,该版本中重要的内容是对象请求代理间协议(IIOP)的引入,用以实现不同厂商的ORB真正意义上的互通;,3.6 公共对象请求代理体系结构,第3章 软件体系结构风格,1998年9月,OMG发表了CORBA 2.3版,增加了支持CORBA对象的异步实时传输、服务质量规范等内容。目前,宣布支持CORBA 2.3规范的中间件厂商包括Inprise、Iona、BEA System等著名的CORBA产品生产商。2002年8月,CORBA规范3.0,在CORBA3.0 规范中去掉了MiniCORBA和实时CORBA。,3.6 公共对象请求代理体系结构,CORBA主要版本的发展历程,定义异构环境下对象透明地发送请求和接收响应的基本机制。支持客户程序与对象实现在一个分布式环境中通信。,基于分布式对象的所有应用程序都可能用到的通用服务的接口,可用于大多数应用领域的面向终端用户的工具接口水平公用设施:领域间可共享垂直公用设施:面向某个领域,由CORBA支持的顶层业务对象和应用系统,是针对特定应用开发的接口,对象管理结构,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,CORBA技术规范,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,接口定义语言(IDL)接口池(IR)动态调用接口(DII)对象适配器(OA),CORBA技术规范,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,接口定义语言 CORBA利用IDL统一地描述服务器对象(向调用者提供服务的对象)的接口。IDL本身也是面向对象的。它虽然不是编程语言,但它为客户对象(发出服务请求的对象)提供了语言的独立性,因为客户对象只需了解服务器对象的IDL接口,不必知道其编程语言。IDL语言是CORBA规范中定义的一种中性语言,它用来描述对象的接口,而不涉及对象的具体实现。在CORBA中定义了IDL语言到C、C+、SmallTalk和Java语言的映射。,CORBA技术规范,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,接口池 CORBA的接口池包括了分布计算环境中所有可用的服务器对象的接口表示。它使动态搜索可用服务器的接口、动态构造请求及参数成为可能。,CORBA技术规范,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,动态调用接口 CORBA的动态调用接口提供了一些标准函数以供客户对象动态创建请求、动态构造请求参数。客户对象将动态调用接口与接口池配合使用可实现服务器对象接口的动态搜索、请求及参数的动态构造与动态发送。当然,只要客户对象在编译之前能够确定服务器对象的IDL接口,CORBA也允许客户对象使用静态调用机制。显然,静态机制的灵活性虽不及动态机制,但执行效率却胜过动态机制。,CORBA技术规范,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,对象适配器 在CORBA中,对象适配器用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能。这些功能包括服务器对象的登录与激活、客户请求的认证等。,CORBA技术规范,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,服务请求的实现方式 关于对象请求的实现方式,CORBA规范中定义客户程序可以用动态调用接口(DII,Dynamic Invocation Interface)方式或通过OMG IDL文件经编译后在客户端生成的桩(Stub)方式提出服务请求。这两种实现方式的区别在于通过OMG IDL桩(Stub)文件方式实现的调用请求中,客户能够访问的服务对象方法取决于服务对象所支持的接口;而动态调用接口调用方式则与服务对象的接口无关。尽管实现调用请求的方式有所区别,但客户发出的请求服务调用的语义是相同的,服务对象不去分析服务请求提出的方式,在ORB上调用creat_request()来创建请求,将方法名、参数列表以及返回值的指针传递给这个请求,如用create_list()创建列表,用add_item将参数加进列表。,对接口库调用lookup_name()去寻找它想调用的方法,然后调用describe()去获得这个方法的全部IDL定义。,获得接口名字:在目标对象的引用上调用get_Interface()方法,动态调用的大致过程,在请求对象上调用相应的方法,将请求发送出去。有三种方法:同步:使用invoke()延迟同步:使用send_deferred()和get_response()单向调用:使用send_oneway(),存储允许ORB的定位和激活对象实现的信息,如Server支持的类、实例化对象、这些对象的ID等运行时信息。,对象引用的生成、维护,方法调用、对象的激活与终止、对象定位等功能。BOA:Basic Object AdapterPOA:Portable Object Adapter,DII在Server方的对应。DSI从进入的消息找出调用的目标对象及相应的方法,并提供运行时的连接机制。,允许动态地构造对象调用。客户机可推迟到运行时选择对象的实现接口和操作。,静态IDL存根在Server侧的对应。由IDL编译程序自动生成。,服务的静态接口。由IDL编译程序自动生成。在客户端,如同一本地调用,是远程SERVER对象的代理。,访问某个对象实现所提供的服务的程序。根据其接口了解其逻辑结构,并通过调用掌握对象的行为,所定义的IDL接口的真正实现。可用语言:C,C+,Java,Smalltalk,Ada,是ORB最关键的部分,负责请求的通信设施:对象的定位编组与解组启动初始服务屏蔽底层网络细节提供接口库和其它的API,ORB体系结构回顾,对象的IDL 接口定义的存储、分布和管理。客户对象可以在运行时查阅接口仓库的内容,获得对象实现的IDL接口信息,从而向对象实现发出请求。,当客户程序要调用远程对象上的方法时,首先要得到这个远程对象的引用,之后就可以像调用本地方法一样调用远程对象的方法。当发出一个调用时,实际上ORB会截取这个调用(通过客户Stub完成),因为客户和服务器可能在不同的网络、不同的操作系统上甚至用不同的语言实现,ORB还要负责将调用的名字、参数等编码成标准的方式(称Marshaling)通过网络传输到服务器方(有时在同一台机器上也如此),并通过将参数Unmarshaling的过程,传到正确的对象上(这整个过程叫重定向,Redirecting),服务器对象完成处理后,ORB通过同样的Marshaling/Unmarshaling方式将结果返回给客户。,ORB内核提供的服务对象接口,同时为客户方和对象实现方所见,可直接为应用程序所使用。,特点,第3章 软件体系结构风格,3.6 公共对象请求代理体系结构,引入中间件作为事务代理,完成客户机向服务对象方(Server)提出的业务请求。实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统中。CORBA规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。,主要的CORBA产品,Orbix(C+,Java)、ORBacus(C+、Java):IONA公司 VisiBroker(C+,Java):原Visigenic Software公司,被Borland收购 OmniORB(C+):AT&T NEO/JOE(Java):Sun公司 ORB Plus:HP公司 PowerBroker/CORBAPlus:Expersoft公司,定义1:是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源;中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通信。,中 间 件,定义2:Software that connects two otherwise separate applications.,常见的中间件分类数据库访问系统(Database Access Systems)JDBCODBC事务处理(Transaction)MTSJTS远程过程调用(Remote Procedure Call,RPC)Sun RPCDCE面向消息的中间件(Message-Oriented Middleware,MOM),哪些是中间件?,计算机学院硕士研究生2006-2007学年春季课程,常见的中间件分类(续)对象请求代理(Object Request Brokers,ORB)CORBARMIDCOM 构件中间件(Component Middleware)EJBCOM/COM+服务中间件中间件是这类技术的统称比如生活中的中年人、中间人、中国人,哪些是中间件?,EAI(Hub,Bus,Workflow),B2B,Transaction,Security,发展过程参考图,Database Gateway,Web Service,P2P,GRID,PUB-SUB,概念,第3章 软件体系结构风格,3.7 正交软件体系结构,正交软件体系结构由组织层和线索的构件构成。层是由一组具有相同抽象级别的构件构成。线索是子系统的特例,它是由完成不同层次功能的构件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。每一条线索的实现与其他线索的实现无关或关联很少,在同一层中的构件之间是不存在相互调用的。如果线索是相互独立的,即不同线索中的构件之间没有相互调用,那么这个结构就是完全正交的。,框架,第3章 软件体系结构风格,3.7 正交软件体系结构,图 3-18 正交软件体系结构框架架,特征,第3章 软件体系结构风格,3.7 正交软件体系结构,正交软件体系结构由完成不同功能的n(n 1)个线索(子系统)组成;系统具有m(m 1)个不同抽象级别的层;线索之间是相互独立的(正交的);系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)。,是目前应用系统功能设计的主流结构,人员管理,生产经营,产品质量监督,财务管理,企业信息,安全检查,主控窗口层,菜单接口层,功能对话层,功能定义层,数据模型与数据接口层,物理数据层,多种经营管理系统主线索正交结构,第3章 软件体系结构风格,3.7 正交软件体系结构,优点,第3章 软件体系结构风格,3.7 正交软件体系结构,结构清晰,易于理解。由于线索功能相互独立,不进行互相调用,结构简单、清晰,构件在结构图中的位置已经说明它所实现的是哪一级抽象,担负的是什么功能。易修改,可维护性强。由于线索之间是相互独立的,所以对一个线索的修改不会影响到其他线索。系统功能的增加或减少,只需相应的增删线索构件族,而不影响整个正交体系结构,因此能方便地实现结构调整。可移植性强,重用粒度大。因为正交结构可以为一个领域内的所有应用程序所共享,这些软件有着相同或类似的层次和线索,可以实现体系结构级的重用。,互连系统构成的系统,第3章 软件体系结构风格,3.10 SIS体系结构风格,图 3-30 SIS的体系结构,基于SASIS的软件过程,第3章 软件体系结构风格,3.10 SIS体系结构风格,图 3-31 基于SASIS的软件过程,基于SASIS的软件过程,第3章 软件体系结构风格,3.10 SIS体系结构风格,图 3-32 上级系统的高级用例与从属系统的详细用例之间的关系,基于SASIS的软件过程,第3章 软件体系结构风格,3.10 SIS体系结构风格,图 3-33 一个从属系统是另一个从属系统的主角,定义,第3章 软件体系结构风格,3.11 特定领域软件体系结构,DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。,定义,第3章 软件体系结构风格,3.11 特定领域软件体系结构,Hayes-Roth对DSSA的定义如下:“DSSA就是专用于一类特定类型的任务(领域)的、在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合”。Tracz的定义为:“DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成”。,定义,第3章 软件体系结构风格,3.11 特定领域软件体系结构,DSSA的必备特征:1.一个严格定义的问题域和/或解决域2.具有普遍性,使其可以用于领域中某个特定应用的开发3.对整个领域的合适程度的抽象4.具备该领域固定的、典型的开发过程中可重用元素,定义,第3章 软件体系结构风格,3.11 特定领域软件体系结构,垂直域:定义了一个特定的系统族,包含整个系统族内的多个系统,结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构。水平域:定义了在多个系统和多个系统族中功能区域的共有部分,在子系统级上涵盖多个系统族的特定部分功能,无法为系统提供完整的通用体系结构。,基本活动,第3章 软件体系结构风格,3.11 特定领域软件体系结构,领域分析 领域设计 领域实现,领域分析,第3章 软件体系结构风格,3.11 特定领域软件体系结构,图 334领域分析机制,建立过程,第3章 软件体系结构风格,3.11 特定领域软件体系结构,定义领域范围:确定什么在感兴趣的领域中以及本过程到何时结束。定义领域特定的元素:编译领域字典和领域术语的同义词词典。识别领域中应用间的共同性和差异性;定义领域特定的设计和实现需求约束:描述解空间中有差别的特性。不仅要识别出约束,并且要记录约束对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论;,建立过程,第3章 软件体系结构风格,3.11 特定领域软件体系结构,定义领域模型和体系结构:产生一般的体系结构,并说明构成它们的模块或构件的语法和语义;产生、搜集可重用的产品单元:为DSSA增加构件使得它可以被用来产生问题域中的新应用。,三层次系统模型,第3章 软件体系结构风格,3.11 特定领域软件体系结构,图 3-35 DSSA三层次系统模型,DSSA和体系结构风格的比较,第3章 软件体系结构风格,3.11 特定领域软件体系结构,DSSA以问题域为出发点,体系结构风格以解决域为出发点。DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个应用领域。,DSSA和体系结构风格的比较,第3章 软件体系结构风格,3.11 特定领域软件体系结构,DSSA通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。体系结构风格的定义和该风格应用的领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用范围要广。DSSA和体系结构风格是互为补充的两种技术。,概述,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,图 3-22 HMB风格的系统示意图,HMB风格的构件模型,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,图 3-23 HMB风格的构件模型,构件接口,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,HMB风格的构件接口是一种基于消息的互联接口,可以较好地支持体系结构设计。构件之间通过消息进行通讯,接口定义了构件发出和接收的消息集合。当某个事件发生后,系统或构件发出相应的消息,消息总线负责把该消息传递到此消息感兴趣的构件。按照响应方式的不同,消息可分为同步消息和异步消息。,消息总线,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,图 3-24 消息总线的结构,构件静态结构,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,图 3-25 系统、复合构件的静态结构示意图,构件动态行为,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,构件的行为就由外来消息的类型唯一确定,即一个消息和构件的某个操作之间存在着固定的对应关系。对于这类构件,可以认为构件只有一个状态,或者在每次对消息响应之前,构件处于初始状态。更通常的情况是,构件的行为同时受外来消息类型和自身当前所处状态的影响。,运行时刻的系统演化,第3章 软件体系结构风格,3.8 基于层次消息总线的体系结构,动态增加或删除构件 动态改变构件响应的消息类型 消息过滤,谢 谢!,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开