软件体系结构chap03_风格下)资料

上传人:E**** 文档编号:100207685 上传时间:2019-09-22 格式:PPT 页数:50 大小:452.50KB
返回 下载 相关 举报
软件体系结构chap03_风格下)资料_第1页
第1页 / 共50页
软件体系结构chap03_风格下)资料_第2页
第2页 / 共50页
软件体系结构chap03_风格下)资料_第3页
第3页 / 共50页
软件体系结构chap03_风格下)资料_第4页
第4页 / 共50页
软件体系结构chap03_风格下)资料_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《软件体系结构chap03_风格下)资料》由会员分享,可在线阅读,更多相关《软件体系结构chap03_风格下)资料(50页珍藏版)》请在金锄头文库上搜索。

1、2019/9/22,1,第三章 软件体系结构风格, 3.1 概述 3.2 经典软件体系结构风格 3.3 公共对象请求代理体系结构 3.4 正交体系结构 3.5 基于层次消息总线的体系结构风格 3.6 异构结构风格 3.7 互联系统构成的系统及其体系结构 3.8 面向体系结构的架构(SOA),2019/9/22,2,3.3 公共对象请求代理体系结构,公共对象请求代理体系结构CORBA(Common Object Request Broker Architecture)是由对象管理组织OMG(Object Management Group)提出的应用软件体系结构和对象技术规范,其核心是一套标准的语

2、言、接口和协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用;,2019/9/22,3,3.3 公共对象请求代理体系结构,OMG简介: 成立于1989年,作为一个非营利性组织,致力于开发在技术上具有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型技术,增强软件的可移植性(Portability)、可重用性(Reusability)和互操作性(Interoperability); 该组织成立之初,成员包括Unisys、Sun、Cannon、Hewlett-Packard、Philips等在业界享有声誉的软硬件厂商,目前该组织拥有800多家成员。,20

3、19/9/22,4,3.3 公共对象请求代理体系结构,CORBA主要版本的发展历程: 1990.11,OMG发表对象管理体系指南,初步阐明CORBA的思想; 1991.10,1.0版,定义了接口定义语言(IDL)、对象管理模型以及基于动态请求的API和接口仓库等内容; 1991.12,1.1版,引入了对象适配器的概念; 1996.8, 2.0版,对象请求代理间协议(IIOP,Internet Inter-ORB Protocol)的引入,用以实现不同厂商的ORB的互通; 1998.9,2.3版,增加了支持CORBA对象的异步实时传输、服务质量规范等内容。,2019/9/22,5,3.3 公共对

4、象请求代理体系结构,目标是提供一种机制,使得对象可以透明地发出请求和获得应答; ORB (Object Request Broker )是其关键通信机制,以实现互操作性为目标,处理对象之间的消息分布; 对象服务实现基本的对象创建,通用服务则使用对象管理结构所规定的类接口实现一些通用功能。,2019/9/22,6,2019/9/22,7,CORBA技术规范包括:接口定义语言IDL (Interface Definition Language)、接口池IR (Interface Repository)、动态调用接口DII (Dynamic Invocation Interface)、对象适配器OA

5、 (Object Adapter)等。 1、接口定义语言 面向对象,虽不是编程语言,但它为客户对象提供了语言的独立性; 一种中性语言,描述对象的接口,不涉及对象的具体实现; 定义了IDL到C、C+、Java的映射。,2019/9/22,8,2、接口池 包括了分布计算环境中所有可用的服务器对象的接口表示; 支持动态搜索可用服务器接口、动态请求及参数。 3、动态调用接口 提供一些标准函数以供客户对象动态创建请求、动态构造请求参数; 服务器进行对象接口的动态搜索、请求及参数的动态构造与动态发送;,2019/9/22,9,4、对象适配器 屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便

