BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Mark Little 关注 14 他的粉丝 ,译者 马国耀 关注 1 他的粉丝 发布于 2009年11月3日. 估计阅读时间: 6 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

在最近一片文章中,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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT