技术开发 频道

SOA的价值:实现敏捷业务

IT168 专稿】    ZapThink研究机构的Ronald Schmelzer这样描述SOA的四个关键效益:

1. 减少集成费用(包括开发成本与维护成本两方面)
2. 提高资产重用(无需每次都为重复内容做工作)
3. 提高业务敏捷性(业务节奏已经改变,但只有极少数企业跟上了节奏)
4. 减少业务风险(包括可操作性与顺应性两方面)

    接下来,我们将逐一研究并解释以上价值的具体内容。

减少费用和风险

    一位风趣的CTO这样说过:“为了应付管理层削减成本的要求,我身上随时揣着一美元……”

    降低成本是压在每个技术企业头上的难题。因此,每种新形式的产生(比如客户端/服务器、Web/n-tier、SOA等)都会受到成本削减政策的挤压。问题是许多企业急于求成,没有采用递增的方式部署SOA,也无法在过程中学习和吸取经验。实际上,如果部署得当,SOA可以减少开发与维护两方面的成本。松耦合与标准接口可以降低集成成本:由于采用了标准协议、数据格式和接口,企业可以减少甚至避免大量传统的集成费用。并且,SOA松耦合的系统集成特性可以减少编写集成逻辑的时间,以及最终对此的维护时间。由于使用标准的Web服务接口,而不是一大堆由不同供应商提供的、需要不同授权的连接器或适配器,许多企业甚至减少了中间件的维护授权费用。

    另一个使SOA降低成本的原因是,它能减小大规模系统和基础设施变化带来的影响。SOA中各种粒度的不同层次既方便了业务过程与系统用例上的变化,又能减少对底层软件的影响。

    通过定义良好的接口和合适的架构分层减少各组件和系统之间的依赖性,使SOA减少了与新方案部署有关的系统维护和开发成本。图1对此进行了很好的解释。在一个标准的企业环境下,各系统之间的集成点是紧耦合的:

* 供应商、平台和/或特定语言的绑定
* 使用面向应用的数据格式
* 直接使用面向应用的API


图1 紧密集成的企业环境

    图1中的各个系统都是直接与其交互的系统连接。有时候,外部合作人员甚至可以直接越过防火墙访问企业内部系统。在这种特殊情况下,企业资源规划(ERP)系统是企业的关键组件(主要用于生产、设计和以产品为中心的业务)。这是整个供应链所依赖的任务关键系统。如果需要对这样一个系统做大规模的改动,不管是升级到新系统或是仅仅更新到下一重要版本,其影响将波及到整个企业。图2反映出这样的连锁效果:它影响到其它系统,甚至外部合作人员的外部系统。


图2 对紧密集成环境的改动会产生可怕的连锁反应

    SOA怎样解决这一问题呢?如果你还记得SOA栈,那么你就会知道企业被这些抽象层隔离起来,因此这些变化不会涉及到接口之外。通过对这些变化的控制,面向服务的架构便能降低开发与维护成本并减少风险。

0
相关文章