SOA(Service Oriented Architecture,面向服务的体系架构)是由Gartner在1996年提出的,其后一度非常沉寂。随着互联网技术的日益成熟和应用日益普及,SOA的概念又重新被人们提起。到了2002年12月,Gartner又提出了SOA是“现代应用开发领域最重要的课题”,并预计到2008年,SOA将成为占有绝对优势的软件工程实践方法。当前,SOA是软件领域最炙手可热的一个概念。
Gartner并没有给出一个非常明确的概念,在互联网上我们也可以搜索出N个解释,五花八门,让人很难把握其本质。从Gartner对SOA最原始的定义背景来看,SOA是面向软件工程的,SOA就是一组服务的有机集合;从软件和业务功能两方面的观点看,服务就是定义良好的软件组件,它不依赖于任何调用它的应用程序的上下文或状态,而且强调开放性、标准化、即插即用,实现组件之间以及组件与平台之间的松耦合。
SOA本身就是一个非常抽象的概念,再把“服务”扯进来就变得更抽象了,因为在以服务业为社会生产力的重要发展支柱的当今社会,“服务”的内涵与外延都非常广泛,甚至变得空泛起来。而正因为“服务”有着广泛的概念范围,给了我们一个可以从广泛的角度去理解SOA内涵的平台——我这句话又扯出了当前软件行业另一个非常火的概念:平台。从广义上来理解,我认为正是由于“平台”、“服务”的出现和多样化,构成了SOA非常丰富的内涵、外延以及模式。“平台”是SOA概念的基础,服务不能脱离平台而独立运作;“服务”是SOA的核心,没有实在的服务平台就没有任何存在的意义。
那么,究竟什么是SOA?
我们应该跳出软件工程、信息产业的这些传统的思维禁锢,采取一种天马行空的思维方式去理解SOA的含义。有一种哲学理论是“通过表现看本质”,我们也不妨先看看在现实生活中,SOA有哪些表象。
(一) SOA是一种商业模式
在某种意义上来说,平台就是环境,服务就是依赖于这个环境的功能。购物中心是一个成功的SOA式的商业模式。购物中心的管理者提供一个商业场所——商业交易的平台,然后引进各种形式的租户或零售商——他们提供的经营内容和过程就是服务。在这种商业模式中,服务的组合一般都是经过优化的,不会出现重叠的“服务”内容。最原始的SOA商业模式应该是集市,但集市的平台功能比较差,服务没有经过优化,服务的重叠性非常严重,所以集市并不是一种成熟的SOA商业模式。
最成功的SOA商业模式,莫过于基于互联网的电子商务!互联网只是一个平台,在这个平台上,各种各样的业务如雨后春笋般不断涌现出来,而且人们还在不断的创造出基于互联网的新业务。
在SOA的商业模式下,企业可以非常方便的调整、优化服务的结构,从而持续改善经营绩效。
(二) SOA是一种扁平化的服务管理模式
服务的提供者创造了一系列的服务环境,包括人、工作平台以及规章制度等,这是SOA式的服务管理平台;面向各种问题或事务的处理流程就是服务的组件。我们可以遵循SOA的原理,将服务的提交过程设计成最短的,减少了繁复的中间管理层级,提高服务提交的效率。
在SOA服务管理模式下,组织可以非常方便的增加、撤消、调整组织中某个局部的流程和结构,通过持续不断的局部优化来改善整个组织的效率,避免为组织带来瞬间的颠覆性变革。
(三) SOA是电器设备高度标准化、工业化的一种表现形式
集成电路高度标准化、工业化的形式就是集成电路的接口标准化和通用化,相同功能的设备制造商之间都遵循某种统一的接口规范,能够互相替换,遵循相同接口标准的母子设备之间能够方便的拔插。最典型的案例就是PC机DIY配件的高度成熟,在PC机中,主板(母板)就是一个平台,而接在主板上的各种配件如CPU、内存、显示卡、硬盘等都是服务组件,人们可以随意(当然还是有一些规则是要遵循的)更换主板以及各种配件,主板和各种配件就组成了符合SOA原理的PC机。
理论上,如果以SOA原理为指导,未来的各种电器设备都可以由用户DIY装配,用户将可以通过更换部件来提升整个设备的性能或者延长设备的使用寿命,这个意义是非同寻常的。
(四) SOA是一种IT架构整合方法
随着信息技术的不断发展,企业信息化的不断深化,或者由于企业并购不断发生,企业的信息架构正变得越来越复杂,信息孤岛越来越多,大量企业正被如何整合各种采用不同的技术架构或不同供应商提供的信息系统而大伤脑筋。如果简单的从功能整合目的出发,强行进行技术上的移植或供应商转移,都不是最简单有效的IT整合方案。
SOA理论告诉我们IT整合的最基本目的是信息的集成与整合,把各种信息视同服务,那么数据仓库或商业智能系统就是信息整合的平台,剩下的工作就是如何把各个信息系统产生的数据转化为信息,并通过标准接口传到数据仓库或商业智能系统。最后,围绕信息的产生、加工、存储、发布过程,持续优化整个IT架构。
(五) SOA是一种解决方案模式
当前,ERP的“高度集成”特性不再是人们关注的重点,人们转而关注ERP系统的灵活性和可扩展性。因为业务是不断的变化的,而“高度集成”的ERP对不断变化的业务的响应太迟钝,基于“平台”的信息系统解决方案应运而生,比如IBM的ESB、SAP的NetWever、用友的UAP平台等等,基于平台再开发各种服务组件或集成第三方提供的服务组件。虽然实现方式各有不同,但显然SOA式的解决方案正开始大行其道,并日益受到人们的推崇。
最成功的SOA解决方案,也莫过于互联网!互联网最依赖的是网络技术和HTTP协议,在此基础上人们已经开发出了并仍将开发出大量的互联网应用。
(六) SOA是一种软件工程的思想方法
这是SOA最原始的、最基本的、最微观的定义,本文就不再赘述。
SOA最根本的思想就是不要用某种固定的思维去看问题,所以,大家其实完全没有必要强行给SOA下一个固定的定义。
如果真要我自己给SOA下个定义,那么我的定义是:
l SOA是一种可以让你成功的模式,或者说SOA是一种可以帮助大家寻找解决方案的思维方式。
l SOA既是一种方法论,又是一种成功的模式。
SOA也是一种境界,并没有一个固定的模式或表现形式。就像武学的最高境界是无招,无招胜有招,那么到底什么是无招,其实谁也说不清楚。
分享到:
相关推荐
### 什么是SOA? 服务导向架构(Service-Oriented Architecture,简称SOA)是一种软件设计方法,它将应用程序的不同功能单元(称为服务)通过服务之间的良好定义接口联系起来。服务接口通常是采用中立的方式进行...
面向服务的体系结构(Service-Oriented Architecture,简称SOA)是一种现代的IT架构风格,它的核心理念是将企业的业务逻辑和功能分解为独立、可重用的服务,这些服务可以通过网络进行互操作,以实现跨系统的协作。...
SOA(Service-Oriented Architecture,面向服务的架构)是一种软件架构设计模式,它提倡将独立的功能单元——服务作为构建大型应用的基本单元,这些服务可以通过标准的方式进行交互,以实现系统的松耦合和模块化。...
-什么是SOA?-怎样切入到SOA? -采用什么样的开发流程? -采用什么样的开发方法? -采用什么样的架构? -采用什么样的标准? -采用什么样的编程模型? -采用什么样的关键技术? -采用什么样的管理? -采用什么样的产品? SOA,...
**什么是SOA?** SOA,即Service-Oriented Architecture,是一种软件架构风格,它强调将业务逻辑和功能模块化为独立的服务,这些服务之间通过标准化的接口进行通信,实现了松耦合。SOA的核心理念是将复杂的企业级...
#### 一、什么是SOA? SOA(Service-Oriented Architecture,面向服务架构)是一种设计和实现信息技术系统的架构风格,它强调将业务功能模块化并通过标准协议进行封装,以便它们能够被独立地创建、部署、发现和调用...
**什么是SOA?** SOA是一种IT架构,主要用于请求-响应类型的应用程序。它的核心思想是将应用功能模块化,表现为独立的服务。这些服务之间保持松耦合,意味着服务接口与其具体实现相分离。主要特征包括: 1. **平台...
【什么是 SOA?】 SOA(Service-Oriented Architecture,面向服务的架构)是一种软件设计和构建应用程序的方法,它强调将功能分解为一系列可独立访问的服务。这些服务通过标准接口进行交互,允许不同系统和应用之间...
#### 1.1 什么是SOA? SOA,即Service-Oriented Architecture,是一种根据业务流程组织功能并将其封装为可互操作服务的软件架构。它允许不同系统间基于开放标准交换数据,从而实现跨平台的互操作性。SOA强调重用性...
该PPT主要描述什么引入什么是WCF,什么是SOA?基于SOA的服务框架WebServices,比较偏向应用,不太实用,可作为了解概念
#### 什么是 SOA? 服务导向架构(Service-Oriented Architecture,简称 SOA)是一种设计原则与实践方法,它旨在创建共享、可重用、分布式的软件服务。SOA 的关键属性包括: 1. **接口与实现分离**:即松耦合,...
### 什么是SOA? SOA作为一种设计理念,在过去的几年里其含义不断扩展。因此,不同的人对SOA的理解也有所不同。简而言之,SOA是一种用于应用设计的架构模式,它主要包括三个关键部分: 1. **WebService接口**:...
为什么选择IBM的SOA? 4 独一无二的竞争优势 4 IBM销售的产品 5 SOA生命周期 5 第二部分:SOA的背景,IBM的优势和产品 8 为什么采用 SOA? 8 SOA需求的驱动因素有哪些? 8 妨碍业务灵活性和重要性的因素有哪些? 9 为...
1. **什么是SOA?** - 从业务人员和管理人员的角度看,SOA是一种架构和设计原则,旨在提高IT系统的可重用性和灵活性。它允许业务流程通过编排IT资源,以创建增强的应用,提高敏捷性,并提供更好的业务流程可视化。 ...
##### 1.1 什么是SOA? 面向服务的架构(Service-Oriented Architecture, SOA)是一种设计思想,它强调将应用程序的不同功能单元通过服务接口联系起来,并通过网络协议进行通信。这些服务可以被组合起来形成更复杂的...
#### 什么是SOA? SOA(Service Oriented Architecture,面向服务架构)是一种设计思想,它强调将应用程序的不同功能单元通过服务接口和协议进行封装,使之成为可复用的服务。这些服务之间可以定义良好的接口和契约...
#### 什么是SOA? SOA,即Service-Oriented Architecture(面向服务的架构),是一种设计思想,它将应用分解为一系列的独立服务,这些服务通过标准化的接口进行通信。SOA强调的是业务逻辑的封装和重用,以及服务间...
**究竟什么是SOA?** SOA不仅仅是一种技术,而是一种架构风格,强调服务的自包含、标准化接口和互操作性。这些服务可以通过Web服务接口(如SOAP或REST)进行通信,允许不同系统间的无缝集成。SOA的关键特性包括: 1...
SOA音频文件,很多专家谈论SOA.目前一共有8讲. 简单的说SOA就是:各取所需,存异求同,松散结合......