透视SOA架构:实践需从企业级IT架构设计着手

各大软件供应商与媒体的联合吵作,使SOA(Service Oriented Architecture)成为IT人士经常挂在嘴边的"时尚"词汇。2006年,在日本举行的年会上,Gartner公司乐观预测,到2007年,会有超过50%的企业采用SOA体系, 到2010年该比例将会达到80%。

但事实上,到目前为止,国内的IT界也是很少有人清楚SOA的实践应从那里着手。国际软件供应商的大玩SOA概念,实际是它们的一种产品的市场推广策略。但从实际取得的效果看,这种宣传策略只是国际软件厂商的自娱自乐。

IT界的普遍浮躁,使得很少有人真正探讨SOA究竟是什么?以及如何实施SOA?这也使得国际软件大佬的宣传,引来的只是随声附和,而没有具体的行动,即使它们极力的宣传自己的产品已经SOA了,也不会引起太多企业真正的兴趣,这样就客观减少了软件采购企业被忽悠的机会。

那么SOA究竟是什么?

首先,SOA并不是具体的软件产品,它与技术无关。如果那家软件供应商说自己的产品真的实现了SOA,那我们就要注意它的用心了。

SOA是IT体系架构的设计思想。这种思想可以从软件工程体系结构设计,与企业级IT体系架构这两个层面来体现。

在软件工程体系结构设计层面,SOA是一种软件体系结构的设计方式,它指导着业务服务(软件应用功能单元)在其生命周期(从构思开始,直到停止使用)中创建和体现SOA思想的方方面面。

在企业级IT体系架构层面,SOA也是一种定义和提供IT基础设施(IT Infrastructure)的方式,体现SOA思想的企业级IT体系结构设计,应允许不同应用功能或应用系统之间交互数据、参与业务流程(Business Processes),无论它们各自背后使用的是何种操系统或采用了何种编程语言。

在软件工程体系结构设计层面,基于SOA思想的软件工程技术实践还没有走向成熟,因为基于SOA思想的软件体系结构设计三大标准:服务组件架构标准(CSA)、服务数据接接口标准(SDO)、服务安全标准(WS-Policy),才仅仅刚刚发布了前两个标准,而且还是1.0版本,成熟还需时日。

SOA思想指导的软件工程技术实践和不成熟,并不影响,企业级IT体系架构设计实践中,体现SOA的思想,设计出在某种程度符合SOA思想的企业级IT体系架构。企业业务与信息化的发展要求企业级的IT体系架构设计要有很强的灵活性与业务流程变化的适应性,需求的紧迫性不能等待SOA的软件工程技术实践成熟后再进行。

企业级IT体系架构设计中,如何体现SOA思想?

SOA的思想的企业级IT体系架构设计实践,要从BPM/BPI与SOAP、XML、WEB Service等IT技术相结合,企业级的IT体系架构设计,要以企业流程重整/优化为基础,划分适当粒度的应用系统或应用功能边界,同时应用系统或应用功能边界间的集成尽可能采用松散耦和集成的方式,从而增强企业级IT体系架构对企业业务战略与业务流程变化的适应性。