IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere  >

WebSphere Business Integration Server Foundation V5.1 的企业服务总线功能

本文指导如何使用 ESB 将 WebSphere Business Integration Server Foudation 整合为面向服务的体系结构。

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Martin Keen (mkeen@us.ibm.com), ITSO WebSphere 和电子商务模式专家, IBM

2004 年 12 月 01 日

企业服务总线(ESB)功能映射到 WebSphere Business Integration Server Foundation V5.1 的功能,这使架构师能够评估如何使 IBM 产品成为面向服务体系结构(SOA)中的组件。尽管 WebSphere Business Integration ServerFoundation 是一种流程集成技术,但是在系统内部嵌入了 ESB 功能。

概述

本文提供了 IBM® 红皮书, 模式:使用 Enterprise Service Bus 来实现 SOA,SG24-6346 第 5.3 节的附加信息,将 Enterprise Service Bus(ESB)的能力映射到目前的 IBM 产品。特别是描述了 WebSphere Business Integration Server Foundation V5.1 中的 ESB 功能。





回页首


IBM 目前的技术和 ESB

图 1 为 IBM 的业务集成参考体系结构,可以将以下用于实现 ESB 的产品作为面向服务体系结构的一个组成部分:

  • WebSphere MQ
  • Web Services Gateway(WebSphere Application Server Network Deployment 的一部分)
  • WebSphere Business Integration Event Broker
  • WebSphere Business Integration Message Broker

图 1. IBM 业务集成参考体系结构
屏幕显示范例

在此参考架构中,WebSphere Business Integration Server Foundation 可以用于实现流程服务,编排 ESB 提供的服务。我们应该意识到这种技术本身就包含了 ESB 功能。该技术的确需要基本的 ESB 功能,例如协议管理等,并且需要提供其他功能,如转换功能。 因此从定义上分析,任何的流程服务技术都应该提供某些级别的 ESB 功能,并附带流程整合功能。WebSphere Business Integration Server Foundation 既实现了流程服务,也实现了 ESB 功能。例如,在 WebSphere Business Integration Server Foundation 中包括了 WebSphere MQ,WebSphere Business Integration Event Broker 和 Web Services Gateway。

此红皮书提供关于 WebSphere MQ、WebSphere Business Integration Message Broker 和 Web Services Gateway 针对 ESB 功能的详细分析,并且指导用户如何实现 ESB。IBM 推荐使用这些组件来实现 ESB。 但是,作为定义解决方案架构工作的一部分,企业组织应该还要考虑其他 IBM 组件的 ESB 功能。

对于某种特定解决方案,嵌入到 WebSphere Business Integration Server Foundation 的 ESB 功能将会满足多种需要,理解这一点很重要。在 SOA 系统中,这些功能将会与流程整合功能连同在一起。采用这种方法的原因如下:

  1. 企业资源有限,并且不能负担流程整合引擎和 ESB 所需要的技术,这种情况包括正在进行中的维护和环境支持。
  2. 企业的需求可以由更简单的基础架构来实现,而这种基础架构只通过使用简易技术就可以实现,这样将会减少系统运行需要的资源。
  3. ESB 在小型组织或者组织的分部中实现,这些组织中软件总量与服务数量不成比例。
  4. 虽然 ESB 不能特定的包含业务流程逻辑或管理业务状态,但是它可以包含流逻辑,并将其作为中介的一部分。业务流程逻辑和管理业务状态都是流程服务组件的特性。但是 WebSphere Business Integration Server Foundation 能够在不管理业务状态的情况下执行流逻辑。

值得注意的是 WebSphere Business Integration Server Foundation 主要集中来提供流程服务需求的解决方案。在没有经过慎重考虑之前,本文不提倡使用这种产品来执行 ESB 功能。它仅是提供了这种针对 ESB 的产品性能分析。

