使用使用UML服务组件表示服务组件表示SOA体系结构模式体系结构模式
作为一位架构师,您常常面临来自客户企业架构师和 IT 利益相关者的询问,他们要求您用非专有的、与产品无关的方式,清
楚地说明面向服务的体系结构 (SOA) 模式和服务组件。在本文中,使用统一建模语言(Unified Modeling Language,UML)模
型来描述 SOA 体系结构模式及其相关的服务组件。您还将在行业标准的 UML 格式上下文中,了解有关 SOA 模式服务组件的
内容,以帮助利益相关者更好地了解组成 SOA 的服务组件。
引言
如果您需要以一种逻辑格式来表示面向服务的体系结构 (SOA),以便利益相关者可以更好地使用各种构件,在他们的体系结
构和设计工作中利用 SOA 统一建模语言 (UML) 组件,那么本文可以为您提供相应的帮助。了解如何利用 SOA 体系结构模式
的服务组件(采用 UML 节点的形式)以创建 SOA 场景。以一种与产品无关*的方式了解 SOA 模式及其相关联的服务,其中使用
UML 表示 SOA 的组件、连接以及与 SOA 体系结构模式的交互。
逻辑 SOA 参考体系结构
在图 1 中,采用一种与 UML 产品无关的方式表示 SOA 模式。在它最简单的形式中,SOA 模式由分离的企业服务总线
(Enterprise Service Bus,ESB)组成,该总线可以连接请求者和提供者,并在它们之间提供交互的服务。
图 1. 逻辑 SOA 参考体系结构
这个 SOA 模式由 ESB 基础结构、服务交互点 (SIP) 或端点组成,如表 1 所示。
ESB 用作 SOA 模型的连接入口点,并且提供了下列服务:
请求和响应服务
转换
基于内容的路由
自定义的日志记录
优化
监视
ESB 还提供了各种服务的通用连接和虚拟化。为了满足最新业务应用程序的需求,ESB 充分利用了服务组件体系结构 (SCA)
编程模型。
在图 2 中,您可以看到,ESB 支持最新的 SCA 编程模型,并提供了一个缺省的消息传递引擎,该引擎构建于 Java Message
Service (JMS) 规范的基础之上。这个 ESB 使用了一个中介组件(模块),该组件基于 SCA 模块,以便为服务请求者和服务提