语义数据的集成

  如果需要,ESB可以在业务流程中插入一个数据转换引擎,这就使得不同应用之间的数据格式的转化变得非常容易。现在将一种通用的数据格式转换为某一专有的数据格式的服务,如验证(Validate)、丰富(Enrich)、转化(Transform)、执行(Operation)等,已经作为最佳实践出现在市场上。

  在一个面向流程、异步事件驱动的计算环境中,数据转换的方式与点对点的环境是不同的。为了让应用真正实现与其他应用的松耦合,应用之间用来通信的数据必须从原来的专有数据格式转换为一种通用的或者在整个组织内相对规范的数据格式,从而使得所有接入SOA架构中的应用只需关心如何从通用的数据格式转换成自己专有的数据格式或者从专有的数据格式转换为通用的数据格式,至于目标应用究竟需要什么样的数据转换则可以通过ESB根据需要来进行。

  这就极大地降低了把新应用加入到SOA环境时的复杂性,也降低了现存应用之间交互的复杂性。采用这种方法带来的另一个好处是,中间服务(如路由、分离、聚合等)可以按照规范的数据格式来编写,因此,也降低了程序开发的难度。

  尽管普通的映射工具也可以完成从一种数据格式到另一种数据格式的转换,但在应用众多的场合,数据模型非常多而且复杂、同时涉及众多各种不同的应用和数据源,这时此类工具往往缺乏管理这些数据模型之间的映射和相互关系的能力。

  作为ESB的一个补充,语义数据映射工具已经出现,它所针对的正是大规模部署SOA时迫切需要解决的各种数据格式之间的关系问题。与之相比,在进行点对点方式的集成时,人们对每一对需要通信的应用之间的数据转换关系是非常清楚的。

   用ESB来实现SOA

  事件驱动的架构是一种非常适合SOA的体系结构,它作为SOA的一种最佳实践备受关注,而ESB正是将二者联系起来的关键部分。而且,更为关键的是在大型SOA架构中,ESB扩大了集成应用的集成范围,降低了集成的难度,这是以前无法想象的。只是部署和管理企业数据之间不同含义的复杂语义映射还不令人满意,这还是一个需要继续进行研究和不断创新的领域。

  到目前为止,已经有很多企业采用和部署了ESB,但除了ESB外,在规划企业的SOA战略时还有很多需要考虑的。比如,需要运行很多服务,各种平台之间的交互需要保证安全,需要进行管理。幸运的是,只要符合SOA的核心思想,它们通常可以通过Web服务接口接入ESB集成到SOA环境中。