基于SOA 原理开发的软件和产品并不能保证企业具有SOA 架构,它们之间没有必然联系。
近期,我国IT 业对SOA的讨论和推崇轰轰烈烈,很多IT 产品和服务提供商纷纷举办各种有关SOA的培训和产品展示。这个跨行业和范围甚广的SOA 引起了包括国内很多著名大型企业在内的CIO、IT 总经理、IT 高管们的注意和兴趣,更有不少专家在各种场合谈论SOA,有的企业还实施了SOA。然而大多数IT管理者们要么对SOA的定义、概念和内涵混沌不清,要么就是以自己的理解来阐述SOA的内涵,还有一些人则是为了避免“落后”而人云亦云,在本企业开始SOA 的尝试。
对新生事物的探讨和追寻永远是吸引人的,特别是在这个社会快速发展的时期,企业和组织的运行
越来越多地依赖信息技术和IT 基础设施所提供的能力,企业对IT 的支持和资源投入也越来越多。当我们
的IT 正在走向成熟时,正确的选择和决策就更为重要,这意味着在我们想尽办法寻找非常好的IT解决方案时,
在厂商和供应商向我们推销SOA时,我们愈要加深对SOA 的探讨和了解——SOA到底是什么?对企业而言,S O A 意味着什么? 要不要采纳SOA?如何采纳SOA?实施SOA 的代价和对企业的价值是什么?
最近,我参加了IDC中国举办的有关SOA 的会议。令我欣慰的是,IDC 全球研究副总裁兼总经理Mr.
Vernon Turner 先生和IDC 中国研究主管经理韩国华女士在讲演中的一些观点和统计数据与我产生了共鸣。
在IDC 2005 年对全球大型企业的CIO 和IT 高管的调查中(采样数据为224),对SOA非常了解的CIO仅为14%、了解的约为26%,没有概念和不了解的则占了大约60%。业务部门对SOA 的了解比例就更低了。认为SOA 对本企业的IT 和IT 供应商的重要性的比例为:非常重要的约为12%、较重要为24%,其余的是不重要和不知道。由此,可以看出即使在国际大型企业和组织中,目前对SOA的认知度仍较低。在企业中真正确定采纳SOA 的就更少了。韩国华女士更在结论中说明“SOA是面向服务的体系架构,更确切地说是一种架构的风格”。 对此,我可以补充一点——SOA是一种风格和理念,强调的是资源共享和复用、企业架构动态和柔性的组合。
SOA来源于软件和应用系统的开发商和产品供应商。实际上,从2000 年出现的Web 服务 (Web Services) 应用就是在开发软件和应用系统中,具体采用SOA的开始。Web服务中的3 要素 ——
WSDL(Web 服务描述语言)、UDDI(Web 服务通用目录)提供具体的服务(应用模块)、SOAP提供灵活的服务通信协议。这3要素的有机协作与组合,定义和具体地实现了SOA在软件和系统开发中的应用,其体现的特性为:服务池、服务模块、服务的自我描述、动态参数配置、自主按需服务调用、操作的协议标准定义等。今天,IT 领域大讲的SOA的一切元素都在其中了。也是从2000年开始,更多软件和系统开发商开发了基于“SOA” (Web服务)的IT 产品和系统。
实际上,在企业级信息系统总体架构和大型复杂系统的设计方面,我们需要的是面向服务的基础架构 SOI (Service Oriented Infrastructure)和面向服务的企业架构SOE (Service Oriented Enterprise)。在这点上,Mr. Turner先生也有同样的认知。在企业的IT规划和实施方面,我们用SOI 和SOE可以更准确地定义、规范面向服务的IT 架构,这与国际企业IT架构的认知保持了一致。
在企业级信息系统总体架构和大型复杂系统的设计方面,我们需要的是面向服务的基础架构SOI和面向服务的企业架构SOE
发达国家的企业IT 架构也有很多风格和理念,例如联邦式IT架构(Federated Enterprise
Architecture)、适应性IT 架构(Adaptive Enterprise Architecture)、集中式IT 架构(Centralized Enterprise Architecture)等等,这些就是针对企业级SOI和SOE的。更准确地讲,SOA 是针对着IT 产品和模块开发的,SOI和SOE则适用于企业IT 和企业IT 的基础架构。
理论上,SOA本来只是用于IT 产品和IT 应用系统的开发,但是在IT 厂商的力推下,“SOA”一词却被冠用到了企业IT一级的架构上。我将SOA、SOI和SOE在企业级IT 中,看作同一个范畴,但是在概念上,我觉得一定要清晰地区别它们。我对SOA、SOI 的IT 架构定义是:
I. 基于独立的服务(应用)模块和清晰的数据、流程和展示(渠道)层面;
II. 基于离散的和松散耦合的服务(应用)系统上;
III. 服务(应用)系统可以自我描述,通过架构协议定义的标准接口,可以提供被其他服务请求共享的机理;
IV. 服务(应用)可以构建一个动态和适应性的企业IT 架构。
不同的来源可能在定义上有不同的描述,但是以上定义的基本原理是一样的——从软件开发和企业总体架构两个方面引申发展而来的。需要切记的是,开发商和I T 产品供应商强调其产品的SOA,与大多数企业IT 应用主管需要的企业级SOA和SOI(SOE)架构,决不仅仅是一个层次上的概念。基于SOA 原理
开发的软件和产品不能保证一个企业IT和复杂系统具有SOI架构,它们之间没有必然联系。
更有甚者,在软件上强调的SOA机理可能会对企业大系统的IT 架构SOI 产生反作用。当一个供应商标定其产品支持企业IT的SOA架构时,IT经理和主管需要从企业总体架构和大系统的位置和角度,用以上的企业SOA 标准来衡量该产品是否能够支持企业的SOI架构,并能在企业IT 中发挥产品的SOA 作用。
在SOA 架构的层次和应用范围上,IT 主管要把关注点放在如何在SOI 架构的企业级理念上,实现服务和应用层的细分;应用系统的资源共享;系统本身和流程的参数化配置;应用(服务)系统服务平台和数据平台的建设(提供服务的动态配置),以实现一个切合本行业和本企业实际的、能够充分支持今天和未来业务发展的、对业务变化快速反应的、提供企业非常好的投资回报的SOI 的IT 总体架构。如果仔细评估一下本企业的IT 架构和将要实施的IT 架构,你也许会发现你的企业已经和将要把SOA理念渗透于不是全部至少是部分IT架构中,你或许更清楚如何把握SOA 在未来IT 架构中的作用,使之产生最大的企业价值。(IT经理世界)