转载

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

简介

如果业务流程包含从 Business Process Modelling Notation (BPMN) 向 Business Process Execution Language (BPEL) 传输信息的活动,可集成 IBM BPM Advanced 与 IBM MobileFirst Platform Foundation。这样,流程参与者(业务用户)就无需坐在计算机前面。他们可触发来自移动设备的请求并调用一个业务流程,这是一种实现同样结果的轻松方式。

试用 Workflow 服务

创建长期运行、有状态的工作流,通过与 来自 Bluemix 的 Workflow 服务 进行同步或异步的事件驱动交互来精心编排任务和服务。免费试用!

本教程将介绍一个业务用例,该用例定义了一个混合 MobileFirst 应用程序、IBM Process Designer 中以用户为中心的 NPMN 和 IBM Integration Designer 中以系统为中心的 BPEL 之间通过高级集成服务 (AIS) 进行的交互。

本教程中使用的解决方案展示了业务用户如何从移动设备发送请求,并通过 SSL 集成来在 IBM Business Process Manager 中创建流程实例。成功创建流程实例后,流程实例 ID 会返回到移动设备供引用。因为涉及到人类活动,所以业务用户使用 IBM BPM Process Portal 声明流程实例。在仅涉及系统活动时,不需要人为干预,业务流程会在从移动设备收到请求后自动完成。

范围

本教程适合熟悉以下产品的中级及以上等级的读者:

  • IBM BPM Advanced V8.5.X,包括 IBM Process Designer 和 IBM Integration Designer
  • IBM MobileFirst Platform Foundation V6.3
  • Eclipse Juno V4.2.2
  • Android SDK 5.0.1 (API 21)

集成步骤概述

本教程通过一个示例来演示集成技术,开发了一个概念证明解决方案来探索如何将 IBM BPM Advanced V8.5.X 与 IBM MobileFirst Platform Foundation 集成。该解决方案已经过测试,本教程中包含结果的屏幕截图。使用 IBM BPM Advanced V8.5.5 创建的解决方案将兼容后续的 IBM BPM Advanced V8.5.X 版本,也将兼容所有 IBM BPM V8.5 版本。

首先,创建一个独立的 Process Center 配置文件来用于开发环境。对于测试和生产环境,创建一个 Process Server 并使用它来部署应用程序。

然后获取一个 HTTPS Web 服务的访问权,该服务由业务流程定义 (BPD) 公开,并由检查 ssl.keystore.path、ssl.keystore.type、ssl.keystore.password.worklight.properties 文件控制。本教程概略地解释了 SSL 访问。

混合 MobileFirst 应用程序与 Process Center 中的 BPD 公开的入站 Web 服务通信。BPD 公开的入站 Web 服务始终是 HTTPS Web 服务,使用了 SSL。正因如此,它需要将 .cer.crt 文件转换为密钥库,然后导入证书并将其添加到 cacerts 信任库中。cacerts 文件是一种信任库。它用于通过公钥和私钥技术来验证请求。术语“cacerts”代表一个存储 Java™证书颁发机构 (CA) 证书的信任库。

本教程将执行以下步骤:

  • 通过 SSL,使用 HTTP 适配器集成 IBM BPM Advanced V8.5.5 与一个使用 IBM MobileFirst Platform Foundation V6.3 开发的混合 MobileFirst 应用程序。
  • 生成 SSL 证书,创建一个密钥库,并将它们添加到 cacerts 信任库。
  • 将 cacerts 信任库添加到 worklight.properties 文件,以与 Process Center 中的 BPD 公开的 Web 服务通信。
  • 编排 BPMN 并通过高级集成服务连接 BPEL。
  • 在开发环境中创建一个独立的 Process Center 配置文件,在 IBM BPM Advanced V8.5.5 中发布和部署业务流程应用程序和服务组件架构 (SCA) 应用程序。一个优势是有一个 Java 虚拟机运行,这会让低内存系统受益。
  • 在 IBM MobileFirst Platform Foundation 中创建和部署 HTTP SOAP 适配器。

示例代码可从 “下载” 部分的code_sample.zip文件解压获得,其中包含以下工件,它们作为本教程的概念证明已经过测试。

  • 一个混合 MobileFirst 应用程序项目交换压缩文件
  • 一个独立的 Process Center 配置文件属性文件
  • 一个流程应用程序 .twx 文件