6、他们使用ORB内部的某些功能; 如,服务器对象的登录与激活、客户请求的认证,等等。,2019/9/22,10,CORBA定义一种面向对象的软件构件构造方法,提供不同的应用共享; 封装细节,精确定义接口、降低复杂度和开发费用; CORBA的平台无关性实现了对象的跨平台引用。,2019/9/22,11,CORBA词汇表= 构 件:=客户系统/服务器系统/其他构件; 连接件:=请求/服务 ; 约 束:=接口池/配置 ; 客户机系统包括客户机应用程序、客户桩、上下文对象和接口仓库等构件,以及桩类型激发API和动态激发API等连接件; 服务器系统包括服务器应用程序库、服务器框架和对象请求代理等构件,以及

7、对象适配器等连接件。,2019/9/22,12,客户桩(stub):也译为“代码存根”,它给客户端程序提供一个桩,这个桩上“绑”着服务器对象。当客户程序需要调用远程对象时,这个桩被下载到客户端,客户就可以像调用本地方法一样调用远程方法。 客户桩的作用是将客户向服务器的请求进行编码、进行传输,服务器执行这次调用后将结果返回到客户桩,客户桩进行解码,将解码后的结果传送到客户程序中。,2019/9/22,13,2019/9/22,14,3.4 正交软件体系结构,正交(Orthogonal)软件体系结构由组织层和线索的构件构成; 层由一组具有相同抽象级别的构件构成,线索是子系统的特例,由完成不同层次功

8、能的构件组成,每一条线索完成整个系统中相对独立的一部分功能; 每条线索的实现与其他线索的实现关联很少,在同一层的构件之间不存在相互调用。,2019/9/22,15,正交软件体系结构特征: 正交软件体系结构由完成不同功能的n (n1)个线索(子系统)组成; 系统具有m (m1)个不同抽象级别的层; 线索之间是相互独立的(正交的); 系统有一个公共驱动层(最高层)和公共数据结构(最低层) ;,2019/9/22,16,3.5基于层次消息总线的体系结构,层次消息总线HMB (Hierarchy Message Bus)体系结构风格是北大杨芙清院士等人提出: 网络和分布式构件技术日趋成熟,具有分布和并

9、发特点的软件系统成为普遍需求; 基于事件驱动的编程模式在图形用户界面程序设计中得到广泛应用; 硬件总线体系结构具有良好的扩展性和适应性。,2019/9/22,17,HMB风格基于层次消息总线、支持构件的分布和并发,构件之间通过消息总线进行通信; 消息总线是系统的连接件,负责消息的分派、传递、过滤及处理结果的返回; 各个构件挂接在消息总线上,向总线登记感兴趣的消息类型;构件发送的消息由总线传送到其他构件,处理结果也由总线返回; 不要求各个构件具有相同的地址空间或局限在同一台机器上,可较好地刻画分布式并发系统。,2019/9/22,18,2019/9/22,19,3.5.1 HMB的构件模型,HM

10、B风格的构件模型包括接口、静态结构和动态行为: 一个构件支持多个不同的接口,每个接口包括一组输入和输出,刻画了构件对外提供的服务及要求的服务环境; 构件收到消息后,根据当前所处状态对消息进行响应,并可能导致状态的变迁; 复合构件是更简单的子构件通过局部消息总线连接而成。,2019/9/22,20,3.5.2 HMB的构件接口,HMB风格的构件接口的特点: 降低构件之间的耦合:构件只对消息本身感兴趣,不关心消息如何产生;切断构件之间的直接联系; 构件之间连接的匹配不固定:构件对外来消息进行响应后,可能导致状态的变迁;同一构件在不同状态下收到同样消息可能作出不同的响应; 消息有接收消息和发送消息、

11、同步消息(过程调用)和异步消息(信号)。,2019/9/22,21,3.5.3 HMB的消息总线,消息登记:构件需要向总线登记响应的消息集合; 消息分派和传递:总线负责消息的分派、传递,并负责处理结果的返回;总线是逻辑上整体,物理上可跨越多个机器(位置透明); 消息过滤:总线提供消息的转换和阻塞。,2019/9/22,22,3.5.3 HMB的消息总线(续),2019/9/22,23,3.5.4 HMB的构件静态结构,HMB风格支持自顶向下的层次化分解,复合构件由简单子构件构成; 子构件通过复合构件内部的消息总线连接,各层次的消息总线在逻辑功能上一致; 子构件还可进一步再分,整个系统用统一的方

