原文地址:http://blog.csdn.net/ichaos/archive/2008/01/20/2054377.aspx
SOA的概念是Gartner在1996年提出来的,并于2002年12月进一步提出SOA是“现代应用开发领域最重要的课题”。从Gartner的观点来看,SOA是一种新的企业应用架构和企业IT基础架构,主要是企业IT基础架构的思想、方法、风格、工具的一个总称。
更多的关于SOA的定义:
IBM:
SOA是一种可以不断进化的方式,用它来构建以解决业务问题为中心的信息技术(IT)系统。
微软:
A loosely-coupled architecture designed to meet the business needs of the organization.
OASIS:
Service Oriented Architecture (SOA) represents a collection of best practices principles and patterns related to service-aware, enterprise-level, distributed computing.
一个流传很广的定义:
SOA,面向服务的体系结构(service-oriented architecture)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
虽然到目前为止,关于SOA还没有一个统一的、被广泛认可的定义,但是SOA的核心理念却是一致的:
1、 SOA是以业务为导向的,强调业务领域的分析和建模。
2、 SOA不是一个产品,甚至不是一项技术。本质上SOA是一种思想,一种新的IT系统架构思想。
3、 SOA是一个不断进化的过程,是一系列最佳实践的集合。
4、 SOA不是新生事物。将这种技术运用于商业可以追溯到算盘时代。《SOA概念、技术与设计》一书中有如下关于面向服务的类比:
让我们来看一看普通的国际化大都市,其中已经存在许多面向服务的业务。任何一个公司都是面向服务的,因为每个公司所提供的独特服务都能被多个消费者使用。全体业务组成一个业务群落。业务群落的意义在于,不由单个业务插口提供所有的服务。通过将群落分解为特定的、独立的插口,就可以获得一个分布式的插口环境。
理想的SOA:
拥有一个松耦合的、高度分布的应用架构不是今天才有的梦想,但是SOA则是第一次让人们在拥有这种梦想的同时摆脱了专有、复杂和昂贵的代价。
SOA的理想是,在开放的标准体系下,所有的应用可以相互连接,传递信息。新的应用可以很快连接到原有的SOA体系中;而旧的应用也可以加入到新的SOA架构里。就像计算机里的系统总线,所有的设备都可以连上去来交换数据,SOA力图让所有的应用在SOA的理想国中相互无障碍地对话。在具体实现上,SOA将企业应用切分成小的应用模块,每一个应用模块在SOA理想国中被视为一个服务,企业可以将各种服务根据需要进行组合,从而完成一项业务需求。
SOA理论基础
解决大型问题的逻辑是:如果它能够分解成更小的、相关的片段集合,那么它就更易于构造、实现和管理。其中的每个片段都代表了这个问题的一个关注点或一个特定部分。
“面向服务”就是以这种逻辑来解决IT系统架构问题的,它代表了分离关注点的一种方法论,可以根据不同的业务目标而应用于不同的场景。所以有人提出如下论点:“关注点分离是SOA的核心原则。”
关于SOA的比喻:鱼香肉丝
(来源:IBM中国研发中心Web2.0首席架构师、资深技术主管毛新生)
你到餐馆去吃鱼香肉丝,这是一个服务,做鱼香肉丝就属于业务处理能力,可是大家做的鱼香肉丝是不一样的,也就是Quality of Service,大家都能够做鱼香肉丝,这是一个接口层次上的问题,但是Quality存在不同,而且我对这个餐馆表示不满的时候,餐馆经理就出来处理问题了,是重新做一份还是免单了,这如何解决问题就是业务策略。
这样一个简单的事情它其实表明了在过去代码的时代所无法表达的内容。一个业务活动它有它的业务处理能力,有它的功能,同时有跟这个功能有关系的一些关于 Quality的要求,还有一些处理各种各样事件的业务策略,所有的这些东西融合在一起,他会出现在服务的描述里面,还会组装在一个形式化描述的业务流程 里面,这些东西都是业务人员可以懂的,透过这样一个东西他就自然而然的将下面的一些应用和各种各样的数据整合在了一起,与此同时,我们也提供了人工活动的 支持,这种人工活动的支持也是通过服务的接口来描述。从而使得人员、数据、应用就可以非常无缝的相互协作了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ichaos/archive/2008/01/20/2054377.aspx