架构

图 1 中的总体集成图显示了混合 MobileFirst 应用程序、部署在 IBM MobileFirst Platform Foundation 中的 HTTP 适配器,以及 Process Center 中的 BPD 所公开的 Web 服务之间的通信模式。BPMN 通过高级集成服务连接 BPEL。

IBM BPM Advanced 构建于 IBM WebSphere Application Server Network Deployment 之上,本教程将介绍创建独立的 Process Center 配置文件的优势。

图 1 显示一个混合 MobileFirst 应用程序向 HTTP SOAP 适配器发送请求。HTTP SOAP 适配器部署在 IBM MobileFirst Platform Foundation 中(一个 IBM Liberty 单节点模板)。HTTP SOAP 适配器向 Process Center 所公开的入站 Web 服务发送 SSL 请求。该 Web 服务返回一个响应,该响应在一个混合 MobileFirst 应用程序中转换为 Java Script Object Notation (JSON)。该图显示了正常运行的 IBM MobileFirst Platform Foundation 和独立 Process Center 服务器的本地设置。

图 1. 总体集成图

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

点击查看大图

关闭 [x]

图 1. 总体集成图

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

IBM BPM Advanced

业务流程管理是检查组织的现有业务流程、实施改进来让工作流更有效和更高效的系统化方法。每个组织都使用业务流程来完成工作。业务流程是一组业务活动,它们代表着实现一个业务目标所需的步骤。业务流程常常需要内部活动和必须由人类执行的活动的组合。因此,可将业务流程管理视为人员、流程和技术之间的交集。业务流程管理方法是迭代式的,因为您会定期设计、建模、创建、模拟、监视和优化流程。您从流程的测试和监视活动中收到的反馈,会推动您组织工作流的持续改进。

Process Center 存储库包含所有 IBM BPM 资产。高级资产是流程应用程序、工具包、专题 (track) 和快照。业务分析师和集成开发人员都为同样的流程应用程序和工具包做出贡献。Process Designer 贡献业务流程和数据类型。Integration Designer 贡献模块、库和 BPEL 业务逻辑。

回页首

使用 BPMConfig 工具创建独立的 Process Center 配置文件

独立 Process Center 配置文件的优势在于,使用单个配置文件来分别发布和部署流程应用程序和 SCA 应用程序。独立 Process Center 配置文件可使用 BPMConfig 命令行工具创建,提供配置文件属性文件作为参数。下一节将详细介绍如何创建一个独立的 Process Center 配置文件。屏幕截图显示要成功创建一个配置文件,需要设置的关键属性和需要执行的命令。

您可采用自顶向下的方法或自底向上的方法来进行创建、发布和单元测试,让一个服务器配置文件(或一个 Java 虚拟机)在本地机器上运行。如果拥有低内存系统,可采用独立 Process Center 方法,因为这有助于存储和测试在 IBM Process Designer v8.5.5 和 IBM Integration Designer v8.5.5 中创建的流程应用程序和工具包。

对于自顶向下的方法,可在 Process Designer 中创建包含接口和业务对象的工具包或流程应用程序,这些接口和业务对象可导入实现业务逻辑的 IBM Integration Designer 中。此方法通常由利益相关者和业务分析师执行。

对于自底向上的方法,通常由开发人员和架构师使用,用来创建、实现和测试 SCA 模块。在 Process Center 透视图中将该工具包或流程应用程序导入到 IBM Integration Designer 中。然后 SCA 模块可与流程应用程序或工具包关联。

