




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第7章 面向服务体现结构章 面向服务体现结构SOA概述概述 主讲:高岩主讲:高岩 gaoyan_neu 东北大学 信息学院 计算机应用技术研究所 东北大学 信息学院 计算机应用技术研究所 2/59 内容提要内容提要 ?7.1 SOA概述概述 ?7.2 SOA关键技术关键技术 3/59 7.1 SOA概述概述 ? SOA,Service Oriented Architecture ? 中文常译为中文常译为 ?面向服务的体系结构面向服务的体系结构 ?以服务为中心的体系结构以服务为中心的体系结构 ?面向服务的架构面向服务的架构 SOA 4/59 7.1 SOA概述概述 ?对对SOA的定义和理解分两类的定义和理解分两类 ?一类认为:一类认为:SOA主要是一种架构风格主要是一种架构风格 ?另一类认为:另一类认为:SOA是包含运行环境、编程模型、 架构风格和相关方法论等在内的一整套新的分布 式软件系统构造方法和环境,涵盖服务的整个生 命周期:建模 是包含运行环境、编程模型、 架构风格和相关方法论等在内的一整套新的分布 式软件系统构造方法和环境,涵盖服务的整个生 命周期:建模开发开发整合整合部署部署运 行 运 行管理管理 5/59 7.1 SOA概述概述 ? SOA定义定义 ?Service-将将SOA定义为:本质 上是服务的集合。服务间彼此通信,这种通信可 能是简单的数据传送,也可能是两个或更多的服 务协调进行某些活动。服务间需要某些方法进行 连接。所谓服务就是精确定义、封装完善、独立 于其他服务所处环境和状态的函数 定义为:本质 上是服务的集合。服务间彼此通信,这种通信可 能是简单的数据传送,也可能是两个或更多的服 务协调进行某些活动。服务间需要某些方法进行 连接。所谓服务就是精确定义、封装完善、独立 于其他服务所处环境和状态的函数 ?L将将SOA定义为:按需连接 资源的系统。在 定义为:按需连接 资源的系统。在SOA中,资源被作为可通过标准 方式访问的独立服务,提供给网络中的其他成员。 与传统的系统结构相比, 中,资源被作为可通过标准 方式访问的独立服务,提供给网络中的其他成员。 与传统的系统结构相比,SOA规定了资源间更为 灵活的松散耦合关系 规定了资源间更为 灵活的松散耦合关系 6/59 7.1 SOA概述概述 ? SOA定义定义 ?Gartner则将则将SOA描述为:描述为:“客户端客户端/服务器的软 件设计方法,一项应用由软件服务和软件服务使 用者组成 服务器的软 件设计方法,一项应用由软件服务和软件服务使 用者组成SOA与大多数通用的客户端与大多数通用的客户端/服务 器模型的不同之处,在于它着重强调软件组件的 松散耦合,并使用独立的标准接口 服务 器模型的不同之处,在于它着重强调软件组件的 松散耦合,并使用独立的标准接口 ?虽然不同厂商或个人对虽然不同厂商或个人对SOA有着不同的理解, 但是我们仍然可以从上述的定义中看到 有着不同的理解, 但是我们仍然可以从上述的定义中看到SOA的几 个关键特性:一种粗粒度、松耦合服务架构,服 务之间通过简单、精确定义接口进行通讯,不涉 及底层编程接口和通讯模型 的几 个关键特性:一种粗粒度、松耦合服务架构,服 务之间通过简单、精确定义接口进行通讯,不涉 及底层编程接口和通讯模型 7/59 7.1 SOA概述概述 ?需着重注意的是,需着重注意的是,SOA并不是新生事物并不是新生事物 大型大型IT组织成功构建和部署组织成功构建和部署SOA应用已有多 年的历史 应用已有多 年的历史这要比现有的这要比现有的XML和和Web服务 长很多 服务 长很多 8/59 7.1 SOA概述概述 ? 软件体系结构的发展软件体系结构的发展 ?软件体系结构是一种系统结构,该结构包括软件 元素、元素的外部可视属性、元素之间的关系 软件体系结构是一种系统结构,该结构包括软件 元素、元素的外部可视属性、元素之间的关系 9/59 传统方式:企传统方式:企传统方式:企传统方式:企业以应用为中心构建业以应用为中心构建业以应用为中心构建业以应用为中心构建ITITITIT系统,如系统,如系统,如系统,如 人事管理系统、库存管理系统、人事管理系统、库存管理系统、人事管理系统、库存管理系统、人事管理系统、库存管理系统、ERPERPERPERP系统等。系统等。系统等。系统等。 背景背景背景背景信息孤岛信息孤岛信息孤岛信息孤岛 一个业务请求很难调用多个业务系统。一个业务请求很难调用多个业务系统。一个业务请求很难调用多个业务系统。一个业务请求很难调用多个业务系统。 系统开发时期不同,系统开发时期不同,系统开发时期不同,系统开发时期不同, 采用的开发工具不同采用的开发工具不同采用的开发工具不同采用的开发工具不同 信息孤岛!信息孤岛!信息孤岛!信息孤岛! 7.1 SOA概述概述 10/59 “ “我们所面临的系统集成挑战可能是世界上最我们所面临的系统集成挑战可能是世界上最我们所面临的系统集成挑战可能是世界上最我们所面临的系统集成挑战可能是世界上最 复杂的复杂的复杂的复杂的 !” ”通用汽车公司通用汽车公司通用汽车公司通用汽车公司CTO Tony ScottCTO Tony ScottCTO Tony ScottCTO Tony Scott 典型案例典型案例典型案例典型案例 全球有全球有全球有全球有80808080多家工厂;多家工厂;多家工厂;多家工厂; 每一家工厂都有多种企业应用系统;每一家工厂都有多种企业应用系统;每一家工厂都有多种企业应用系统;每一家工厂都有多种企业应用系统; 仅仅将每家工厂中的某一类应用相连接,就仅仅将每家工厂中的某一类应用相连接,就仅仅将每家工厂中的某一类应用相连接,就仅仅将每家工厂中的某一类应用相连接,就 要与数十种要与数十种要与数十种要与数十种APIAPIAPIAPI打交道。打交道。打交道。打交道。 “ “要维护好这些各不相干的界面是非常费时、要维护好这些各不相干的界面是非常费时、要维护好这些各不相干的界面是非常费时、要维护好这些各不相干的界面是非常费时、 费力的,且成本高昂费力的,且成本高昂费力的,且成本高昂费力的,且成本高昂” ” 7.1 SOA概述概述 11/59 传统解决方案传统解决方案传统解决方案传统解决方案 点到点集成点到点集成点到点集成点到点集成传统传统传统传统EAIEAIEAIEAI集成集成集成集成 7.1 SOA概述概述 “ “刚性刚性刚性刚性” ” EAIEAIEAIEAI死神之吻!死神之吻!死神之吻!死神之吻! 12/59 SOASOA解决方案解决方案解决方案解决方案 “ “柔性柔性柔性柔性” ” 拯救拯救拯救拯救EAIEAIEAIEAI的的的的“ “天使天使天使天使” ”! 7.1 SOA概述概述 13/59 7.1 SOA概述概述 ?电子商务应用实施中电子商务应用实施中电子商务应用实施中电子商务应用实施中 ?经常会增加新的电子商务应用,这常常会每几个经常会增加新的电子商务应用,这常常会每几个经常会增加新的电子商务应用,这常常会每几个经常会增加新的电子商务应用,这常常会每几个 星期或每几个月发生一次;星期或每几个月发生一次;星期或每几个月发生一次;星期或每几个月发生一次; ?经常会对电子商务的流程进行更改,这常常每周经常会对电子商务的流程进行更改,这常常每周经常会对电子商务的流程进行更改,这常常每周经常会对电子商务的流程进行更改,这常常每周 或每几天发生一次;或每几天发生一次;或每几天发生一次;或每几天发生一次; ?经常应用户的需求而进行更改,这甚至每个小时经常应用户的需求而进行更改,这甚至每个小时经常应用户的需求而进行更改,这甚至每个小时经常应用户的需求而进行更改,这甚至每个小时 都会发生,尤其是当需要为每个客户、每个合作都会发生,尤其是当需要为每个客户、每个合作都会发生,尤其是当需要为每个客户、每个合作都会发生,尤其是当需要为每个客户、每个合作 伙伴或每个企业员工都定制其首选的电子商务应伙伴或每个企业员工都定制其首选的电子商务应伙伴或每个企业员工都定制其首选的电子商务应伙伴或每个企业员工都定制其首选的电子商务应 用的时候用的时候用的时候用的时候 背景背景背景背景业务变化业务变化业务变化业务变化 14/59 7.1 SOA概述概述 ?应用的复杂连接应用的复杂连接应用的复杂连接应用的复杂连接 ?对于每个应用,程序员都为每个需要的企业资源对于每个应用,程序员都为每个需要的企业资源对于每个应用,程序员都为每个需要的企业资源对于每个应用,程序员都为每个需要的企业资源 或外部资源编写连接代码,以使得应用得以运行或外部资源编写连接代码,以使得应用得以运行或外部资源编写连接代码,以使得应用得以运行或外部资源编写连接代码,以使得应用得以运行 ?程序员还需要编写更多的代码以使得大量的用户程序员还需要编写更多的代码以使得大量的用户程序员还需要编写更多的代码以使得大量的用户程序员还需要编写更多的代码以使得大量的用户 能够访问每个应用能够访问每个应用能够访问每个应用能够访问每个应用 ?应用与应用之间的集成同样需要编写大量的代码应用与应用之间的集成同样需要编写大量的代码应用与应用之间的集成同样需要编写大量的代码应用与应用之间的集成同样需要编写大量的代码 不恰当的解决方案不恰当的解决方案不恰当的解决方案不恰当的解决方案 15/59 7.1 SOA概述概述 ?应用的复杂连接应用的复杂连接应用的复杂连接应用的复杂连接 ?第一个应用,企业的为之付出的总的费用应该是第一个应用,企业的为之付出的总的费用应该是第一个应用,企业的为之付出的总的费用应该是第一个应用,企业的为之付出的总的费用应该是 该应用的开发和部署费用、以及运营时态的维护该应用的开发和部署费用、以及运营时态的维护该应用的开发和部署费用、以及运营时态的维护该应用的开发和部署费用、以及运营时态的维护 和更新费用和更新费用和更新费用和更新费用 ?第二个应用,应用的开发和部署费用是一样的,第二个应用,应用的开发和部署费用是一样的,第二个应用,应用的开发和部署费用是一样的,第二个应用,应用的开发和部署费用是一样的, 但是企业需要为之花费额外的集成费用,同时由但是企业需要为之花费额外的集成费用,同时由但是企业需要为之花费额外的集成费用,同时由但是企业需要为之花费额外的集成费用,同时由 于整个企业应用环境变得更加复杂,其运营时态于整个企业应用环境变得更加复杂,其运营时态于整个企业应用环境变得更加复杂,其运营时态于整个企业应用环境变得更加复杂,其运营时态 的维护和更新费用可能呈指数形式增加的维护和更新费用可能呈指数形式增加的维护和更新费用可能呈指数形式增加的维护和更新费用可能呈指数形式增加 ?同样,当第三个、第四个应用被部署后,企业所同样,当第三个、第四个应用被部署后,企业所同样,当第三个、第四个应用被部署后,企业所同样,当第三个、第四个应用被部署后,企业所 支出的费用可能是高得惊人支出的费用可能是高得惊人支出的费用可能是高得惊人支出的费用可能是高得惊人 不恰当的解决方案不恰当的解决方案不恰当的解决方案不恰当的解决方案 16/59 7.1 SOA概述概述 ?由程序员主导的由里向外的开发模式应当被由程序员主导的由里向外的开发模式应当被由程序员主导的由里向外的开发模式应当被由程序员主导的由里向外的开发模式应当被 由用户主导的由外向里的开发模式取代由用户主导的由外向里的开发模式取代由用户主导的由外向里的开发模式取代由用户主导的由外向里的开发模式取代 ?冗长的串行的开发循环应当被即时的,快速冗长的串行的开发循环应当被即时的,快速冗长的串行的开发循环应当被即时的,快速冗长的串行的开发循环应当被即时的,快速 的应用装配所取代的应用装配所取代的应用装配所取代的应用装配所取代 ?应用应当天生就具备高可定制性应用应当天生就具备高可定制性应用应当天生就具备高可定制性应用应当天生就具备高可定制性 ?商业技术概念:商业技术概念:商业技术概念:商业技术概念:“ “即时制造即时制造即时制造即时制造” ”以及以及以及以及“ “规模可伸规模可伸规模可伸规模可伸 缩缩缩缩” ” SOASOA解决方案解决方案解决方案解决方案 17/59 7.1 SOA概述概述 ?各种服务分别实现了一定的功能各种服务分别实现了一定的功能各种服务分别实现了一定的功能各种服务分别实现了一定的功能 ?将各种电子商务的服务进行组合和集成以创将各种电子商务的服务进行组合和集成以创将各种电子商务的服务进行组合和集成以创将各种电子商务的服务进行组合和集成以创 建动态电子商务应用建动态电子商务应用建动态电子商务应用建动态电子商务应用 ?充分地跨越所有系统平台充分地跨越所有系统平台充分地跨越所有系统平台充分地跨越所有系统平台 ?通过在企业间进行服务的集成,实现业务的通过在企业间进行服务的集成,实现业务的通过在企业间进行服务的集成,实现业务的通过在企业间进行服务的集成,实现业务的 随需应变随需应变随需应变随需应变 SOASOA解决方案解决方案解决方案解决方案 18/59 7.1 SOA概述概述 ? SOA SOA 使业务更具有灵活性和重用性使业务更具有灵活性和重用性使业务更具有灵活性和重用性使业务更具有灵活性和重用性 传统业务流程 当今业务流程 传统业务流程 当今业务流程 19/59 7.1 SOA概述概述 ? SOA SOA 使业务更具有灵活性和重用性使业务更具有灵活性和重用性使业务更具有灵活性和重用性使业务更具有灵活性和重用性 Flexibility ? Point-to-Point connection between applications ? Simple, basic connectivity Messaging Backbone ? EAI connects applications via a centralized hub ? Easier to manage larger number of connections Enterprise Application Integration (EAI) ? Integration and choreography of services through an Enterprise Service Bus ? Flexible connections with well defined, standards-based interfaces Service Orientated Integration 20/59 GartnerGartner关于关于关于关于SOASOA的预言的预言的预言的预言 “ “到到到到2008200820082008年,年,年,年,SOASOASOASOA将成为占有绝对优势的软将成为占有绝对优势的软将成为占有绝对优势的软将成为占有绝对优势的软 件工程实践方法,它将结束传统的整体软件件工程实践方法,它将结束传统的整体软件件工程实践方法,它将结束传统的整体软件件工程实践方法,它将结束传统的整体软件 体系架构长达体系架构长达体系架构长达体系架构长达40404040年的统治地位(可能性:年的统治地位(可能性:年的统治地位(可能性:年的统治地位(可能性: 70%70%70%70%)。)。)。)。” ” GartnerGartner, 19961996年年年年 7.1 SOA概述概述 21/59 SOASOA本质本质本质本质 SOASOASOASOA是一个组件模型,它将应用程序的不同功是一个组件模型,它将应用程序的不同功是一个组件模型,它将应用程序的不同功是一个组件模型,它将应用程序的不同功 能单元通过定义良好的接口和契约联系起来。能单元通过定义良好的接口和契约联系起来。能单元通过定义良好的接口和契约联系起来。能单元通过定义良好的接口和契约联系起来。 这些应用程序的不同功能单元被称为这些应用程序的不同功能单元被称为这些应用程序的不同功能单元被称为这些应用程序的不同功能单元被称为服务服务服务服务。 接口采用中立的方式进行定义的,独立于实现接口采用中立的方式进行定义的,独立于实现接口采用中立的方式进行定义的,独立于实现接口采用中立的方式进行定义的,独立于实现 服务的硬件平台、操作系统和编程语言。服务的硬件平台、操作系统和编程语言。服务的硬件平台、操作系统和编程语言。服务的硬件平台、操作系统和编程语言。 系统中的服务可以以统一、通用的方式交互。系统中的服务可以以统一、通用的方式交互。系统中的服务可以以统一、通用的方式交互。系统中的服务可以以统一、通用的方式交互。 IBMIBMIBMIBM 7.1 SOA概述概述 22/59 SOASOA的目标的目标的目标的目标 重用与合成:在应用之间重用模块;重用与合成:在应用之间重用模块;重用与合成:在应用之间重用模块;重用与合成:在应用之间重用模块; 松散耦合:服务的实现与使用分离;松散耦合:服务的实现与使用分离;松散耦合:服务的实现与使用分离;松散耦合:服务的实现与使用分离; 灵活性:应用可以被加入到新的模块;灵活性:应用可以被加入到新的模块;灵活性:应用可以被加入到新的模块;灵活性:应用可以被加入到新的模块; 开放性和互操作性:不同平台和环境下开放性和互操作性:不同平台和环境下开放性和互操作性:不同平台和环境下开放性和互操作性:不同平台和环境下 的共享;的共享;的共享;的共享; 分布式:远程访问,集中管理。分布式:远程访问,集中管理。分布式:远程访问,集中管理。分布式:远程访问,集中管理。 7.1 SOA概述概述 23/59 7.1 SOA概述概述 ? 松散耦合松散耦合W3C对耦合及松耦合的定义对耦合及松耦合的定义 ?耦合:是互相交互的系统彼此间的依赖。这种依 赖又分为: 耦合:是互相交互的系统彼此间的依赖。这种依 赖又分为: ?真依赖:系统从其他系统消费的要素或服务的集 合。真依赖总是存在,无法简化 真依赖:系统从其他系统消费的要素或服务的集 合。真依赖总是存在,无法简化 ?假依赖:系统为获得其他系统提供的要素或服务 而不得不服从的因素。典型的假依赖包括语言依 赖、平台依赖、 假依赖:系统为获得其他系统提供的要素或服务 而不得不服从的因素。典型的假依赖包括语言依 赖、平台依赖、API依赖等。假依赖总是存在,但 可减少或降低其代价 依赖等。假依赖总是存在,但 可减少或降低其代价 ?松耦合:理想状态的松耦合体现在系统间仅存在 真依赖关系。真实情况下,松耦合是一个相对概 念,体现在某系统的假依赖已经最小化 松耦合:理想状态的松耦合体现在系统间仅存在 真依赖关系。真实情况下,松耦合是一个相对概 念,体现在某系统的假依赖已经最小化 24/59 7.1 SOA概述概述 ? SOA的松耦合的松耦合 ?消除语言、平台、厂商依赖消除语言、平台、厂商依赖 ?传统的分布式构件系统(如传统的分布式构件系统(如CORBA、EJB等) 在交互上往往是语言、平台和厂商相关的 等) 在交互上往往是语言、平台和厂商相关的 ?而对服务的调用并不需要这些依赖关系,服务是 通过服务描述剥离这种假依赖关系的 而对服务的调用并不需要这些依赖关系,服务是 通过服务描述剥离这种假依赖关系的 服务服务 服务服务 服务 消费者 服务 消费者 服务 消费者 服务 消费者 服务描述服务描述 包括服务消费者为实现和 服务的交互所需要的所有 信息,如服务的接口定义、 服务的使用策略、服务级 别约定等 包括服务消费者为实现和 服务的交互所需要的所有 信息,如服务的接口定义、 服务的使用策略、服务级 别约定等 服务描述服务描述 包括服务消费者为实现和 服务的交互所需要的所有 信息,如服务的接口定义、 服务的使用策略、服务级 别约定等 包括服务消费者为实现和 服务的交互所需要的所有 信息,如服务的接口定义、 服务的使用策略、服务级 别约定等 25/59 7.1 SOA概述概述 ? SOA的松耦合的松耦合 ?消除时间依赖消除时间依赖 ? 对基于远程过程调用的分布式系统,客户端需要 同步等待请求的返回 对基于远程过程调用的分布式系统,客户端需要 同步等待请求的返回 ? 在在SOA中,可以结合事件驱动的原理通过单向 消息实现客户端和服务的异步交互,从而消除时 间依赖 中,可以结合事件驱动的原理通过单向 消息实现客户端和服务的异步交互,从而消除时 间依赖 26/59 7.1 SOA概述概述 ? SOA的松耦合的松耦合 ?消除访问地址依赖消除访问地址依赖 ?一般情况下,服务描述需要包括服务的访问地 址,这样服务消费者才能访问服务 一般情况下,服务描述需要包括服务的访问地 址,这样服务消费者才能访问服务 ?在在SOA中,可以通过间接寻址的策略消除访问地 址依赖 中,可以通过间接寻址的策略消除访问地 址依赖 27/59 7.1 SOA概述概述 ? SOA的松耦合的松耦合 ?消除访问协议依赖消除访问协议依赖 ?为把消息发送给服务,服务描述一般需要定义服 务的消息传送协议 为把消息发送给服务,服务描述一般需要定义服 务的消息传送协议 ?普遍存在的服务具有访问多样性,可通过标准的普遍存在的服务具有访问多样性,可通过标准的 HTTP、FTP等进行访问。在底层等进行访问。在底层SOA基础设施的 帮助下,客户端不必关系服务的访问协议即可实 现与服务的交互 基础设施的 帮助下,客户端不必关系服务的访问协议即可实 现与服务的交互 28/59 7.1 SOA概述概述 ?SOA的松耦合的松耦合 29/59 SOASOA与与与与OOP(1)OOP(1) Asynchronous Asynchronous Asynchronous Asynchronous message passing message passing message passing message passing VS.VS.VS.VS. Synchronous Synchronous Synchronous Synchronous method method method method invocation invocation invocation invocation multiple contexts multiple contexts multiple contexts multiple contexts VS.VS.VS.VS.Shared contextShared contextShared contextShared context findfindfindfind- - - -bindbindbindbind- - - -use use use use VS.VS.VS.VS.InvokeInvokeInvokeInvoke SOASOASOASOAOOPOOPOOPOOP 7.1 SOA概述概述 30/59 SOASOA与与与与OOP(2)OOP(2) 表 现 层 数 据 访 问 层 业务 对象 业务逻辑层 业务 对象 业务 对象 业务 对象 业务 对象 紧耦合,降低了层次独立性!紧耦合,降低了层次独立性!紧耦合,降低了层次独立性!紧耦合,降低了层次独立性! 面向对象的三层结构面向对象的三层结构面向对象的三层结构面向对象的三层结构 7.1 SOA概述概述 31/59 SOASOA与与与与OOP(3)OOP(3) 表 现 层 数 据 访 问 层 业务 对象 业务逻辑层 业务 对象 业务 对象 业务 对象 业务 对象 服务服务服务服务= = = =黑盒子:黑盒子:黑盒子:黑盒子: 操作业务对象、给出结果,减少层间交互!操作业务对象、给出结果,减少层间交互!操作业务对象、给出结果,减少层间交互!操作业务对象、给出结果,减少层间交互! 面向服务的架构面向服务的架构面向服务的架构面向服务的架构 服务 服务 服务层 7.1 SOA概述概述 32/59 内容提要内容提要 ?7.1 SOA概述概述 ?7.2 SOA关键技术关键技术 33/59 部署和管理部署和管理部署和管理部署和管理 SOASOA最有用的三大技术为最有用的三大技术为最有用的三大技术为最有用的三大技术为 WebWeb服务、消息代理、企业服务总线服务、消息代理、企业服务总线服务、消息代理、企业服务总线服务、消息代理、企业服务总线(ESB)(ESB) ; ; BEABEABEABEA系统公司公布的对系统公司公布的对系统公司公布的对系统公司公布的对八百多位欧洲开发八百多位欧洲开发八百多位欧洲开发八百多位欧洲开发 者的独立调查结果:者的独立调查结果:者的独立调查结果:者的独立调查结果: 69%69%的被调查者强调的被调查者强调的被调查者强调的被调查者强调支持多种协议的支持多种协议的支持多种协议的支持多种协议的 消息基础架构消息基础架构消息基础架构消息基础架构的重要性的重要性的重要性的重要性. . 7.2 SOA关键技术关键技术 34/59 7.2 SOA关键技术关键技术 ? 企业服务总线企业服务总线 ? ESB, ESB, E Enterprise nterprise S Service ervice B Busus ?实现一个实现一个实现一个实现一个SOASOA的企业需要一个更加复杂、易于的企业需要一个更加复杂、易于的企业需要一个更加复杂、易于的企业需要一个更加复杂、易于 管理的基础架构,能够支持大量的个体交互。并管理的基础架构,能够支持大量的个体交互。并管理的基础架构,能够支持大量的个体交互。并管理的基础架构,能够支持大量的个体交互。并 且,任何一个这种基础架构应该支持更加确定的且,任何一个这种基础架构应该支持更加确定的且,任何一个这种基础架构应该支持更加确定的且,任何一个这种基础架构应该支持更加确定的 集成形式,像消息导向和事件驱动的集成,或者集成形式,像消息导向和事件驱动的集成,或者集成形式,像消息导向和事件驱动的集成,或者集成形式,像消息导向和事件驱动的集成,或者 至少和已经存在的架构集成。这种架构应该支持至少和已经存在的架构集成。这种架构应该支持至少和已经存在的架构集成。这种架构应该支持至少和已经存在的架构集成。这种架构应该支持 企业级的服务质量。企业服务总线就是作为这种企业级的服务质量。企业服务总线就是作为这种企业级的服务质量。企业服务总线就是作为这种企业级的服务质量。企业服务总线就是作为这种 架构的统一观念出现的架构的统一观念出现的架构的统一观念出现的架构的统一观念出现的 35/59 7.2 SOA关键技术关键技术 ? 企业服务总线企业服务总线 ?由由由由Gartner Gartner 的的的的 Roy SchulteRoy Schulte在文章在文章在文章在文章“ “Predicts Predicts 2003: Enterprise Service Buses Emerge2003: Enterprise Service Buses Emerge” ”首次首次首次首次 描述为描述为描述为描述为“ “一种使用一种使用一种使用一种使用WebWeb服务、消息中间件、智能服务、消息中间件、智能服务、消息中间件、智能服务、消息中间件、智能 路由和转换的新架构路由和转换的新架构路由和转换的新架构路由和转换的新架构” ”。从那以后,。从那以后,。从那以后,。从那以后,ESBESB就成为就成为就成为就成为 很多很多很多很多SOASOA和和和和WebWeb服务会议讨论的主题服务会议讨论的主题服务会议讨论的主题服务会议讨论的主题 ? 企业服务总线概念的真正价值在于它使企业服务总线概念的真正价值在于它使企业服务总线概念的真正价值在于它使企业服务总线概念的真正价值在于它使SOASOA的的的的 基础架构以一种方式反映了当今企业的需要:提基础架构以一种方式反映了当今企业的需要:提基础架构以一种方式反映了当今企业的需要:提基础架构以一种方式反映了当今企业的需要:提 供合适的服务级别和可管理性,在不同的环境中供合适的服务级别和可管理性,在不同的环境中供合适的服务级别和可管理性,在不同的环境中供合适的服务级别和可管理性,在不同的环境中 进行操作和集成。这些需求的实现已经超出了基进行操作和集成。这些需求的实现已经超出了基进行操作和集成。这些需求的实现已经超出了基进行操作和集成。这些需求的实现已经超出了基 本的路由和传输能力本的路由和传输能力本的路由和传输能力本的路由和传输能力 36/59 7.2 SOA关键技术关键技术 ? 企业服务总线企业服务总线 ?ESBESB支持多集成范例,为了完全支持一个复杂的支持多集成范例,为了完全支持一个复杂的支持多集成范例,为了完全支持一个复杂的支持多集成范例,为了完全支持一个复杂的 SOASOA所需要的多种交互模式所需要的多种交互模式所需要的多种交互模式所需要的多种交互模式( (如,请求如,请求如,请求如,请求/ /响应,发响应,发响应,发响应,发 布布布布/ /订阅,事件订阅,事件订阅,事件订阅,事件) ),企业服务总线必须在一个基础,企业服务总线必须在一个基础,企业服务总线必须在一个基础,企业服务总线必须在一个基础 架构中支持这三个企业集成的主要形式:架构中支持这三个企业集成的主要形式:架构中支持这三个企业集成的主要形式:架构中支持这三个企业集成的主要形式: ?面向服务的架构,程序通过重用具有良好定义的面向服务的架构,程序通过重用具有良好定义的面向服务的架构,程序通过重用具有良好定义的面向服务的架构,程序通过重用具有良好定义的 显式接口的服务进行通信。面向服务的交互在消显式接口的服务进行通信。面向服务的交互在消显式接口的服务进行通信。面向服务的交互在消显式接口的服务进行通信。面向服务的交互在消 息和事件通讯模型中取得平衡息和事件通讯模型中取得平衡息和事件通讯模型中取得平衡息和事件通讯模型中取得平衡 ?消息驱动架构,程序通过消息驱动架构,程序通过消息驱动架构,程序通过消息驱动架构,程序通过ESBESB发送消息到接收应发送消息到接收应发送消息到接收应发送消息到接收应 用用用用 ?事件驱动架构,程序相互独立的生成和消耗消息。事件驱动架构,程序相互独立的生成和消耗消息。事件驱动架构,程序相互独立的生成和消耗消息。事件驱动架构,程序相互独立的生成和消耗消息。 37/59 7.2 SOA关键技术关键技术 ? 从不同的组件中创建服务从不同的组件中创建服务 DFK Data Warehouse General Ledger AP Sales Corrections PO Receiving Return to Vendor Warehouse Management Credit App Employee Change Notice OTHER APPS - PC ACCTS REC APPS - PCINVENTORY CONTROL APPS - PCINVENTORY CONTROL APPS - PC Journal Entry Tool Kit Scorecard Resource Scheduling P09 - P17 Cyb. Millennium Millennuim 3.0 Banks - ACH and Pos to Pay Cobra Stock Status Polling On-line New Hire Entry CTS Plan Administrators (401K, PCS, Life) D01 Post Load Billing Home Deliveries - Transfers Planning Purchase Order Solution Software Inventory Info Interface Sales Posting Price Management System Cycle Physical Inventory SKU Information Customer Repair Tracking I35 Early Warning System Merchandise Analysis I13- Auto Replenishment CTO Intercept Counts Employee Purchase Tex A ACH Stock Options Customer Perceived In-Stock Tx SS Capital Projects Fixed Assets Recon File Repair EDI Coordinator Mesa Data NEW Soundscan Resumix Op. Store Budget Reporting Tally Sheet Cash Receipts/Credit House Charges Ad Expense -Promo Analysis Price Marketing Support BMP - Bus performance Mngt Store Scorecard Price Testing Media Bonus/HR Hand Scan Apps Shows POS Sales Tax A04 - Cust Refund Chks Equifax Credit Cellular Rollover Satellite System Scanning VAN SKU Rep Host to AS400 Communication Layaways Bus Systems V04-Sign System Count Corrections N. P01- Employee Masterfile Customer Order ABC Co Universal Account Reconcilliation Depository Banks Cell Phones - ISP Tracking AAS PO Cash Over/ Short Coop SKU Selection Tool SKU Performance Supplier Compliance 1 DRK ABBX Misc Accounting/Finance Apps - PC/NT AIMS Mngr Approval Batch Forcasting Ad Measurement AIMS ReportingAd Launcher Mkt Reactions Spec Source website Rebate Transfer Sign System Writer Workspace PowerSuite Store Monitor Calendar Stores & Mrkts Due Dates Smart Plus Insertions Orders Budget Analysis Tool Print Costing Invoice App Reports Broadcast Filter Smart Plus Launcher General Maintenance Printer PO Printer Maintenance Vendor Maintenance Vendor Setup Connect 3 Connect 3 Reports Connect 3 PDF Transfe Spec Source SKU Tracking S20-Sales Polling Prodigy PSP In-Home Repair Warranty Billing System Process Servers (Imaging) 找到服务的组件找到服务的组件 Step 2 Step 1 定义业务服务定义业务服务SOA的 基本组成者 的 基本组成者 重复上述过程重复上述过程 Step 4 Step 3 定义接口定义接口 ? 企业服务总线企业服务总线 38/59 7.2 SOA关键技术关键技术 ? 通过整合服务实现业务流程通过整合服务实现业务流程 ? 企业服务总线企业服务总线 确定客户资格 获得信用报告 确定客户资格 获得信用报告 请求附加信息请求附加信息 Generate decline ? 39/59 7.2 SOA关键技术关键技术 ?服务减少了应用间的接口服务减少了应用间的接口服务减少了应用间的接口服务减少了应用间的接口 ? 企业服务总线企业服务总线 应用程序应用程序 ?业务应用和业务应用和 接口是可重接口是可重 用的用的 ?减少业务减少业务 应用中间应用中间 的接口的接口 ?减少接口的减少接口的 数目和复杂数目和复杂 度度 ?对应用接口对应用接口 有丰富的业有丰富的业 务描述务描述 但是分别独立的连接还是会导致接口之间的限制但是分别独立的连接还是会导致接口之间的限制但是分别独立的连接还是会导致接口之间的限制但是分别独立的连接还是会导致接口之间的限制 接 口接 口 = interface 应用服务应用服务 应用程序应用程序应用程序 应用程序应用程序应用程序应用程序 应用程序应用程序应用程序 应用程序应用程序应用程序应用程序 接 口接 口 接 口接 口接 口接 口 应用服务应用服务应用服务 应用服务应用服务应用服务应用服务 接 口接 口 接 口接 口接 口接 口 应用服务应用服务应用服务 应用服务应用服务应用服务应用服务 40/59 7.2 SOA关键技术关键技术 ?企业服务总线更好地减少了接口企业服务总线更好地减少了接口企业服务总线更好地减少了接口企业服务总线更好地减少了接口 ? 企业服务总线企业服务总线 ?允许动态的允许动态的 选择,置换选择,置换 和匹配和匹配 ?让你找到可让你找到可 以重用的应以重用的应 用和接口用和接口 ?减弱接口减弱接口 间点到点间点到点 的连接的连接 ?使应用之间使应用之间 的形成联结的形成联结 或解散联结或解散联结 更灵活更灵活 企业服务总线企业服务总线ESB 接 口接 口 接 口接 口 接 口接 口接 口接 口 应用服务应用服务 应用服务应用服务 应用服务 应用服务 应用服务 应用服务 应用服务应用服务 应用服务应用服务 应用服务 应用服务 应用服务 应用服务 接 口接 口 接 口接 口接 口接 口 应用服务应用服务 应用服务应用服务 应用服务 应用服务 应用服务 应用服务 应用服务应用服务 应用服务应用服务 应用服务 应用服务 应用服务 应用服务 41/59 7.2 SOA关键技术关键技术 ? 企业服务总线企业服务总线 ?概念:是一个整合应用和服务的灵活的连接基础 组织 概念:是一个整合应用和服务的灵活的连接基础 组织 形状形状 = 协议 颜色 协议 颜色 = 数据类型数据类型 ESB在请求者和服务之间实现了:在请求者和服务之间实现了: 转化转化请求者和服务之间的传 输协议 请求者和服务之间的传 输协议 处理处理分离资源间的业务事件分离资源间的业务事件 转换转换请求者和服务之间的消 息格式 请求者和服务之间的消 息格式 路由路由服务间的消息服务间的消息 42/59 7.2 SOA关键技术关键技术 ? 企业服务总线企业服务总线 ? 形象视图形象视图 服务流 数据 现有应用 新服务逻辑 入口服务 SOAP服务请求 B2B交互 服务流 数据 现有应用 新服务逻辑 入口服务 SOAP服务请求 B2B交互 43/59 7.2 SOA关键技术关键技术 ? 企业服务总线企业服务总线 ? 应用示例应用示例 44/59 7.2 SOA关键技术关键技术 ? SOA分层模型分层模型 ?SOA SOA 是许多不同层次的组合是许多不同层次的组合是许多不同层次的组合是许多不同层次的组合. . ?SOA SOA 的中心是服务的中心是服务的中心是服务的中心是服务, , 实现服务的组件实现服务的组件实现服务的组件实现服务的组件, ,和服务流和服务流和服务流和服务流 45/59 7.2 SOA关键技术关键技术 ? SOA堆栈框架堆栈框架 ?左边的一半集中于体系结构的功能性方面左边的一半集中于体系结构的功能性方面 ?右边的一半集中于体系结构的服务质量方面右边的一半集中于体系结构的服务质量方面 46/59 7.2 SOA关键技术关键技术 ? SOA堆栈框架堆栈框架 ?功能性方面功能性方面 ?传输是一种机制,用于将来自服务使用者的服务 请求传送给服务提供者,并且将来自服务提供者 的响应传送给服务使用者 传输是一种机制,用于将来自服务使用者的服务 请求传送给服务提供者,并且将来自服务提供者 的响应传送给服务使用者 ?服务通信协议是一种经过协商的机制,通过这种 机制,服务提供者和服务使用者可以就将要请求 的内容和将要返回的内容进行沟通 服务通信协议是一种经过协商的机制,通过这种 机制,服务提供者和服务使用者可以就将要请求 的内容和将要返回的内容进行沟通 ?服务描述是一种经过协商的模式,用于描述服务 是什么、应该如何调用服务以及成功地调用服务 需要什么数据 服务描述是一种经过协商的模式,用于描述服务 是什么、应该如何调用服务以及成功地调用服务 需要什么数据 ?服务为实际可供使用的服务服务为实际可供使用的服务 47/59 7.2 SOA关键技术关键技术 ? SOA堆栈框架堆栈框架 ?功能性方面功能性方面(续续) ?业务流程是一个服务的集合,可以按照特定的顺 序并使用一组特定的规则进行调用,以满足业务 要求。注意,可以将业务流程本身看作是服务, 这样就产生了业务流程可以由不同粒度的服务组 成的观念。 业务流程是一个服务的集合,可以按照特定的顺 序并使用一组特定的规则进行调用,以满足业务 要求。注意,可以将业务流程本身看作是服务, 这样就产生了业务流程可以由不同粒度的服务组 成的观念。 ?服务注册中心是一个服务和数据描述的存储库, 服务提供者可以通过服务注册中心发布它们的服 务,而服务使用者可以通过服务注册中心发现或 查找可用的服务。服务注册中心可以给需要集中 式存储库的服务提供其他的功能 服务注册中心是一个服务和数据描述的存储库, 服务提供者可以通过服务注册中心发布它们的服 务,而服务使用者可以通过服务注册中心发现或 查找可用的服务。服务注册中心可以给需要集中 式存储库的服务提供其他的功能 48/59 7.2 SOA关键技术关键技术 ? SOA堆栈框架堆栈框架 ?服务质量方面服务质量方面 ?策略是一组条件和规则,在这些条件和规则之下,服务提 供者可以使服务可用于使用者。策略既有功能性方面,也 有与服务质量有关的方面;因此,我们在功能和服务质量 两个区中都有策略功能 策略是一组条件和规则,在这些条件和规则之下,服务提 供者可以使服务可用于使用者。策略既有功能性方面,也 有与服务质量有关的方面;因此,我们在功能和服务质量 两个区中都有策略功能 ?安全性是规则集,可以应用于调用服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级数学计算题专项练习及答案集锦
- 远程知识更新培训课件
- 煤矿应用平台管理办法
- 爆破公司项目管理办法
- 特定药品处方管理办法
- 特殊时期经营管理办法
- 特殊行为如何管理办法
- 特种动物养殖管理办法
- 特色教材建设管理办法
- 猪肉生产调度管理办法
- 2025年继电保护实操考试题带答案
- (2025)国库知识竞赛题库及答案
- (2025年标准)产假提前上班协议书
- 医院价格委员会管理制度及实施
- 2025年重庆市面向社会公开选拔社区专职工作者后备库人选考试(综合知识)历年参考题库含答案详解(5套)
- 2025年广东省中考语文试卷(含答案解析)
- (高清版)T∕CES 243-2023 《构网型储能系统并网技术规范》
- 山东淄博小升初数学真题试卷
- 网约车公司风险管理制度
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- 厨房燃气安全管理办法
评论
0/150
提交评论