InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

围绕递增式SOA的价值的辩论

作者 Mark Little 译者 马国耀 发布于 2009年11月2日

领域
架构 & 设计,
企业架构,
过程 & 实践
主题
SOA平台 ,
SOA ,
方法论 ,
故事和案例分析
标签
SOA实施

在最近一片文章中,John Moe讨论了SOA实施方法的分类,特别是递增式SOA, 如 Zero MiddlewareGuerrilla SOA。John如是说,

……有一组可以让SOA更简单,更易接受的实施方式,我把对他们的讨论归类成“游击”SOA,但仍然试图找出这些方法之间的不同之处,以便于你找到最适合你的场景的答案。

这些方法包括:

  • Web服务:对于这类开发者来说,“SOA就是用Java或.NET创建最符合WS-*规范的服务代码,因为每个Web服务可以通过(在Web上不断演化的)WS标准调用其他服务并被其他服务调用”
  • Agile:“Agile可以应用于SOA中用于缩短开发时间,但是要小心,必须只应用于服务的开发,而不是整个应用的开发,不然,将以整个应用级的服务而收场。”
  • 服务提供者:“随着软件即服务(SaaS)越来越成为主流,某些Web功能背后的服务提供者(如提供商)正在推销使用浏览器 和小工具(widget)进行应用开发,在这里你只需通过混搭和匹配SaaS服务就可实现你的业务需求。然后在云计算平台即服务(PaaS)中运行你的应 用。”
  • 产品提供商:“仍然有很多且数量还在不断增长中的SOA产品提供商蜂拥在这个市场上为你的业务拼命。其中大部分都拥 有对你有帮助的独创软件,而且他们不断地重复着这种论调:‘只要买了我们的工具,你的SOA就无需其他了’,或类似的标语。产品提供商的观点试图表达:要 么他们的产品是你唯一需要的SOA基础设施,要么它的产品如此大以致于他们要收取$250M[才能为一个大公司建立SOA基础设施]。”

Jim Webber, Dave Chappell,Steve Jones及另外一些人相继提到这篇文章,Dave首先评价了提供商驱动的SOA解决方案的显而易见的开销 。

如果大公司的每个SOA项目投入$250M买我们的中间件的话,那公司(Oracle)将非常乐意,然而这并不属实……

但是随后他的话题集中在John的核心观点上:

任何项目(不论是否是SOA项目)的更大开销是人天。我认为一个基于SOA原则的项目,如果不用任何中间件的话,则是浪费了更多的时间在重新缔造“轮子”,而且这些“轮子”又作为私有框架的一部分必须进行长期维护,而若这些“轮子”是由“游击”顾问留下的话则更糟糕。

来自非集成商群体Steve同意Dave的说法:

+1

产品开销是SOA项目的一大块的说法是不靠谱的。大部分项目的开销相对于产品开销比例一般是10:1,如果项目周期长的话比例会更大,即使是短期项目也至少是4:1或5:1。任何把钱花在版权而不是SOA实现上的人都像提线木偶一样。

来自另一家非提供商公司的Jim给出了一些有趣的事实反驳上面的观点。它讨论了它和它的团队参与实施的一个电信项目:

在我们的第一个项目开始前,客户已经选择了一家可靠的咨询机构对他们将来的架构(每月需完成1亿笔交易)做了分析。咨询公司的结 论是要部署一个总线将现有系统连接起来,任何其他需求也会一并实现。预期的中间件投入是£10M。相对于做大事来说这并不多,但是这£10M不能解决问 题,这仅仅是提供商的(也许将来某天能带来收益的)流程的第一步,但尚无经验数据来支持这种说法。

由于提供商的开销太大,所以为其他选择敞开了大门。因此,使用Agile和“游击”SOA背后的方法,Jim的团队能够……

……在几周内完成对问题的分析,包括用一些简单的数学模型分析了问题域随时间的延伸会产生的问题,以及相应的弥补措施。我们花了 些时间理解如何递增地修改企业架构,使其更早地实现价值,并且我们推荐使用廉价的HTTP服务器,而花在中间件上的成本是£0。重要的是,我们的架构方法 有数据支撑: 我们通过高层设计评估了测试桩(一段简短的用于回答问题的代码)的吞吐率及延时特征,数据显示HTTP及所选的Web服务器能够支撑系统所必须承受的流量。

按Jim的说法,项目会越做越强,最终客户只需要为交付的解决方案支付较少的费用。第一个项目的成功迎来了第二个,第二个项目亦然成功。Jim在结尾时直接回应了Dave的关于人力开销的观点:

十分有趣的是,再回到人力开销和中间件开销的问题上,我们在中间件上无开销,而人力开销大约在£1M左右,这比起£10M的预付赌注来说要好很多。更清晰地表示如下:

产品环境的整体软件开销: £0 (中间件) + £1,000,000 (人力) = £1,000,000

中间件方式的开销: £10,000,000 (中间件) + £? (人力) = > £10,000,000

Steve回应了Jim,这么说:

不知道他有没有考虑到未来5+年的人力的支持开销……

随后它集中在Jim的观点中的数据,特别是中间件产品花费的$10M上面:

[……]如果谁一开始就在中间件上花$10M的话,那么这个人一定是个彻头彻尾的傻瓜。我很难想象会有人会预先在中间件上开支那么多;很难想象哪个公司在公司外那么多钱,那其全年的IT开销一定会超过 $500M。

双方的有趣事实都难以用于下决定(更糟的是,个例不能很好地用作下结论的统计样例)。所有的SOA执行者,不管是否基于提供商,都会深入分析他们的项 目为什么成功或失败,但是出于某些原因又不能暴露这些信息。没有真实独立的数据,永远很难在几种方法之间作出孰优孰劣的判断。然而,Steve还是做了个有趣的总结:

Jim的博文中没有考虑到的一点是在作出 $10M决定的人中一定有白痴,……而现在这里面也许还有我的钱。

争论继续激烈地进行着……

查看英文原文:What Value for Incremental SOA

译者 马国耀 关注企业级应用相关的开发、架构及思想的发展。尤其对Java EE、SOA、ESB和Cloud Computing等领域持有浓厚兴趣。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。