独立的 Process Center 配置文件能够部署流程应用程序和 SCA 应用程序。安装 IBM BPM Advanced V8.5.5 二进制文件。 BPMConfig 命令行工具获取配置文件属性文件作为参数,成功地创建一个独立的 Process Center 配置文件。完成以下步骤:

  1. 从命令提示符运行以下命令,创建一个独立的 Process Center 配置文件: BPMConfig.bat – create – de standalonePC.properties
  2. 在该属性文件中,为您的项目设置值。下面的示例属性文件中给出了成功创建配置文件所需设置的键值。根据您本地设置的需要替换合适的值。

    bpm.de.authenticationAlias.1.name=DeAdminAlias

    bpm.de.authenticationAlias.1.user=admin

    bpm.de.authenticationAlias.1.password=admin

    bpm.de.authenticationAlias.3.name=BPM_DB_ALIAS

    bpm.de.authenticationAlias.3.user=admin

    bpm.de.authenticationAlias.3.password=db2admin

    bpm.de.node.1.hostname=gnagalingam

    bpm.de.node.1.installPath=C:/BPM/WebSphere/AppServer

    bpm.de.node.1.profileName=procCtr1

    bpm.de.node.1.server.db=ProcessServerDb,SharedDb,PerformanceDb

    bpm.de.db.2.hostname=gnagalingam

    bpm.de.db.2.portNumber=50000

    bpm.de.db.2.sqlServerWinAuth=false

回页首

在 IBM MobileFirst Platform Foundation 中设计和配置一个混合 MobileFirst 应用程序

IBM MobileFirst Platform Foundation(以前称为 IBM Worklight)帮助企业实施其移动战略。它提供了一个开放的综合性平台,该平台不仅可构建,还可测试、运行和管理您的原生、混合和移动 Web 应用程序。IBM MobileFirst Platform Foundation 包含以下组件:

  • IBM MobileFirst Platform Studio 提供了领先的移动应用程序开发工具,可帮助最大化代码重用和加速开发。
  • IBM MobileFirst Platform Server 是一个移动优化的中间件,可用作应用程序、后端系统和基于云的服务之间的网关。

业务价值主张

企业应用程序集成 (EAI) 提供了一个开放、可扩展的框架来连接企业内和企业之间的应用程序。EAI 解决方案可通过开放的消息传递功能、开放排队功能、开放的开发工具、适配器(应用程序、Web、电子商务、通信、遗留、通用适配器),以及数据标准(XML、EDI、HL7、Swift),确保跨所有主流平台的合规性和互操作性。在 EAI 框架内,Web 服务集成同时存在于适配器和业务流程级别。适配器提供了通信和数据转换功能,有助于快速集成到套装的、遗留的和自定义的应用程序中。任何这些应用程序进而可访问 Web 服务,或者由 Web 服务通过 Web 服务 SOAP 适配器来调用,进而为这些现有应用程序提供支持。该适配器完成将现有系统映射到 Web 服务接口的艰巨工作。混合 MobileFirst 应用程序可通过部署在 IBM MobileFirst Platform Foundation 中的 HTTP 适配器无缝地集成,并调用 Process Center 中的 BPD 所公开的 Web 服务。

在业务流程级别上,使用业务流程管理解决方案来控制跨所涉及的系统和用户的业务流程活动流。BPM 解决方案通常提供流程建模、实施、监视、管理和流程优化服务,以简化流程和提高效率。Web 服务可根据需要从一个业务流程内的任何活动调用,进而可将更大的业务流程公开为 Web 服务,供其他系统或合作伙伴调用。Web 服务是一种应用程序,它遵守基于更成熟的 Internet 标准(HTTP 和 XML)的新连接标准(SOAP、WSDL 和 UDDI)。这种基于标准的连接使 Web 服务实现可动态地发现其他 Web 服务并自动与它们交互。对于仅有一个在开发环境中运行的 Java 虚拟机的低内存系统,IBM BPM Advanced V8.5.5 中的独立 Process Center 配置文件带来了优势。该配置文件可帮助存储、测试和管理使用 Process Designer 和 Integration Designer 创建的流程应用程序和工具包。

以下小结介绍了关键的集成功能。

SSL 配置

Process Center 中的 BPD 公开的 Web 服务是一种 HTTPS 服务。为了从混合 MobileFirst 应用程序访问 SSL 服务,必须导入来自 Process Center 服务器的证书并添加到 cacerts 文件中的密钥库中。这个证书使移动应用程序能够成功地调用 Process Center 中的 Web 服务。图 2 显示该适配器在调用 Process Center 中的 Web 服务之前,首先检查配置文件中的 SSL 证书。

图 2. SSL 配置

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

点击查看大图

关闭 [x]

图 2. SSL 配置

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

