如果SOA是答案 那么什么是问题呢?

日期: 2008-07-09 作者:ligang1111 来源:TechTarget中国

  有时候逆向思维更可贵        

  上次受普元公司的邀请去三亚参加了一次SOA技术研讨会,会上bea的司令(俞哥)提到SOA有什么不能适用什么情况,这个问题本身确实就很有哲理,他告诉我们如何逆向地思考一个问题,一种技术。因为SOA本身在China来说还没有全面实施,固然无法现在就在无实施经验的情况下看到它的不足之处,否则就是神了。但我想我们至少应该冷静地去思索思索SOA是用来解决什么问题的,这样我们就能在自身的企业做IT架构决策时提供一点点参考意见。

  前不久,在www.infoq.com上看到一片文章就是思索这个问题,通俗易懂,故将此作者(他是一个业务分析师)的思想加到此处!

  那么到底什么是SOA这个答案的问题的?

  文中给出了三个:

  1)可预见未来的整合问题
  2)未来的组织灵活性(或称“敏捷性”)问题      
  3)不可削减的复杂的IT系统环境

  现在我们先来看前二个问题域。SOA正在努力解决IT基础设施和信息系统前景的当前特性所派生出的信息整合问题。当然如果一个企业,它由于难以相信或可能没有预见到未来的整合问题,如“跨流程”、“跨组织实体”。如果一切IT现状都挺协调,且管理者认为现有的模型足以应对未来若干年的话,那么很明显这种企业无法通过切换到SOA获得好处。

  这里主要讲的还是一个对未来需求的一个前瞻性评估以及管理层的思考模式。同样,这种情形也适用于第二种问题的驱动,如果人们认为企业的未来变化会在一个极小的层面上,且与BPM的三波变迁中讲到的理念有所违背,适应变化的能力并不是竞争性优势的主要来源,那么自然SOA也不能为此种企业带来任何收益。

  但是以上1种或2种情况并不够。还有一个必要条件,那就是第3种情况。很明显,SOA是复杂IT信息系统环境的答案。如果你碰巧只是有一个ERP系统,DWH, 一个CRM工具或其他的归档系统,那么你不在SOA解决的行列中。

  记住,我们是很乐意让追寻有足够复杂度的客户来使用SOA的。有一次,我们来到一个石油企业,它一共有160多个遗留系统来管理数以千计的员工,我们很想说服客户切换到SOA模式。显然,与我们沟通的IT经理目前有极大的整合问题,复杂度显而易见,我们想说服他重构现有应用,提升抽象出“服务层”,利用ESB并在再其上加入相应的BPM引擎。这时,IT主管打断我们,并且说:“我知道我们理解也确实相信你的方法,且我们的环境确实复杂,但我们已经决定将我们的130个系统切换为ERP xyz,经过一定的时间,我们会形成一个适合我们的IT环境,你们还有什么可以做的么?”

  这个时候,我们在复杂度前增加了“不可削减”。如果他们确实有更省钱的可行的方案达到简化IT复杂度的目标,他们可以做,但是记住系统间的断层带来的失败或风险。对于那些无法走简单的旁路解决复杂度的企业来说,SOA是唯一解决不可削减复杂的IT系统环境的解决方案。

  可见,复杂的IT世界中,除了技术还有很多非技术的抉择,如经济学说的“没有对与错的选择,只有做与不做的选择”,至于如何权衡还是要靠事实说话,毕竟事实是检验真理的唯一标准呀!

  原文出处:http://gocom.primeton.com/blog11059_19935.htm

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。