尽管 SOA 渐受欢迎且 SOA 技术在不断进步,但根据 Burton 集团 Anne Thomas Manes 所做的 SOA 调查,
……对 20 家公司的深入调查发现,完败率达 50%,未完败亦未成功者比例达 30%……它们中有许多已部署了多个成功的项目,但这些项目大多只关注于一种集成问题。它只是一堆 Web 服务……该服务只为一个应用而构建,而且肯定不会被再次使用
该调查结果得到了若干新闻报道的响应,比如 Joe McKendrick 和 Michael Meehan 均同意 Anne 的观点:这些失败案例的原因,总的说来不是技术做得不好,而是在业务 / 架构上缺少 SOA 的眼光,更确切地说
- 缺乏已定义的业务模型
- 基础设施焦点
- 治理仅涉及基于 SOAP 的系统,若存在治理的话
- 开发者未能利用现有的运行时治理
- 行动由应用开发组独立参与并领导
- 路线图不够具体
- 无力衡量投资回报(ROI)
- 以项目为中心的文化
- “我特殊”的态度
按
Burton 集团应用平台战略与数据管理战略副总裁 Chris Haddad 的话说:
失败的 SOA 项目将过多的关注投在了方法而非目标上。问题在于未能关注业务目标,所以对它们予以关注即可解决问题。有时在构建 SOA 的业务案例时未能对最基本的问题进行提问,如:我们为什么要构建服务?最后结束时意味着什么?……虽然 SOA 的业务驱动力之一是降低成本与赢得投资回报(ROI),但 SOA 的投资回报仍是一个难以捉摸的目标,于是 SOA 项目负责人常在涉及投资回报的地方赌运气。
Burton 集团发现成功的 SOA 项目具有以下共同点:
- 业务与 IT 重组,常常伴随着新一任 CIO 的到来
- 得到高管层或董事会的支持
- 采用敏捷 / 迭代式开发方法
- 项目紧扣业务目标,且由业务目标而不是 IT 驱动力来衡量
- 具有良好定义、能平衡服务提供者与消费者需求的资金与维护模型
- 具有简化的架构,以便访问和管理质量数据
- 业务与 IT 间互相信任的文化
根据 Burton 的报告:
问题并非技术上的。人员及流程是现今企业中 SOA 问题的核心所在
David Linthicum 著文支持了这一结论:
SOA 的问题没有变,即 SOA 是要本质、系统地改变我们做 IT 的方式。人人看似都乐于从概念上接受改变,但是当实际改变系统将影响到某人的工作稳定性时,事情很快就会变得糟糕了。而且,那些承担着在企业内部推动 SOA 这一任务的人们,没有得到资金和 / 或权力来推动改变。相反,他们被要求去实施“说服”与“感化”。那样是行不通的;你必须得有控制他们的预算及解雇人的权力,才能按需要的速度来推动改变
此外,David 在这篇文章中提出了一个提高 SOA 质量的简单窍门:
- 清晰定义业务案例。假若你不能,就别做 SOA。
- 对于那些要推动 SOA 所需的系统化改变的人,给他们提供资金及做某事的权力。否则,就别浪费时间了。若要在适当的时间内看到效果,你需要有控制资金及解雇人的权力。否则,他们将不会为敏捷与重用而安排重建架构,而你将陷入与他们没完没了的会议之中。
- 进行长期战略性、而不是短期战术性的考虑。没问题;事情不会随着你从被动响应到主动出击的转变而陷于崩溃。事实上,公司就是那样赢得它们的市场的。
- 从小做起,但保持持续的动力。小战斗赢取战役,逐渐地,只要你不断前进,架构将变得越来越理想。
这再次证明了 SOA 成功的关键要素是:
- 一种基于架构的方法
- 一个得当的方法学
- 支持组织结构
- 对业务与信息的理解及一种战略眼光
评论