IBM MobileFirst Platform Foundation 和适配器配置

可通过选择合适的适配器在混合 MobileFirst 应用程序中发现 Web 服务。要创建一个基于 HTTP 服务的 SOAP,需要创建 HTTP SOAP 适配器并部署在 IBM MobileFirst Platform Foundation 中。因为 Process Center 所公开的 Web 服务已启用 SSL,所以应导入证书,转换为密钥库并添加到 cacerts 文件中。适配器在 worklight.properties 文件中检查证书路径、类型和密码,然后才调用 Web 服务。图 3 展示了如何创建证书并导入到密钥库中,然后添加到 cacerts 文件。只有在后端 Web 服务的证书未由已知的证书颁发机构签名时,才需要这一步。

图 3. 创建密钥库并使用 keytool 将其导入 cacerts 信任库中

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

回页首

部署和运行流程应用程序

使用一个独立 Process Center 配置文件来发布和部署流程应用程序 (BPMN) 和 SCA 应用程序 (BPEL/ESB)。

IBM Process Designer 中的 BPMN

BPMN 流程通过高级集成服务连接到 BPEL。流程应用程序中的业务流程定义公开一个由混合 MobileFirst 应用程序使用的 HTTPS Web 服务。为了启动该业务流程,混合 MobileFirst 应用程序调用一个 BPD 所公开的 Web 服务,该 Web 服务由 BPD 中封装的集成服务来执行。该集成服务执行 tw.system.startProcessByName 来启动使用从混合 MobileFirst 应用程序收到的输入参数所指定的业务流程,并返回 processId 供引用。

流程支付活动成功后,会从业务流程向客户发送一封电子邮件来告知状态,如图 4 所示。

图 4. 业务流程定义

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

点击查看大图

关闭 [x]

图 4. 业务流程定义

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

流程执行

图 5 显示了 Mobile Browser Simulator for Android 中提供的输入值。业务用户在 IBM Business Process Manager 上执行一次调用来发出请求,图 5 中所示的成功响应包含 IBM BPM Advanced 中创建的流程 ID:

pId...258 and "success":"true"

如图 5 所示,业务用户使用移动设备提交需要的数据,这会自动在 IBM BPM 中创建一个流程实例 ID,并向移动设备返回响应来显示 ID 为 258 的流程实例已成功创建。

图 5. 移动浏览器模拟器

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

点击查看大图

关闭 [x]

图 5. 移动浏览器模拟器

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

下一个屏幕截图显示了 Process Portal 中创建的可声明的业务流程实例。因为流程图中的第一个活动是一个人为活动,所以它需要声明并需要人为干预。

IBM BPM Process Portal

图 6 显示从混合 MobileFirst 应用程序发送的请求已成功在 Process Portal 中创建了一个流程实例。可以看到,该流程实例(流程 ID 为 258 )已在 IBM BPM Process Portal 中得到创建,业务用户可通过其计算机上的 Web 浏览器查看它。

图 6. Process Portal 中的流程实例

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

点击查看大图

关闭 [x]

图 6. Process Portal 中的流程实例

集成 IBM Business Process Manager 与一个混合 MobileFirst 应用程序

回页首

结束语

本教程介绍了如何集成一个混合 MobileFirst 应用程序与 IBM BPM Advanced V8.5.5。文中概略地解释了 SSL 配置,以及来自手持 Android 移动设备的适配器如何调用 Process Center 所公开的 HTTPS Web 服务。本教程还介绍了如何使用 BPMConfig 工具创建一个独立的 Process Center 配置文件,传递属性文件作为参数。使用 IBM BPM Advanced V8.5.5 中的独立 Process Center 配置文件的优势是,您可在内存较低且仅有一个 Java 虚拟机在运行的系统(比如笔记本电脑)中发布和部署流程应用程序和 SCA 应用程序。

现在您可将本教程中学到的技术应用到您参与的项目中,享受集成 IBM MobileFirst Platform Foundation 技术与 IBM BPM Advanced V8.5.5 的优势。

致谢

感谢 Praveen John 和 Bill Dodd 审阅并提供建议。

回页首

下载

描述 名字 大小
代码示例 code_sample.zip 24452KB
正文到此结束
Loading...