SOA主要目标是业务与IT之间保持一致

我们会经常遇到越来越多的客户要求完成根本不使用SOA的项目,而仅仅在其中实现企业服务总线(EnterpriseServiceBus,ESB)体系结构。此类面向ESB的体系结构并不困难,但是其成功与否却难下定论。要求进行此类项目的客户并不了解这一点:面向ESB的体系结构并不带来业务价值。基于面向ESB的体系结构的项目需要成为基于SOA的项目,才能帮助确保成功地提供业务价值。

SOA基于业务需求。SOA可保持IT与业务的一致性,使IT系统按照业务系统的方式工作,帮助确保IT产生业务价值。有关更多细节,请参见 IBM白皮书“IBM SOA Foundation: An architectural introduction and overview”。

SOA的主要目标是在业务领域与IT领域之间保持一致,从而同时提高二者的效率。

使用IBM产品和服务构建IT系统的IT部门可能对其业务需求了解并不够。对于习惯于精确计划系统将如何工作的工程师,业务工作的方式可能会让人觉得没有计划,是随机的。说明内容看起来不一致,不可行,业务用户的需求似乎不现实,而且总在变。业务需求成了“都市神话”,似乎存在于组织中,但仔细分析却又找不到。

从这个角度而言,将IT与业务保持一致是不现实的。业务部门似乎不知道自己需要什么。其流程对自动化构成了挑战。实现流程自动化的工作没有效果,而且站不住脚。

工程师所了解的是技术。技术并不需要想像的需求列表,仅仅需要代码而已。代码不会抱怨不好用,编译器也不会每天改变自己的需求。代码要么运行,要么不运行。如果今天代码在运行,那么明天它也会运行。

技术对于工程师来说更容易掌握,也让他们觉得比较满意。这也碰巧成为了大多数企业软件公司销售的主要内容。ESB是技术,用于连接到其他技术。

SOA非常复杂,而与此不同,ESB理解起来较为容易。ESB并不需要任何这样的业务需求,仅仅需要技术需求。ESB非常精确,以各项标准为基础:数据格式、连接协议、XML、IP、HTTP、SOAP、JMS、JAX-RPC、JAX-WS等等。SOA可能会永远都处在分析停滞状态,而构建 ESB可以实际完成一些看得见的工作。