
图 2. 代理服务架构
尽管这种架构比起以浏览器为中心的架构已经有了巨大的改进,还可以做得更好。我们已经为Web开发人员提供了一个非常好的环境,但是这很可能为后端系统开发人员带来不便。对远程系统进行身份验证以及数据整理仍然是必要的,但是至少后端程序员应该有更多可使用的工具来迎接挑战。
企业服务总线图3与前面的两幅图又有所不同,因为企业服务总线(ESB)架构是一种逻辑架构。服务可以位于网络上的任意位置,数据源可以被抽象到(可插入到ESB中的)服务中。ESB为后端系统开发人员处理了他们通常必须做的工作,比如服务身份验证、数据转换、协议转换和可靠性特征。ESB可以扩展到带有硬件负载平衡器的计算机集群上,这提供了代理服务架构所具有的优点。

图 3.企业服务总线
为了说明在门户中对Ajax应用程序使用ESB的优点,考虑对于每次Ajax调用都要引用一个Web服务的情况。对于小型门户来说,Web服务的数量可能相对较少,譬如说几十个。但是随着门户的增长,将会引入更多的Web服务。大量Web服务的添加与Ajax没有关系,但是与SOA的实现有着密切的联系。这是一个ESB的经典用例。尽管从严格意义上来说,它对于Ajax实现的操作不是必要的,但是它还是带来了几个好处: