技术开发 频道

在企业级 SOA 中使用 Web 服务(1)

    独立 SOA 调用 EAI 应用程序 

    重在关联、链式管理,资源规划的 Web 服务有不同的整合规则(或虚拟的整合集线器),即使它们在整合企业之间的应用程序的过程中可以互相合作。相反,EAI 系统的组件可以通过中间件技术的整合集线器来互相传递信息使得 EAI 应用程序能够同遗留系统、数据库、Web 服务及非 Web 服务进行交互。 

    我们将 SOA 作为实现多重 EAI 应用程序(在防火墙内部及防火墙外部)的业务功能的主要的中间件技术。为了避免 SOAP 开销,限制 Web 服务的数量。同时,避免降低装载由 Web 服务调用的 EAI 应用程序的速度。 

    在独立 SOA 调用多重 EAI 应用程序的场景中,零售商标识符的 Web 服务首先调用了 Retail Management System(请见图 3)。在成功地装载了所应调用的应用程序之后,Web 服务发出了将标识符与名称及地址相链接的请求。 


    图 3: 调用多重 EAI 应用程序的独立 SOA

    然后 EAI 应用程序在数据库中搜索请求的项目。如果找到了名称及地址,那么它就向 SOA 发出信息来将定购数量及价格的 Web 服务添加到复合应用程序中。同时卸载 Retail Management System 来为今后调用其它 EAI 应用程序提供空间。 

    接下来,复合应用程序调用了 Finance Management System,该系统维护 Tax Service 流程规则的数据库。在成功地装载了该 EAI 应用程序之后,定购的数量及价格的应用程序与其相连。高级复合帐单功能就形成了。同时卸载 Finance Management System。 

    多重 SOA 调用 EAI 应用程序 

    现在,我们假设需要两个 SOA 连接两个 EAI 应用程序。在该场景中,我将 Order Quantity 和 Order Description Web Services 结合到第一个 SOA 中。我重复了第三个场景中的流程,调用并装载了零售商标识符的 Web 服务,并且向 Retail Management System(请见图 4)发出搜索请求。在成功搜索完之后,该 EAI 应用程序向 SOA 发出信息来将其添加到复合应用程序中。 


    图 4: 多重 SOA 调用多重 EAI 应用程序

    接下来,复合应用程序调用并向 Order Management System 发出请求来搜索 Pricing Policies 数据库。在成功搜索之后,Order Management System 将其本身与第二个 SOA 中的税务 Web 服务相连接。然后,税务 Web 服务被并入了第一个 SOA 的复合帐单功能中。所有装载及卸载的流程都成功地完成了,没有出现 SOAP 开销问题。 

    有多少 SOA? 

    您用于链接 EAI 应用程序的可用的 SOA 的数量依赖于对项目的复杂性、互用性问题、业务流程及装载性能问题的权衡。同您避免 SOAP 的开销一样,您需确保在整个开发周期中不会出现 SOA 超载问题。您应当在开发的每个阶段都进行超载测试。 

    结束语 

    使用 SOA 来消除企业系统之间的差异需要提前规划,设置需开发的 SOA 的数量限制。您应当同业务分析师及 IT 专家小组对于各种性能问题进行交流。您会发现使用 SOA 来消除 EAI 差异这种方法使您开发应用程序的工作变得更加容易。您可以将来源于一个或更多 SOA 的 Web 服务的业务逻辑结合成一个或更多的复合应用程序。分析师将会发现消除差异使得他们设计及分析 SOA 系统的工作变得更加容易。他们可以确定结合哪些 Web 服务能够达到非常好的的性能,并且不会发生 SOAP 超载的问题。

0
相关文章