在使用多架构组件的通用技术(本文中是 ESB 和流程服务)时,必须应用重要的架构原则。在定义的 ESB 中介和流程流之间必须要有清晰的接口,例如 WSDL 定义。因此系统中既会存在用于 ESB 的流程流也存在介质流,他们互相独立,只能通过定义的接口被访问。如果在组件之间没有构造或者实现清晰的接口,那么将不能获得在 SOA 中使用 ESB 的益处,从而导致维护费用剧增,系统失去灵活性。

在 WebSphere Business Integration Server Foundation 中采用这种原则需要仔细设计业务流程。为 WebSphere Business Integration Server Foundation 构建的业务流程将使用 Web 服务业务流程执行语言(BPEL4WS) 开放标准。单从其名称就可以很明显看出,BPEL4WS 可以用来模拟业务流程流逻辑。BPEL4WS 和这种标准的 IBM 扩展也可以应用来实现中介逻辑。业务流程流和中介逻辑应该谨慎的分为不同的 BPEL4WS 流程。每一个 BPEL4WS 流程可以用一个 WSDL 接口来描述,能够与 Web 服务、JB 或者 JMS 捆绑一同使用。这将允许在业务流逻辑和中介逻辑之间存在松散耦合,这种松耦合方法允许部署多个 WebSphere Business Integration Server Foundation 实例。一个实例可以执行业务流程流,同时另一个实例执行中介逻辑。





回页首


企业服务总线功能

下面的表格取自 IBM 红皮书的第 4.3 章, 模式:使用 Enterprise Service Bus 来实现 SOA,SG24-6346,企业服务总线功能分类。

表 1. ESB 功能分类

通信 服务交互
  • 路由
  • 寻址
  • 协议和标准(例如 HTTP,HTTPS)
  • 发布/订阅
  • 请求/ 响应
  • Fire and forget,事件
  • 同步和异步消息传递
  • 服务接口定义(WSDL)
  • 服务实现的替代
  • 通信和集成业务所需要的服务消息传递模型(例如 SOAP,XML 或者 Enterprise Application Integration 模型)
  • 服务目录和发现
集成 服务质量
  • 数据库
  • 遗留系统和应用程序适配器
  • 企业应用程序集成中间件的连接性
  • 服务映射
  • 协议转换
  • 数据压缩
  • 应用程序服务器环境(例如 J2EE™ 和 .Net)
  • 服务调用的语言接口(例如 Java™,C/C++/C#)
  • 事务(原子事务,补偿,Web 服务事务(WS-Transaction))
  • 各种确定的交付范例(例如 Web 服务可靠消息传递(WS-ReliableMessaging)或者支持企业应用程序集成中间件)
安全性 服务级别
  • 身份验证
  • 授权
  • 不可抵赖性
  • 机密性
  • 安全标准(例如 Kerberos 和 Web 服务安全性(WS-Security))
  • 性能
  • 吞吐量
  • 可用性
  • 其他可以构成契约或协定基础的持久评估方法
消息处理 管理和自治
  • 编码的逻辑
  • 基于内容的逻辑
  • 消息和数据转换
  • 消息/服务聚合及相互关系
  • 有效性
  • 中介
  • 对象标识映射
  • 服务/消息聚合
  • 存储和发送
  • 管理能力
  • 服务提供和注册
  • 日志
  • 测量
  • 监控
  • 系统管理和管理工具的集成
  • 自监控和自管理
建模 基础架构智能
  • 对象建模
  • 通用业务对象建模
  • 数据格式库
  • 业务到业务集成的公共与私有模型
  • 开发和部署环境
  • 业务规则
  • 策略驱动的行为,特别是对于服务级别、服务功能的安全和质量(例如 Web 服务策略(WS-Policy))
  • 模式识别





回页首


功能映射概要

下面的表格汇总了 WebSphere Business Integration Server Foundation V5.1 中对 ESB 功能的支持。

表 2. 功能映射概要

ESB 功能 WebSphere Business Integration Server Foundation V5.1
通信强大
集成强大
安全性相当强大
消息处理中等
建模中等
服务交互强大
服务质量相当强大
服务级别中等
管理和自治相当受限
基础架构智能受限





回页首


用于 WebSphere Business Integration Server Foundation V5.1 的 ESB 功能评估

这里有与 ESB 相关的 WebSphere Business Integration Server Foundation V5.1 功能。

通信

  • 引入的请求能够路由到外部伙伴链接。
  • 支持使用 HTTP 上的 Web 服务 SOAP、JMS 上的 SOAP 以及 IIOP、Java、JMS 上的 SOAP 来进行通信。
  • 支持基于事件的调用。
  • 为流程和活动接口提供同步和异步支持。

服务交互

  • WSDL 接口是为每个 BPEL4WS 流程和 BPEL4WS 流程中的每一个行为定义的。
  • 伙伴链接在部署时被捆绑在一起,因而可以在不改变流程结构的条件下替换服务供应者。
  • 为 UDDI 注册提供支持。

集成

  • 支持将 J2EE 连接器架构资源适配器连接到企业信息系统,例如 CICS Transaction Server 和 IMS。
  • 正如在 WSDL 定义中用捆绑设置来定义一样,支持多种传输。
  • 可以使用并行流程路径和数据映射完成服务集合。

服务级别

  • 流程可以包括多线程的并行执行路径。
  • 可以使用 WebSphere 群集技术衡量多个服务器实例。

服务质量

  • 能够一直持续业务流程实例,并能够在服务器重启或者崩溃时不受影响。
  • 业务流程能够利用 J2EE 事务支持。
  • 可以使用补偿措施来弥补已经提交的业务流程,或者用来补偿那些因为具有非事务本性而不能回滚的活动。
  • 支持用 WebSphere MQ 实现的 JMS 传送确定的消息。

安全性

  • 标准的 WebSphere J2EE 安全性支持。
  • 通过可插入式用户注册表来辨别角色,从而设置流程级授权。

消息处理

  • XML 消息结构能够使用 XSLT 模式传送。
  • 消息和数据结构能够使用 Java 代码片断实现转换、聚合、关联和验证。
  • 如果没有所需要的数据转换,数据结构中的元素可以通过指派活动进行填充。

管理和自治

  • 业务流程 Web 客户端提供了对业务流程模板和实例的完整的管理。
  • 可以在业务流程 Web 客户端中监控流程实例,或者使用业务流程引擎 API 来监控。
  • 在管理控制台中提供与服务器相关的管理。
  • 流程接口能注册在目录中,例如 UDDI。
  • 提供了日志和跟踪功能。

建模

  • 广泛支持多种数据格式,包括 SOAP。
  • 由 WebSphere Studio Application Developer Integration Edition 提供开发和部署环境。

基础架构智能

  • 业务规则 Bean 支持允许运行过程中业务规则在没有修改和重新部署流程的情况下动态改变。





回页首


结束语

本文分析了 WebSphere Business Integration Server Foundation 中的企业服务总线功能。通过使用该功能,IT 架构师可以使用当前的 IBM WebSphere 软件在面向服务体系结构上下文中构造解决方案来满足业务需求。





回页首


致谢

如果作者没有和以下人进行讨论,那么本文是不可能完成的,他们中的所有人都为本文贡献了很好的意见和想法:Chris Nott、Jonathan Adams、Amit Acharya、Susan Bishop、Alan Hopkins、Sven Milinski、Rick Robinson、Mark Tomlinson、Kareem Yusuf 和 Richard Johnson。



参考资料



关于作者

作者照片

Martin Keen 是 Raleigh Center 国际技术支持组织的 IT 咨询专家。他撰写了相当广泛的科技文章,内容包括 WebSphere 产品、电子商务模式和企业服务总线等方面,同时还在世界范围内教授关于 WebSphere 和业务流程管理的 IBM 课程。Martin 加入 ITSO 之前在英国 Hursley 的 EMEA WebSphere Lab Services 工作组工作。Martin 在南安普敦高等教育学院获得计算机学士学位。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款