面向服务的体系结构(service-oriented
architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。
对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需(On
demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。
虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了。虽然基于 SOA
的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于它考虑到了系统内的对象,所以虽然 SOA
是基于对象的,但是作为一个整体,它却不是面向对象的。不同之处在于接口本身。SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Common Object
Request Broker Architecture,CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。
然而,现在的 SOA
已经有所不同了,因为它依赖于一些更新的进展,这些进展是以可扩展标记语言(eXtensible Markup Language,XML)为基础的。通过使用基于
XML 的语言(称为 Web 服务描述语言(Web Services Definition
Language,WSDL))来描述接口,服务已经转到更动态且更灵活的接口系统中,非以前 CORBA 中的接口描述语言(Interface Definition
Language,IDL)可比了。
Web 服务并不是实现 SOA 的惟一方式。前面刚讲的 CORBA
是另一种方式,这样就有了面向消息的中间件(Message-Oriented Middleware)系统,比如 IBM 的
MQseries。但是为了建立体系结构模型,您所需要的并不只是服务描述。您需要定义整个应用程序如何在服务之间执行其工作流。您尤其需要找到业务的操作和业务中所使用的软件的操作之间的转换点。因此,SOA
应该能够将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。例如,给供应商付款的操作是商业流程,而更新您的零件数据库,以包括进新供应的货物却是技术流程。因而,工作流还可以在
SOA 的设计中扮演重要的角色。
此外,动态业务的工作流不仅可以包括部门之间的操作,甚至还可以包括与不为您控制的外部合作伙伴进行的操作。因此,为了提高效率,您需要定义应该如何得知服务之间的关系的策略,这种策略常常采用服务级协定和操作策略的形式。
最后,所有这些都必须处于一个信任和可靠的环境之中,以同预期的一样根据约定的条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何 SOA
中都起着重要的作用。
原
地址:http://tech.51cto.com/art/200601/16185.htm
分享到:
相关推荐
面向服务的体系结构(Service-Oriented Architecture,简称SOA)是一种软件设计和架构风格,其核心理念是将业务功能封装为独立、可重用的服务,这些服务通过标准的接口进行交互,从而实现不同系统之间的互操作性。...
### SOA(面向服务的体系结构) #### 一、SOA是什么? ##### (一) 什么是SOA SOA(Service-Oriented Architecture,面向服务的体系结构)是一种设计复杂应用和服务的方式,它强调通过一组定义明确的服务来构建应用...
面向服务的体系结构(SOA)综述和企业服务总线(ESB) 面向服务的体系结构(SOA)综述和企业服务总线(ESB).part1 at: http://download.csdn.net/source/518877
第一章 SOA and Web services 新手入门 第二章 系列标题: 面向服务的体系结构概述 第三章 面向服务的体系结构扩展 Web 服务的前景: 第 1 部分-面向服务的体系结构的特征 第四章 面向的服务体系结构扩展 ...
面向服务体系结构(Service-Oriented Architecture,简称SOA)是一种设计和构建软件系统的方法,它强调将业务功能作为独立的服务,这些服务可以通过网络进行交互,从而实现系统的灵活、可复用和可组合性。...
该架构具有分布式系统、Web服务、面向服务的体系结构等特点。 面向服务体系架构的主要内容包括: 1. 分布式系统概述:分布式系统是一种计算机系统,它的组件分布在网络计算机上,并通过消息传递进行通信和动作协调...
面向服务的体系结构(SOA),相当好的学习资料
面向服务的架构(Service-Oriented Architecture,简称SOA)是一种设计思想,旨在构建高度灵活、可重用的软件系统。SOA的核心理念是将复杂的应用程序分解为多个独立的服务,这些服务通过清晰定义的接口进行通信。接...
面向服务的体系结构(SOA)是一种新兴的软件体系结构,详细分析了SOA的基本结构和特点,比较了SOA同面向对象体系结构的不同之处,并结合一个实例给出了架构SOA系统的方法,描述了从基于组件设计方法过渡到面向服务设计...
面向服务体系结构(Service-Oriented Architecture,简称SOA)是一种软件设计和构建的策略,它强调将业务功能作为独立的服务,这些服务可以通过网络进行交互,共同构建复杂的业务流程。基于SOA的软件项目管理系统...
面向服务的体系结构(SOA)是一种软件设计模式,它提倡将复杂的应用程序分解成一组独立的服务,这些服务通过标准化的接口进行通信,以实现松耦合和互操作性。SOA的核心理念是强调服务的独立性和重用性,允许不同系统...
《SOA:面向服务的体系结构 - 企业投资回报评测实用指南》这一文档深入探讨了SOA(面向服务的架构)对企业投资回报的影响,并提供了一种实用的评估方法。SOA作为一种先进的信息技术架构,旨在通过将复杂的软件系统...
面向服务的体系结构(SOA,Service-Oriented Architecture)是一种设计和构建软件系统的方法,它强调通过松散耦合的服务来实现业务功能。SOA的核心理念是将复杂的业务流程分解为可重用、独立的模块,这些模块被称为...
总之,面向服务的体系结构SOA是一种现代企业级软件开发的策略,它利用分布式系统和Web服务的技术,实现了跨平台、跨语言的互操作性,促进了系统的可伸缩性和灵活性,为企业提供了更强大的集成和业务流程自动化能力。...