集成 AquaLogic BPM Suite 6.0 和 AquaLogic Service Bus

作者:Alex Toussaint 
07/11/2007

摘要

AquaLogic BPM Suite 6.0(ALBPM)已于 2007 年 7 月发布。自从 ALBPM 5.5 问世以来,便赋予了客户集成和使用 AquaLogic Service Bus(ALSB)的能力。在本文中,我们将介绍其中的一些特性,这些特性在 ALBPM 和 ALSB 之间对工作进行优化,使集成更加快速、无缝和透明。

简介

最新的 AquaLogic BPM Suite 6.0 引入了一些全新的特性,用于改进业务效率和企业可伸宿性。新特性的完整列表将于下月产品发布时如期公布。此处列出了其中一些主要特性:

  • 基于 Eclipse 的新版 AquaLogic BPM Studio(新版本的示例请参见图1)
  • 基于 JSF 的新版本 AquaLogic BPM WorkSpace
  • 支持 BPEL 2.0 和 XPDL 2.0
  • 支持增强的业务规则
  • 新的决策活动
  • 针对 JSF、ALUI 和 RSS 的新 WorkSpace 扩展
  • 与 AquaLogic Service Bus 的优化集成
  • AquaLogic Service Bus 的双向自定义传输
  • 支持 WS-Security User Name Token Profile
  • WebLogic Server 的新配置向导
  • 改进了 Engine 和 Projects 的 J2EE 开发
  • 增强了一些可用性

本文将主要介绍与 AquaLogic Service Bus 的集成工作。以下列出了它的三个主要目标:

  • 使服务的使用和公开绝对简单
  • 提供内在的身份验证机制,供总线使用
  • 通过自定义传输改进通信性能

实现这些目标后,集成将允许在这些产品之间更加无缝地工作。将智能路由和总线管理与业务流程无缝地结合在一起的能力对于服务编排(orchestration)至关重要(参见图1)。

New AquaLogic BPM Studio on Eclipse
图 1. 基于 Eclipse 的新版 AquaLogic BPM Studio

本文其余部分将结合实际操作展示这些改进。

无缝集成

在 ALBPM 6.0 中,我们可以轻松地与 ALSB 2.6 的实例建立连接,如图 2 所示。该产品引入了一个新的内省向导,该向导允许用户将这两个产品连接在一起,整个过程超不过几秒钟。只需一些单击操作,我们便能够与总线建立连接,并获得对其所有代理服务的访问权限。

Connect to the Service Bus
图 2. AquaLogic Service Bus 提供的内省向导

再也不用登录总线控制台获取所有可用服务的列表了。用户也不用为操作WSDL文件和试图猜测某个具体服务的 URL 而费尽心思了。所有这一切都可以通过 AquaLogic BPM Studio 环境直接获得,如图3所示。

Select Services from the AquaLogic Service Bus
图 3. 用户可以浏览所有的项目和可用的服务

选择某个服务后,该服务便会成为 ALBPM 目录的一部分。然后,该服务可能需要的任何业务流程都可以轻松地使用该服务。图 4 显示了通过一个业务流程调用ALSB 2.6的示例项目中的 LoanGateway 服务。

Easily Calling Services from the Bus
图 4. 可以通过 ALBPM 轻易的调用内省服务

另一方面,创建一个业务流程之后,可以快速将其作为服务公开并使用总线进行注册。这可以直接通过 AquaLogic BPM Studio 来完成,如图 5a 所示。

Register Services from ALBPM Studio
图 5a. 直接通过 AquaLogic BPM Studio 在 ALSB 中注册服务流程 —— 开发时

还可以通过 AquaLogic Process Administrator 完成该过程,如图 5b 所示。

Register Business Processes with ALBPM Runtime
图 5b. 通过 AquaLogic BPM Process Administrator 在 ALSB 中注册业务流程 —— 运行时

使用 ALSB 注册了一个流程之后,则该流程会出现在 Project Explorer 中,如图 6 所示。不同的用户也可以使用最近公开的服务。再说一次,我们的主要目标是通过 ALBPM 轻松方便地在 ALSB 中添加服务和从其中获取服务。所有必须的管理 WSDL 的基础架构和注册流程都是自动完成的,因此用户可以专注于需要解决的业务问题。

 

Register Process with the Bus
图 6. 通过 ALBPM 注册的新服务显示在 ALSB 中

发布一个业务流程后,就可以在 AquaLogic BPM Workspace 中使用它了,如图 7 所示。这是业务用户与其流程交互的基于 Web 的入口点之一。在本例中,一个业务流程调用了 ALSB 2.6 内部的示例贷款流程。服务是业务流程的一部分,并且可以直接通过工作空间调用而不需要复杂的交互或对总线基础架构有任何了解。

Business Process Calling Services
 图7. 通过 ALSB 在 ALBPM 中调用业务流程

在 ALBPM 和 ALSB 之间交互服务的能力对于编排至关重要。用户可以利用 XPDL 2.0 和 BPEL 2.0 建立业务流程的模型,并且只需一些点击操作便可以调用服务并将业务流程注册为服务。

内部安全性

ALSB 中的大多数身份验证请求都是通过 WS-Security Username Token Profile 发起的,如图 8 所示。ALBPM 6.0 发行版提供对 WS-Security 的内部支持。这使业务流程能够与 ALSB 之间可以相互直接通信,通过公共格式交换凭证。因此不需要更换凭证类型来相互匹配格式。ALBPM 6.0 的后继版本将基于用户需求开发一些其他的标记(token)功能。

WS-Security User-Name-Token
图8. User Name Token配置

更快的通信

ALSB 2.6 提供了一个新的传输基础架构,使其他应用程序能够使用总线定制通信。新版的 ALBPM 为 ALSB 同时提供了入站和出站传输功能。除了对传输时间的性能改进之外,还加入了事务传播和交换更加复杂的安全上下文等新功能。

图 9 显示了用户如何选择 ALSB 的入站传输类型。基于 T3 协议通信的远程调方法(RMI)比传统的 Web services 请求更加快速,这使 ALSB 受益颇丰。

From AquaLogic BPM Suite
图9. 在 ALSB 中选择传输类型

图 10 显示了用户如何在 ALSB 中配置出站传输类型。对于可能需要调用使用 ALSB 注册为服务的业务流程的应用程序来说,优化的通信传输也将使其受益匪浅。

Custom Transport from Service Bus
图 10. 在 ALBPM 中选择传输类型

这两种产品之间的通信性能将继续得以优化。未来的发行版将着眼于在各流程调用中实现更快的吞吐量和最小化的延时。当 ALSB 和 ALBPM 安装在同一台机器上时(利用相同的 JVM),使用自定义传输类型可以在两者之间获得更佳的通信性能。在某些情况下,性能提升可以达到百分之三十。在相同的JVM中使用自定义传输类型可以绕过常规通信所需的套接字(socket)和串行化(serialization)。ALBPM 和 ALSB 也可以分别部署,不过其性能将由网络性能决定。

总结

AquaLogic BPM Suite 6.0 提供了一些激动人心的新特性。其中包括与 AquaLogic Service Bus 的优化集成。这些集成特性包括:能够使用 ALSB 直接注册和调用服务,而不需要处理 WSDL;通过 WS-Security Username Token Profile 可以提供内部安全性;新的定制传输功能能够改进这两种产品这间的通信性能。用户将能够在ALBPM中更加轻松地使用编排功能,并且还将从 ALSB 中所有的管理、路由和 SLA 功能中受益。

Alex Toussaint 是 BEA Systems 公司的高级产品经理。他在 AquaLogic BPM 团队中负责产品开发和策略。