使用UML服务组件表示SOA体系结构模式(图)
作为一位架构师,您常常面临来自客户企业架构师和 IT 利益相关者的询问,他们要求您用非专有的、与产品无关的方式,清楚地说明面向服务的体系结构 (SOA) 模式和服务组件。本文可以向您提供一些帮助。
ESB 用作 SOA 模型的连接入口点,并且提供了下列服务:
• 请求和响应服务
• 转换
• 基于内容的路由
• 自定义的日志记录
• 优化
• 监视
ESB 还提供了各种服务的通用连接和虚拟化。为了满足最新业务应用程序的需求,ESB 充分利用了服务组件体系结构 (SCA) 编程模型。
在图 2 中,您可以看到,ESB 支持最新的 SCA 编程模型,并提供了一个缺省的消息传递引擎,该引擎构建于 Java™ Message Service (JMS) 规范的基础之上。这个 ESB 使用了一个中介组件(模块),该组件基于 SCA 模块,以便为服务请求者和服务提供者之间的消息提供中介。从而可以定制 ESB 中的中介服务,以形成复杂的中介模式,这种中介模式采用与具体位置和标识无关的方式来实现虚拟化。它们还可以提高服务质量 (QoS) 需求,如性能、消息的加密/解密,以及可靠且安全的内容交付及事务。

图 2. 企业服务总线
这个中介组件由以下三个组件组成:
消息模型
以正在考虑的消息的元模型为基础(ESB 应该能够支持服务提供者和服务请求者之间的、不同类型的消息模型流,从而创建一个与消息-模型无关的交换。)
包含一些接口,用以调用中介流,以便在服务请求者和服务提供者之间执行中介,并提供对外部服务的引用(中介流支持以下几种中介模式:监视器、修改器、验证器、缓存、路由器、发现克隆等等。)
通信协议
提供对不同通信协议的支持,如 MQ、Java Message Service (JMS)、HTTP 和远程方法调用 (RMI),以连接服务提供者和服务使用者(这些通信协议支持多种交互模式,如请求/响应、发布/订阅、同步/异步。)
ESB 使用服务注册中心和存储库组件作为动态查找机制,以提供关于服务端点的信息。因此,注册中心和存储库服务可以优化对服务元数据的访问,以及服务交互和策略的管理。它还支持其他标准的注册中心和存储库的集成和联合。在其最基础的状态下,它是由服务元数据构件文档组成的,如 XML 模式定义语言 (XSD) 或者 Web 服务描述语言 (WSDL) 文件。通过服务存储库存储并管理这些服务元数据文件。交互服务
这些交互服务节点可以作为用户的 SOA 入口点。这些交互服务为 SOA 提供表示层,其中对相关的接口进行
了抽象,并聚合了最终用户和 SOA 应用程序之间的各个信息源。
- 本文关键词:

