面向服务的软件体系结构

上传人:ji****72 文档编号:48534350 上传时间:2018-07-17 格式:PPT 页数:21 大小:217KB
返回 下载 相关 举报
面向服务的软件体系结构_第1页
第1页 / 共21页
面向服务的软件体系结构_第2页
第2页 / 共21页
面向服务的软件体系结构_第3页
第3页 / 共21页
面向服务的软件体系结构_第4页
第4页 / 共21页
面向服务的软件体系结构_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《面向服务的软件体系结构》由会员分享,可在线阅读,更多相关《面向服务的软件体系结构(21页珍藏版)》请在金锄头文库上搜索。

1、面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 面向服务的体系结构面向服务的体系结构(SOA)(SOA)是一个组件模型,它是一个组件模型,它将应用程序的不同功能单元将应用程序的不同功能单元( (称为服务称为服务) )通过这些服务通过这些服务之间定义良好的接口和契约联系起来。接口是采用中之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交的系统中的服务可以以

2、一种统一和通用的方式进行交互。互。 1面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 这种具有中立的接口定义这种具有中立的接口定义( (没有强制绑定到特定没有强制绑定到特定的实现上的实现上) )的特征称为服务之间的松耦合。松耦合系统的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性的好处有两点,一点是它的灵活性; ;另一点是,当组成另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而与此相对,紧耦合意生改变时,它能够继续存在。而与此相对,紧耦合意味着应用程序的不同组件之间的接

3、口与其功能和结构味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。行某种形式的更改时,它们就显得非常脆弱。 2面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 3面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 对松耦合系统的需求来源于业务应用程序需要对松耦合系统的需求来源于业务应用程序需要根据业务的变动变得更加灵活,以适应不断变化的环根据业务的变动变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合境,比如经

4、常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需适应环境变化的业务为按需(On Demand)(On Demand)业务,在按需业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。进行必要的更改。 4面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 虽然面向服务的体系结构不是一个新鲜事物,但它却是更传虽然面向服务的体系

5、结构不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于经存在二十多年了。虽然基于 SOASOA的系统并不排除使用面向对象的的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然虑到了系统内的对象,所以虽然SOASOA是基于对象的,但是作为一个是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。整体,它却不是面向对象的。不同之处在于接口本

6、身。SOASOA系统原系统原型的一个典型例子是通用对象请求代理体系结构型的一个典型例子是通用对象请求代理体系结构(Common Object (Common Object Request Broker ArchitectureRequest Broker Architecture,CORBA)CORBA),它已经出现很长时间了,它已经出现很长时间了,其定义的概念与,其定义的概念与SOASOA相似。相似。5面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 然而,现在的然而,现在的SOASOA已经有所不同了,因为它依赖于一些更新已经有所不同了,因为它依赖于一些更新的进展,这些进展是

7、以可扩展标记语言的进展,这些进展是以可扩展标记语言( (eXtensibleeXtensible Markup Markup LanguageLanguage,XML)XML)为基础的。通过使用基于为基础的。通过使用基于XMLXML的语言的语言( (称为称为WebWeb服务服务描述语言,描述语言,Web Services Definition LanguageWeb Services Definition Language,WSDL)WSDL)来描述接来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBACORBA中中的接口描述

8、语言的接口描述语言(Interface Definition Language(Interface Definition Language,IDL)IDL)可比了。可比了。6面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 SOASOA本身应该是本身应该是“如何将软件组织在一起如何将软件组织在一起”的抽象概念。它的抽象概念。它依赖于用依赖于用 XML XML 和和 Web Web 服务实现并以软件的形式存在的更加具体的服务实现并以软件的形式存在的更加具体的观念和技术。此外,它还需要安全性、策略管理、可靠消息传递以观念和技术。此外,它还需要安全性、策略管理、可靠消息传递以及会计系

9、统的支持,从而有效地工作。您还可以通过分布式事务处及会计系统的支持,从而有效地工作。您还可以通过分布式事务处理和分布式软件状态管理来进一步地改善它。理和分布式软件状态管理来进一步地改善它。7面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 SOASOA服务和服务和WebWeb服务之间的区别在于设计。服务之间的区别在于设计。SOA SOA 概念并没有确概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及切地定义服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行如何交互。其中的区别也就是定义如何执行流程的战

10、略与如何执行流程的战术之间的区别。而另一方面,流程的战术之间的区别。而另一方面,WebWeb服务在需要交互的服务服务在需要交互的服务之间如何传递消息有具体的指导原则之间如何传递消息有具体的指导原则; ;从战术上实现从战术上实现SOASOA模型最常见模型最常见的方式是通过的方式是通过HTTPHTTP传递的传递的SOAPSOAP消息。因而,从本质上讲,消息。因而,从本质上讲,Web Web 服务服务是实现是实现SOASOA的具体方式之一。的具体方式之一。 8面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 既为了建立所有这些信息的适当控制,又为了应用安全性、策略既为了建立所有这些信

11、息的适当控制,又为了应用安全性、策略、可靠性以及会计方面的要求,在、可靠性以及会计方面的要求,在SOASOA体系结构的框架中加入了一个新的体系结构的框架中加入了一个新的软件对象。这个对象就是企业服务总线软件对象。这个对象就是企业服务总线(ESB)(ESB),它使用许多可能的消息传,它使用许多可能的消息传递协议来负责适当的控制、流甚至还可能是服务之间所有消息的传输。虽递协议来负责适当的控制、流甚至还可能是服务之间所有消息的传输。虽然然ESBESB并不是绝对必需的,但它却是在并不是绝对必需的,但它却是在SOASOA中正确管理您的业务流程至关重中正确管理您的业务流程至关重要的组件。要的组件。ESBE

12、SB本身可以是单个引擎,甚至还可以是由许多同级和下级本身可以是单个引擎,甚至还可以是由许多同级和下级ESBESB组成的分布式系统,这些组成的分布式系统,这些 ESBESB一起工作,以保持一起工作,以保持SOASOA系统的运行。在概念系统的运行。在概念上,它是从早期比如消息队列和分布式事务计算这些计算机科学概念所建上,它是从早期比如消息队列和分布式事务计算这些计算机科学概念所建立的存储转发机制发展而来的。立的存储转发机制发展而来的。 9面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 利用利用SOASOA的好处不仅仅在于它是一个软件开发流程,而的好处不仅仅在于它是一个软件开发流程

13、,而且还是一个业务开发流程。采用且还是一个业务开发流程。采用SOASOA有四个层次,您的实现可有四个层次,您的实现可以跨越从创建特定的软件服务到将您的业务模型全面转换到按以跨越从创建特定的软件服务到将您的业务模型全面转换到按需系统的过程。需系统的过程。10面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 第一个层次是最简单的,因为它只需创建单独的服务。第一个层次是最简单的,因为它只需创建单独的服务。在第二个层次中,您不仅可以创建服务,而且可以开始在第二个层次中,您不仅可以创建服务,而且可以开始将业务功能集成到将业务功能集成到SOASOA中。这涉及多个层次的集成,其中包括中。这涉

14、及多个层次的集成,其中包括应用程序集成、信息集成、流程集成和整个系统的集成。应用程序集成、信息集成、流程集成和整个系统的集成。第三个层次涉及将您的企业第三个层次涉及将您的企业ITIT基础设施转换到基础设施转换到 SOASOA模型模型,而采用,而采用SOASOA的第四个层次集中于转换您的业务模型,以使之的第四个层次集中于转换您的业务模型,以使之成为随需应变的模型。成为随需应变的模型。11面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 从从ITIT专业人员的角度来看专业人员的角度来看( (与业务层相比与业务层相比) ),要创建,要创建SOASOA应用程序,应用程序,通常将经历四个

15、阶段:构建、部署、使用和管理。通常将经历四个阶段:构建、部署、使用和管理。在构建阶段中,您可以定义业务模型或流程、软件模型和在构建阶段中,您可以定义业务模型或流程、软件模型和SOASOA模型模型。之后,就可以创建一组服务,这组服务可以与已发布的通用接口一起重。之后,就可以创建一组服务,这组服务可以与已发布的通用接口一起重用。用。在部署阶段,提取创建的服务,并把它们放在一个可执行、可管理的在部署阶段,提取创建的服务,并把它们放在一个可执行、可管理的环境之中。环境之中。在使用阶段,根据前面所讲的在使用阶段,根据前面所讲的SOASOA和软件模型来装配应用程序,并和软件模型来装配应用程序,并且测试其软

16、件质量以及非功能性需求,比如性能、可伸缩性等等。应用程且测试其软件质量以及非功能性需求,比如性能、可伸缩性等等。应用程序现在已经准备完毕并且可交付用户。序现在已经准备完毕并且可交付用户。最后的管理阶段是一个长期的过程,在这个阶段中,可以监控并最后的管理阶段是一个长期的过程,在这个阶段中,可以监控并管理安全性和使用,以及在许多与可能已经为管理安全性和使用,以及在许多与可能已经为 SOASOA制订好的服务级协定或制订好的服务级协定或策略相对应的方面比较其性能。策略相对应的方面比较其性能。12面面 向向 服服 务务 的的 软软 件件 体体 系系 结结 构构 面向服务的体系结构提供了一种方法,通过这种方法,可以构建面向服务的体系结构提供了一种方法,通过这种方法,可以构建分布式系

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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