【IT168技术文档】对构建企业面向服务的体系结构(Service-Oriented Architecture,SOA)中间件应用程序感兴趣吗?Judith Myerson将向您提供四种可能的方法:自顶向下(top-down)、自底向上(bottom-up)、旁路(sideway)和嵌入式(embedding),同时帮助您探究每种方法的各种利弊。您还会了解到如何确定中间件应用程序可以支持的共享SOA的最大数目。
引言
在我的关于企业级SOA系列的第一篇文章“在企业级SOA中使用Web服务,第1部分: 使用多重SOA来消除企业系统之间的差异”中,我曾谈及使用SOA消除企业系统差异的场景,展示了如何重用来自一个或多个SOA的Web服务(以数据为中心且具有业务逻辑),以及如何将它们组合到组织控制之下的一个复合应用程序中。
在第二篇文章“在企业级SOA中使用Web服务,第2部分: 使外部Web服务互操作性最优”中,我给出了不引起多重SOA过载的服务互操作性实例,从简单的协议共存到复杂的多平台互操作性。并且您了解了如何更改每个Web服务的服务类型、位置和平台来实现原始应用程序的业务流程。
本系列的第三部分“在企业级SOA中使用Web服务,第3部分: 将您的SOA合并成三维的整合中心以提高速度和可靠性”中,我解释了您可以如何将Web服务和非Web服务的多重SOA合并成单个三维的集成中心来连接到各种后端企业大型机系统。在本文中,我将解释您可以如何使用来自IBM? Rational?软件的开发工具在三维空间中开发企业SOA中间件应用程序。同时您还将了解到如何将Web服务组件组合成跨多重SOA的中间件应用程序,以及如何使用下面四种不同的方法来开发它们:
·自顶向下
·自底向上
·旁路
·嵌入式
让我们首先从物理和逻辑的角度研究每种方法。
逻辑和物理Web服务
物理Web服务即在存储库中所发布和找到的Web服务。创建一个逻辑Web服务后,可以继续将一个逻辑Web服务与另一个物理Web服务组合起来,创建一个新的逻辑Web服务以供使用。之后,您可以将最后得到的逻辑Web服务与另一个物理或逻辑Web服务组合起来。您也可以将逻辑Web服务转换成物理Web服务组件,以在存储库中发布和发现它们。
通过定义中间件应用程序的业务模型和物理Web服务组件的业务模型之间的关系,您可以创建逻辑Web服务的SOA中间件应用程序。为此,您可以使用Rational Software Architect和Rational Software Modeler中的一个或同时使用它们来支持使用统一建模语言(Unified Modeling Language,UML)的模型驱动(model-driven)开发,以及支持分别记录系统的不同视图的UML可视化建模设计。
自顶向下方法
自顶向下方法从Web服务或非Web服务中间件应用程序金字塔(请参见图1)的顶端开始。您需要将其划分成更小的Web服务或组件,在金字塔的每个低层继续这个过程,直到最小的部分或组件到达金字塔的底部为止。系统的所有部分都将顺利地集成在一起并进行互操作。

图1. 自顶向下方法
然而,互操作性可能具有不同的含义,这取决于应用程序的预定用途。例如,如果应用程序是以数据为中心,那么互操作性就是以数据为中心的。但是如果应用程序的主要目标是实现业务流程,那么互操作性就是基于流程的。