InfoQ

InfoQ

新闻

我的书签

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

该内容已经被标记书签!

标记书签错误,请重试!

再议SOA十大谜思

作者 Boris Lublinsky 译者 黄璜 发布于 2009年11月25日

领域
架构 & 设计,
企业架构,
过程 & 实践
主题
SOA ,
方法论

在Joe McKendrick最近的文章"Gartner:为什么SOA争论双方都有错的十个理由"中,他提到了Gartner的Yefim Natis在ebizQ的"SOA In Action"活动上所作的网播主题演讲中陈述的SOA十大谜思。根据Yefim的说法,SOA的"狂热者"与“怀疑者”都造就了SOA的谜思。狂热者的五大SOA误区是:

  1. 服务是由IT部门创造的并延展到业务。这假定SOA架构师与设计者通过引入新的SOA解决方案而重新创造了业务。根据Yefim的说法,SOA并不是关于重构业务,而是提升
    ...软件设计师与软件架构师更好的建模现实世界的能力.软件并不能解决业务,它更应当是去理解业务。
  2. SOA应用是由预制的组件拼装成的。Yefim注解到:
    虽然面向服务的系统确实包含了封装的组件,或是服务,他们同样还包含了客户端,非面向服务的批处理组件,以及需要连接的遗留系统。
  3. 共享与重用应用逻辑是SOA的主要好处。 尽管许多SOA拥护者试图将SOA包装成重用的圣杯,Yefim却对此有不同的看法:
    ...重用并不是主要的好处,尽管它是面向服务架构的好处之一。还有很多其它的要素,比如使你的内部架构更加可管理,有上佳的扩展性,以及应用在面向服务的情况下运作得更好。
  4. SOA消除了对应用集成的需要。Yefim申辩到,不管SOA基础设施多么高效,始终还是会有企业应用集成的需要。SOA所做的是
    ...为架构引入一致性,以及工具和标准以帮助应用集成。
  5. SOA能减少IT成本。 在Yefim的观点看来,SOA从长期来看或许能减少IT成本,但早期而言
    ...对于SOA的投资实际上花费更多...不是因为SOA更为繁杂,而是因为当你从头开始一件事情时,你必须理解新的方式,培训人员,购买新的工具——这些都是成本。

而怀疑者关于SOA的五大谜思是:

  1. SOA引入了新的复杂性与问题。Yefim注解到:
    ...与部署与搭建面向服务系统相关的问题通常不是SOA本身;它们是分布式计算,或者现代基于网格计算网络的问题..
  2. SOA不是什么新生儿,不过是炒作,新瓶装着旧酒卖罢了。 根据Yefim的说法,当思考SOA的时候,应当超越技术之上(比如RPC):
    SOA是意图处理应用业务功能的业务拓扑,而RPC的意图只是简单的分布应用。
  3. SOA是命里注定的,因为Web服务表现不好。 Yefim的观点认为,将SOA看着是整个基于SOAP的基础之上是SOA的最大误区之一:
    这两者之间并没有什么共通之处,然后人们总是比SOA与SOAP搞混。SOA跟Web服务没什么关系——Web服务只是在客户端与SOA服务之间建立连接性的众多方式之一。
  4. SOA营销受挫是因为业务上看不到利益。 Yefim解释说这取决于层次。随着更多的公司迁移到高级的SOA,业务利益会愈加明显:
    事件驱动的SOA有着非常重要的组件,能带来直接的利益,对于业务运作有明确的利益,对于任何想要对整体IT信息环境获得掌控或者想要构建状况感知的企业来说都有利益。
  5. SOA过时了,我们应当继续前进。根据Yefim的说法,SOA正在丧失对于分析师的吸引:
    基本SOA不再有什么能激起兴趣的了。我们知道如何去做,它不再像以前一样那么多被提及,[但是]你要往哪里前进呢?你能找到的SOA的唯一替代就是更高级形式的SOA。

也许你不同意Yefim的阐释,但他算是抓住了SOA一些误区的要点所在。

查看英文原文:The Top 10 SOA Myths Revisited

译者 黄璜 糊口靠的是Java Web,赶过SOA的潮,追过Cloud的风,真正欢喜的是Linux,向往的事情是研究网格计算。

深度内容

应用云平台的可用性——从新浪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

特性注入:成功三部曲

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

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。