《软件体系结构Chap03-风格(下).ppt》由会员分享,可在线阅读,更多相关《软件体系结构Chap03-风格(下).ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章 软件体系结构风格 3.1 概述 3.2 经典软件体系结构风格 3.3 公共对象请求代理体系结构 3.4 正交体系结构 3.5 基于层次消息总线的体系结构风格 3.6 异构结构风格 3.7 互联系统构成的系统及其体系结构 3.8 面向体系结构的架构(SOA)2022/12/413.3 公共对象请求代理体系结构公共对象请求代理体系结构公共对象请求代理体系结构CORBA(Common Object Request Broker Architecture)是由对象管)是由对象管理组织理组织OMG(Object Management Group)提出)提出的应用软件体系结构和对象技术规范,其核心
2、是的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持一套标准的语言、接口和协议,以支持异构分布应用程序间的应用程序间的互操作性及独立于平台和编程语言及独立于平台和编程语言的对象的对象重用;2022/12/423.3 公共对象请求代理体系结构OMG简介:成立于成立于19891989年,作为一个非营利性组织,致力于开发年,作为一个非营利性组织,致力于开发在技术上具有先进性、在商业上具有可行性并且独立在技术上具有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型技术,增于厂商的软件互联规范,推广面向对象模型技术,增强软件的可移植性(强软件的可移植性(P
3、ortabilityPortability)、可重用性)、可重用性(ReusabilityReusability)和互操作性()和互操作性(InteroperabilityInteroperability););该组织成立之初,成员包括该组织成立之初,成员包括UnisysUnisys、SunSun、CannonCannon、Hewlett-PackardHewlett-Packard、PhilipsPhilips等在业界享有声誉的软硬等在业界享有声誉的软硬件厂商,目前该组织拥有件厂商,目前该组织拥有800800多家成员。多家成员。2022/12/433.3 公共对象请求代理体系结构CORBA主
4、要版本的发展历程:1990.111990.11,OMGOMG发表发表对象管理体系指南对象管理体系指南,初步阐明,初步阐明CORBACORBA的思想;的思想;1991.101991.10,1.01.0版,定义了接口定义语言(版,定义了接口定义语言(IDLIDL)、对象管)、对象管理模型以及基于动态请求的理模型以及基于动态请求的APIAPI和接口仓库等内容;和接口仓库等内容;1991.121991.12,1.11.1版,引入了对象适配器的概念;版,引入了对象适配器的概念;1996.81996.8,2.02.0版,对象请求代理间协议(版,对象请求代理间协议(IIOPIIOP,Internet Int
5、er-ORB ProtocolInternet Inter-ORB Protocol)的引入,用以实现不同)的引入,用以实现不同厂商的厂商的ORBORB的互通的互通;1998.91998.9,2.32.3版,增加了支持版,增加了支持CORBACORBA对象的异步实时传输、对象的异步实时传输、服务质量规范等内容。服务质量规范等内容。2022/12/443.3 公共对象请求代理体系结构目标是提供一种机制,使得对象可以目标是提供一种机制,使得对象可以透明地发地发出请求和获得应答;出请求和获得应答;ORB(Object Request Broker)是其关键通信机是其关键通信机制,以实现互操作性为目标
6、,处理对象之间的制,以实现互操作性为目标,处理对象之间的消息分布;消息分布;对象服务实现基本的对象创建,实现基本的对象创建,通用服务则使则使用对象管理结构所规定的类接口实现一些通用用对象管理结构所规定的类接口实现一些通用功能。功能。2022/12/452022/12/46CORBACORBA技术规范包括:技术规范包括:接口定义语言IDL(Interface (Interface Definition Language)Definition Language)、接口池IR(Interface (Interface Repository)Repository)、动态调用接口DII(Dynamic
7、(Dynamic Invocation Interface)Invocation Interface)、对象适配器OA(Object (Object Adapter)Adapter)等。等。1、接口定义语言面向对象,虽不是编程语言,但它为客户对象提供面向对象,虽不是编程语言,但它为客户对象提供了语言的独立性;了语言的独立性;一种中性语言,描述对象的接口,不涉及对象的具一种中性语言,描述对象的接口,不涉及对象的具体实现;体实现;定义了定义了IDLIDL到到C C、C+C+、JavaJava的映射。的映射。2022/12/472、接口池包括了分布计算环境中所有可用的服务器对象包括了分布计算环境中所
8、有可用的服务器对象的接口表示;的接口表示;支持动态搜索可用服务器接口、动态请求及参支持动态搜索可用服务器接口、动态请求及参数。数。3、动态调用接口提供一些标准函数以供客户对象动态创建请求、提供一些标准函数以供客户对象动态创建请求、动态构造请求参数;动态构造请求参数;服务器进行对象接口的动态搜索、请求及参数服务器进行对象接口的动态搜索、请求及参数的动态构造与动态发送;的动态构造与动态发送;2022/12/484、对象适配器屏蔽屏蔽ORBORB内核的实现细节,为服务器对象内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用的实现者提供抽象接口,以便他们使用ORBORB内部的某些功能;内部
9、的某些功能;如,服务器对象的登录与激活、客户请如,服务器对象的登录与激活、客户请求的认证,等等。求的认证,等等。2022/12/49CORBACORBA定义一种定义一种面向对象的软件构件构造的软件构件构造方法,提供不同的应用共享;方法,提供不同的应用共享;封装细节,精确定义接口、降低复杂度和封装细节,精确定义接口、降低复杂度和开发费用;开发费用;CORBACORBA的的平台无关性实现了对象的跨平台实现了对象的跨平台引用。引用。2022/12/410CORBACORBA词汇表词汇表=构构 件件:=:=客户系统客户系统/服务器系统服务器系统/其他构件;其他构件;连接件连接件:=:=请求请求/服务服
10、务 ;约约 束束:=:=接口池接口池/配置配置 ;客户机系统包括客户机应用程序、客户桩、上下文对客户机系统包括客户机应用程序、客户桩、上下文对象和接口仓库等构件,以及桩类型激发象和接口仓库等构件,以及桩类型激发APIAPI和动态激发和动态激发APIAPI等连接件;等连接件;服务器系统包括服务器应用程序库、服务器框架和对服务器系统包括服务器应用程序库、服务器框架和对象请求代理等构件,以及对象适配器等连接件。象请求代理等构件,以及对象适配器等连接件。2022/12/411客户桩(stub):也译为也译为“代码存根”,它给客,它给客户端程序提供一个桩,这个桩上户端程序提供一个桩,这个桩上“绑绑”着服
11、务器着服务器对象。当客户程序需要调用远程对象时,这个桩对象。当客户程序需要调用远程对象时,这个桩被下载到客户端,客户就可以像调用本地方法一被下载到客户端,客户就可以像调用本地方法一样调用远程方法。样调用远程方法。客户桩的作用是将客户向服务器的请求进行编码、客户桩的作用是将客户向服务器的请求进行编码、进行传输,服务器执行这次调用后将结果返回到进行传输,服务器执行这次调用后将结果返回到客户桩,客户桩进行解码,将解码后的结果传送客户桩,客户桩进行解码,将解码后的结果传送到客户程序中。到客户程序中。2022/12/4122022/12/4133.4 正交软件体系结构正交(Orthogonal)软件体系
12、结构由组织层和线软件体系结构由组织层和线索的构件构成;索的构件构成;层由一组具有相同抽象级别的构件构成,线索层由一组具有相同抽象级别的构件构成,线索是子系统的特例,由完成不同层次功能的构件是子系统的特例,由完成不同层次功能的构件组成,每一条线索完成整个系统中相对独立的组成,每一条线索完成整个系统中相对独立的一部分功能;一部分功能;每条线索的实现与其他线索的实现关联很少,每条线索的实现与其他线索的实现关联很少,在同一层的构件之间不存在相互调用。在同一层的构件之间不存在相互调用。2022/12/414正交软件体系结构特征:正交软件体系结构由完成不同功能的正交软件体系结构由完成不同功能的n n(n1
13、)(n1)个线索个线索(子系统子系统)组成;组成;系统具有系统具有m(m1)m(m1)个不同抽象级别的层;个不同抽象级别的层;线索之间是相互独立的线索之间是相互独立的(正交的正交的);系统有一个公共驱动层系统有一个公共驱动层(最高层最高层)和公共数据和公共数据结构结构(最低层最低层);2022/12/4153.5基于层次消息总线的体系结构层次消息总线HMB(Hierarchy Message (Hierarchy Message Bus)Bus)体系结构风格是北大体系结构风格是北大杨芙清院士等人院士等人提出:提出:网络和分布式构件技术日趋成熟,具有分布网络和分布式构件技术日趋成熟,具有分布和并
14、发特点的软件系统成为普遍需求;和并发特点的软件系统成为普遍需求;基于事件驱动的编程模式在图形用户界面程基于事件驱动的编程模式在图形用户界面程序设计中得到广泛应用;序设计中得到广泛应用;硬件总线体系结构具有良好的扩展性和适应硬件总线体系结构具有良好的扩展性和适应性。性。2022/12/416HMBHMB风格基于层次风格基于层次消息总线、支持构件的、支持构件的分布和和并发,构件之间通过消息总线进行通信;构件之间通过消息总线进行通信;消息总线是系统的消息总线是系统的连接件,负责消息的分派、传递、,负责消息的分派、传递、过滤及处理结果的返回;过滤及处理结果的返回;各个各个构件挂接在消息总线上,向总线登
15、记感兴趣的消挂接在消息总线上,向总线登记感兴趣的消息类型;构件发送的消息由总线传送到其他构件,处息类型;构件发送的消息由总线传送到其他构件,处理结果也由总线返回;理结果也由总线返回;不要求各个构件具有相同的地址空间或局限在同一台不要求各个构件具有相同的地址空间或局限在同一台机器上,可较好地刻画分布式并发系统。机器上,可较好地刻画分布式并发系统。2022/12/4172022/12/4183.5.1 HMB的构件模型HMBHMB风格的构件模型包括风格的构件模型包括接口、静态结构和和动态行为:一个构件支持多个不同的接口,每个接口包一个构件支持多个不同的接口,每个接口包括一组输入和输出,刻画了构件对
16、外提供的括一组输入和输出,刻画了构件对外提供的服务及要求的服务环境;服务及要求的服务环境;构件收到消息后,根据当前所处状态对消息构件收到消息后,根据当前所处状态对消息进行响应,并可能导致状态的变迁;进行响应,并可能导致状态的变迁;复合构件是更简单的子构件通过局部消息总复合构件是更简单的子构件通过局部消息总线连接而成。线连接而成。2022/12/4193.5.2 HMB的构件接口HMB风格的构件接口的特点:降低构件之间的耦合:构件只对消息本身感兴趣,构件只对消息本身感兴趣,不关心消息如何产生;切断构件之间的直接联系;不关心消息如何产生;切断构件之间的直接联系;构件之间连接的匹配不固定:构件对外来
17、消息进行构件对外来消息进行响应后,可能导致状态的变迁;同一构件在不同状响应后,可能导致状态的变迁;同一构件在不同状态下收到同样消息可能作出不同的响应;态下收到同样消息可能作出不同的响应;消息有接收消息和发送消息、同步消息消息有接收消息和发送消息、同步消息(过程调用过程调用)和异步消息和异步消息(信号信号)。2022/12/4203.5.3 HMB的消息总线消息登记:构件需要向总线登记响应的消息集构件需要向总线登记响应的消息集合;合;消息分派和传递:总线负责消息的分派、传递,总线负责消息的分派、传递,并负责处理结果的返回;总线是逻辑上整体,并负责处理结果的返回;总线是逻辑上整体,物理上可跨越多个
18、机器物理上可跨越多个机器(位置透明位置透明);消息过滤:总线提供消息的转换和阻塞。总线提供消息的转换和阻塞。2022/12/4213.5.3 HMB的消息总线(续)2022/12/4223.5.4 HMB的构件静态结构HMBHMB风格支持自顶向下的层次化分解,复合构风格支持自顶向下的层次化分解,复合构件由简单子构件构成;件由简单子构件构成;子构件通过复合构件内部的消息总线连接,各子构件通过复合构件内部的消息总线连接,各层次的消息总线在逻辑功能上一致;层次的消息总线在逻辑功能上一致;子构件还可进一步再分,整个系统用统一的方子构件还可进一步再分,整个系统用统一的方式描述。式描述。2022/12/4
19、233.5.4 HMB的构件动态行为同一事件,由于构件的状态不同,可具有同一事件,由于构件的状态不同,可具有不同的响应;不同的响应;可采用带输出的有限状态机描述构件的行可采用带输出的有限状态机描述构件的行为。为。2022/12/4243.5.4 HMB运行时刻的系统演化在对系统持续可用性要求较高时,需要在不必在对系统持续可用性要求较高时,需要在不必对软件进行重新编译和加载的前提下,为最终对软件进行重新编译和加载的前提下,为最终用户提供系统定制和扩展的能力;用户提供系统定制和扩展的能力;动态删除和增加构件:系统功能需要扩充时,增加新的构件,只需登记消息响应;系统功能需要扩充时,增加新的构件,只需
20、登记消息响应;系统功能裁减或某构件出现问题时,删除构件,需阻塞一系统功能裁减或某构件出现问题时,删除构件,需阻塞一些消息;些消息;用增强功能或改正错误的新构件替换旧构件。用增强功能或改正错误的新构件替换旧构件。2022/12/425动态改变构件响应的消息类型:构件可以动态地改变对外提供的服务;构件可以动态地改变对外提供的服务;消息过滤:通过消息过滤机制,解决某些构件集成的不匹配通过消息过滤机制,解决某些构件集成的不匹配问题。问题。2022/12/4263.6 异构结构风格3.6.1 为什么要使用异构结构不同的结构有不同的处理能力、不同的优缺点;不同的结构有不同的处理能力、不同的优缺点;体体系结
21、构应该根据实际需要进行选择;系结构应该根据实际需要进行选择;遗留的系统可能具有不同的风格和结构;遗留的系统可能具有不同的风格和结构;软件包、框架、通信等方面存在多种不同的标准;软件包、框架、通信等方面存在多种不同的标准;同一标准中存在不同的解释和表示。同一标准中存在不同的解释和表示。应用系统中应用系统中10%10%代码实现公开功能,其余完代码实现公开功能,其余完成输入成输入/输出、用户界面、文本编辑、图表、对话输出、用户界面、文本编辑、图表、对话框等管理功能,重用主要受限于数据表示、数据组框等管理功能,重用主要受限于数据表示、数据组织、通信协议等方面的差异。织、通信协议等方面的差异。2022/
22、12/4273.6.2 异构组合匹配问题组合的方法很多,如可以利用分层组织方式,组合的方法很多,如可以利用分层组织方式,以不同的结构类型描述体系结构中的每一层。以不同的结构类型描述体系结构中的每一层。异构体系结构组合时,如何解决不同体系结构异构体系结构组合时,如何解决不同体系结构下构件间的协调问题?下构件间的协调问题?假设:两个构件两个构件(A(A和和B)B)不能协调工作的原因是各不能协调工作的原因是各自事先对数据表示、通信协议、同步控制、语自事先对数据表示、通信协议、同步控制、语法作了假设。法作了假设。2022/12/428解决A、B不匹配的方法:按照按照B B的形式重写的形式重写A A,即
23、将即将A A的形成改变成的形成改变成B B的的形式;形式;公布公布A A的形式的抽象化信息,即开放的形式的抽象化信息,即开放APIAPI;数据传输过程中从数据传输过程中从A A的形式转变到的形式转变到B B的形式;的形式;通过协商,通过协商,A A和和B B达成一个统一的形式;达成一个统一的形式;使使B B成为支持多种形式;成为支持多种形式;为为B B提供进口提供进口/出口转换器:独立程序或系统出口转换器:独立程序或系统协调扩充;协调扩充;2022/12/429引入中间形式,如引入中间形式,如IDL(IDL(接口描述语言接口描述语言)、标准的发布形式等;标准的发布形式等;为为A A添加一个适配
24、器添加一个适配器(adapter)(adapter)或包装器;或包装器;保持对保持对A A和和B B的版本并行一致。的版本并行一致。2022/12/430C/S与B/S混合软件体系结构 2022/12/431C/SC/S与与B/SB/S混合软件体系结构:混合软件体系结构:优点:外部用户不直接访问数据库服务器,优点:外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用能保证企业数据库的相对安全。企业内部用户的交互性较强,数据查询和修改的响应速户的交互性较强,数据查询和修改的响应速度较快;度较快;缺点:企业外部用户修改和维护数据时,缺点:企业外部用户修改和维护数据时,速度较慢,较
25、烦琐,数据的动态交互性不强。速度较慢,较烦琐,数据的动态交互性不强。2022/12/432三种不同的异构风格:三种不同的异构风格:空间异构(Spatial/(Spatial/LocationalLocational Heterogeneity)Heterogeneity):构件使用不同连接件混合,不同子系统使用不同风构件使用不同连接件混合,不同子系统使用不同风格;格;时间异构(Temporal/Simultaneous(Temporal/Simultaneous Heterogeneity)Heterogeneity):系统在不同时间或阶段采用不同:系统在不同时间或阶段采用不同风格;风格;层次
26、异构(HierachicalHierachical Heterogeneity)Heterogeneity):各构件:各构件和连接件内部采用不同风格。和连接件内部采用不同风格。2022/12/4333.7 互联系统的体系结构3.7.1 互联系统构成的系统SIS(System of Interconnected systems)由由Herbert H.Simon在在1981年提出;年提出;系统可分成若干部分,每个部分作为单独的系统开发;系统可分成若干部分,每个部分作为单独的系统开发;整个系统通过一组互联系统实现,互联系统之间相互整个系统通过一组互联系统实现,互联系统之间相互通信,履行系统的职责;
27、通信,履行系统的职责;上级系统(superordinate system):体现整体性能;体现整体性能;从属系统(subordinate system):子系统,上级系统模型子系统,上级系统模型中所指定内容的一个实现。中所指定内容的一个实现。2022/12/4342022/12/4353.7.2 基于SASIS的软件过程1、系统分解当系统达到相当的规模和复杂性,或系统当系统达到相当的规模和复杂性,或系统可由若干个物理上独立的系统组成;可由若干个物理上独立的系统组成;如何将一个上级系统的功能分布在几个从如何将一个上级系统的功能分布在几个从属系统之间,每个从属系统负责一个明确定属系统之间,每个从属
28、系统负责一个明确定义的功能子集;义的功能子集;“分而治之”,独立实现每个系统。,独立实现每个系统。2022/12/4362、用例建模为每个系统在为每个系统在SISSIS系统中建立一个用例系统中建立一个用例(use(use case)case)模型;模型;上级系统的高级用例分解到子系统上的多上级系统的高级用例分解到子系统上的多个从属系统的用例;个从属系统的用例;从任何一个从属系统的角度来看,其他从从任何一个从属系统的角度来看,其他从属系统都是它的用例模型的主角。属系统都是它的用例模型的主角。2022/12/4373、分析和设计标识构件、选择体系结构风格、映射构件、标识构件、选择体系结构风格、映射
29、构件、分析构件相互作用和产生体系结构;分析构件相互作用和产生体系结构;上级系统:考虑上级系统的关键用例、:考虑上级系统的关键用例、SISSIS的的分级结构,及如何处理从属系统之间的重用;分级结构,及如何处理从属系统之间的重用;从属系统:考虑从属系统在:考虑从属系统在SISSIS中角色、从属中角色、从属系统的关键用例,履行它的职责,如何重用。系统的关键用例,履行它的职责,如何重用。2022/12/4384、实现构件的开发和测试,上级系统的原型设计;构件的开发和测试,上级系统的原型设计;5、测试组装不同从属系统时的集成测试;组装不同从属系统时的集成测试;6、演化和维护当从属系统的需求发生变化时,不
30、必开发当从属系统的需求发生变化时,不必开发新版本的上级系统,不会影响其他从属系统。新版本的上级系统,不会影响其他从属系统。2022/12/4393.7.3 SIS体系结构的应用1、大规模系统如电话网络,顶层上级系统由一个标准化实体掌握,不如电话网络,顶层上级系统由一个标准化实体掌握,不同竞争公司开发符合该标准的从属系统;同竞争公司开发符合该标准的从属系统;系统功能包含多个业务领域,如全球移动通信系统系统功能包含多个业务领域,如全球移动通信系统(GSM(GSM:Global System for Mobile)Global System for Mobile)包括呼叫用户到被呼叫包括呼叫用户到被
31、呼叫用户的整个系统。用户的整个系统。2、分布式系统系统分布在多个计算机系统中,各系统之间明确定义接系统分布在多个计算机系统中,各系统之间明确定义接口,从属系统可由不同团队开发。口,从属系统可由不同团队开发。2022/12/4403、遗留系统的重用基本上不能进行修改和演化以满足新的变化了基本上不能进行修改和演化以满足新的变化了的业务需求的系统;的业务需求的系统;通常为大型软件系统,有着重要的作用,但已经不通常为大型软件系统,有着重要的作用,但已经不能满足要求,维护困难;能满足要求,维护困难;技术落后,性能低下;技术落后,性能低下;系统没有使用现代软件工程方法进行管理和开发,系统没有使用现代软件工
32、程方法进行管理和开发,基本没有文档,很难理解。基本没有文档,很难理解。可将遗留系统作为系统的一个从属系统重用。可将遗留系统作为系统的一个从属系统重用。2022/12/4413.8 面向服务的架构SOASOA3.8.1 传统IT架构面临的挑战程序冗余程序冗余在同一个企业,同一类型的功能模块在不同的应在同一个企业,同一类型的功能模块在不同的应用系统中大多需要重复编写,因而开发费用增加。用系统中大多需要重复编写,因而开发费用增加。接口多样性接口多样性右图中的右图中的5 5个应用程序组成的集合需要个应用程序组成的集合需要2020个直接个直接接口,如果添加第接口,如果添加第6 6个应用程序将需要个应用程
33、序将需要1010个新接个新接口。而且必须修改每个已有的应用程序中的代码口。而且必须修改每个已有的应用程序中的代码以包括进新的接口,因而将发生大量的测试费用。以包括进新的接口,因而将发生大量的测试费用。2022/12/442传统架构问题分析传统架构问题分析传统的架构是面向应用的,是为了解决某个领域的某一特定问题进传统的架构是面向应用的,是为了解决某个领域的某一特定问题进行开发,各个系统间彼此独立。应用通常基于不同的操作系统、不行开发,各个系统间彼此独立。应用通常基于不同的操作系统、不同的开发语言进行开发,使用的规范、技术不一致,造成软件组件同的开发语言进行开发,使用的规范、技术不一致,造成软件组
34、件的重用、集成各个不同系统的部件非常困难。由此造成了的重用、集成各个不同系统的部件非常困难。由此造成了“信息孤信息孤岛岛”,使得软件系统的维护与新系统的开发投资很高。,使得软件系统的维护与新系统的开发投资很高。业务的发展要求更强的信息处理功能,一方面需要将现有的多个应业务的发展要求更强的信息处理功能,一方面需要将现有的多个应用系统进行集成,另一方面要求新的应用系统能快速的搭建与实施。用系统进行集成,另一方面要求新的应用系统能快速的搭建与实施。如电子商务供应链、电子政务的横向数据共享、数字地球、智能交如电子商务供应链、电子政务的横向数据共享、数字地球、智能交通等。为满足上述需求,软件的组件化和重
35、用化设计将变得越来越通等。为满足上述需求,软件的组件化和重用化设计将变得越来越重要。重要。2022/12/4433.8.3 SOA3.8.3 SOA的解决方案的解决方案SOA架构把应用功能部件封装成为独立的服务,与平台、操作系统、应用的编架构把应用功能部件封装成为独立的服务,与平台、操作系统、应用的编写语言、地域无关,可以在多个不同的应用系统中重用。写语言、地域无关,可以在多个不同的应用系统中重用。SOA架构下,各个应用系统架构下,各个应用系统采用发送消息的方式,提供多个服务接口,采用发送消息的方式,提供多个服务接口,由由 服务服务总线完成各个系统间的数据传递。总线完成各个系统间的数据传递。而
36、各个应用系统的运行平台、操作系统、编而各个应用系统的运行平台、操作系统、编写语言可以不同,只要服务都遵循写语言可以不同,只要服务都遵循 相同的规范(例如相同的规范(例如Web Service)。)。2022/12/4443.8.2 面向服务的架构(SOA)SOASOA(service-orientedservice-orientedarchitecturearchitecture)是面向服务的体系)是面向服务的体系结构,是一类分布式系统的体系结构。这类系统是将异构平结构,是一类分布式系统的体系结构。这类系统是将异构平台上应用程序的不同功能部件(称为服务)通过这些服务之台上应用程序的不同功能部件
37、(称为服务)通过这些服务之间定义良好的接口和规范按松耦合方式整合在一起,即将多间定义良好的接口和规范按松耦合方式整合在一起,即将多个现有的应用软件通过网络将其整合成一个新系统。个现有的应用软件通过网络将其整合成一个新系统。SOASOA解决的两大目标是:系统整合和随需应变,解决的两大目标是:系统整合和随需应变,2022/12/445术语表术语表SOASOA:Service-Oriented ArchitectureService-Oriented Architecture,面向服务的架构面向服务的架构ESBESB:Enterprise Service BusEnterprise Service
38、Bus,企业服务,企业服务总线总线 BPMBPM:Business Process ManagementBusiness Process Management,业,业务流程管理务流程管理BPELBPEL:Business Process Execution Business Process Execution LanguageLanguage,业务流程执行语言,业务流程执行语言2022/12/446SOA体系结构体系结构DataServiceFlowExistingApplicationsNewService LogicB2BInteractionsPortal ServiceSOAPServ
39、ice Request(e.g.J2EE,.NET)系统整合:系统整合:系统整合:系统整合:是将异构平台上应用程序的不同功能部件封装成为“服务”,将这些服务按照统一的规范整合在一起,构成新的应用系统,由此,解决了传统IT架构的“信息孤岛”问题。随需应变:随需应变:随需应变:随需应变:通过对服务的编排(用BPM),可以增加新的应用,并能适应变化,同时,这些服务构件不再仅仅为某一个系统服务,而是可为整个企业内部大多数的系统所用。2022/12/447SOASOA是软件技术的重大发展方向之一是软件技术的重大发展方向之一国外从国外从20012001年就开始研究年就开始研究SOASOA,并已取得了实际应
40、用,并已取得了实际应用目前国内的研究和应用水平已经落后于国外,在国内建行已有应目前国内的研究和应用水平已经落后于国外,在国内建行已有应用,但用的是用,但用的是IBMIBM的产品的产品必须加大投入,提升国内软件技术水平必须加大投入,提升国内软件技术水平SOASOA的市场前景十分广阔的市场前景十分广阔Gartner GroupGartner Group预计,到预计,到20082008年基于年基于SOASOA的软件产品将占领的软件产品将占领70%70%的市场份额的市场份额IDCIDC预测到预测到 20072007年,基于年,基于SOASOA的支撑平台、应用软件等相关市的支撑平台、应用软件等相关市场将
41、达到场将达到210210亿美元亿美元2022/12/448SOASOA带来的改变带来的改变高技能高技能 高成本的技工高成本的技工低成本技工低成本技工集成集成组装组装不能忍受差异性不能忍受差异性IT能接受差异性能接受差异性“竖井竖井”式应用式应用服务服务不断的构建不断的构建一次搭建一次搭建面向服务的架构面向服务的架构2022/12/449SOASOA的适用范围的适用范围跨组织、跨地域、跨平台的即时协同跨组织、跨地域、跨平台的即时协同如:如:制造业:资源标准化、即时构建动态联盟制造业:资源标准化、即时构建动态联盟电子政务:低成本、动态协同、政府资源规划电子政务:低成本、动态协同、政府资源规划电子商务:以客户为中心的资源整合、灵活配置电子商务:以客户为中心的资源整合、灵活配置物流:服务资源的合理规划、统筹配置物流:服务资源的合理规划、统筹配置服务业:个性化、一站式服务服务业:个性化、一站式服务2022/12/450