12、式描述。,2019/9/22,24,3.5.4 HMB的构件动态行为,同一事件,由于构件的状态不同,可具有不同的响应; 可采用带输出的有限状态机描述构件的行为。,2019/9/22,25,3.5.4 HMB运行时刻的系统演化,在对系统持续可用性要求较高时,需要在不必对软件进行重新编译和加载的前提下,为最终用户提供系统定制和扩展的能力; 动态删除和增加构件: 系统功能需要扩充时,增加新的构件,只需登记消息响应; 系统功能裁减或某构件出现问题时,删除构件,需阻塞一些消息; 用增强功能或改正错误的新构件替换旧构件。,2019/9/22,26,动态改变构件响应的消息类型: 构件可以动态地改变对外提供的

13、服务; 消息过滤: 通过消息过滤机制,解决某些构件集成的不匹配问题。,2019/9/22,27,3.6 异构结构风格,3.6.1 为什么要使用异构结构 不同的结构有不同的处理能力、不同的优缺点;体系结构应该根据实际需要进行选择; 遗留的系统可能具有不同的风格和结构; 软件包、框架、通信等方面存在多种不同的标准; 同一标准中存在不同的解释和表示。 应用系统中10%代码实现公开功能,其余完成输入/输出、用户界面、文本编辑、图表、对话框等管理功能,重用主要受限于数据表示、数据组织、通信协议等方面的差异。,2019/9/22,28,3.6.2 异构组合匹配问题,组合的方法很多,如可以利用分层组织方式,

14、以不同的结构类型描述体系结构中的每一层。 异构体系结构组合时,如何解决不同体系结构下构件间的协调问题? 假设:两个构件(A和B)不能协调工作的原因是各自事先对数据表示、通信协议、同步控制、语法作了假设。,2019/9/22,29,解决A、B不匹配的方法: 按照B的形式重写A,即将A的形成改变成B的形式; 公布A的形式的抽象化信息,即开放API; 数据传输过程中从A的形式转变到B的形式; 通过协商,A和B达成一个统一的形式; 使B成为支持多种形式; 为B提供进口/出口转换器:独立程序或系统协调扩充;,2019/9/22,30,引入中间形式,如IDL(接口描述语言)、标准的发布形式等; 为A添加一

15、个适配器(adapter)或包装器; 保持对A和B的版本并行一致。,2019/9/22,31,C/S与B/S混合软件体系结构,2019/9/22,32,C/S与B/S混合软件体系结构: 优点:外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性较强,数据查询和修改的响应速度较快; 缺点:企业外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强。,2019/9/22,33,三种不同的异构风格: 空间异构(Spatial/Locational Heterogeneity):构件使用不同连接件混合,不同子系统使用不同风格; 时间异构(Temporal/Simu

16、ltaneous Heterogeneity):系统在不同时间或阶段采用不同风格; 层次异构(Hierachical Heterogeneity):各构件和连接件内部采用不同风格。,2019/9/22,34,3.7 互联系统的体系结构,3.7.1 互联系统构成的系统 SIS (System of Interconnected systems)由Herbert H. Simon在1981年提出; 系统可分成若干部分,每个部分作为单独的系统开发;整个系统通过一组互联系统实现,互联系统之间相互通信,履行系统的职责; 上级系统(superordinate system):体现整体性能; 从属系统(subordinate system):子系统,上级系统模型中所指定内容的一个实现。,2019/9/22,35,2019/9/22,36,3.7.2 基于SASIS的软件过程,1、系统分解 当系统达到相当的规模和复杂性,或系统可由若干个物理上独立的系统组成; 如何将一个上级系统的功能分布在几个从属系统之间,每个从属系统负责一个明确定义的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号