bpm 流程引擎 ibm_使用IBM MobileFirst将IBM BPM流程暴露于移动设备

bpm 流程引擎 ibm

在当今动态的业务环境中,用户希望在旅途中能够连接到其关键业务流程。 移动集成的价值是巨大的,它扩展了IBM BPM流程的用例场景,以吸引正在Swift迈向移动性新时代的客户。

与移动技术集成可从远程位置实时访问IBM BPM,从而提供业务敏捷性。 通过使移动工作人员能够与IBM BPM流程进行交互,企业可以极大地优化业务响应能力,提高工作人员的生产率并缩短处理时间。 安全的移动集成意味着IBM BPM产品组合可以扩展到包括企业对消费者的客户场景。

从IBM BPM V8.5.6开始,IBM MobileFirst开发许可证与IBM BPM捆绑在一起。 为了支持将MobileFirst作为移动平台,IBM BPM V8.5.6包括以下新的移动功能:

  • 用于MobileFirst开发环境的插件适配器使使用访问IBM BPM的安全REST API轻松构建移动应用程序。
  • IBM BPM开发人员中心提供了示例响应式联合门户和响应式教练工具包的技术演示,以了解如何使用联合和移动功能。 您可以直接从人工服务生成MobileFirst移动应用程序。 本教程探讨了如何生成一个IBM MobileFirst应用程序,该应用程序通过安全适配器与IBM BPM进行交互,以便授权用户可以从其移动设备激活,处理和完成任务。 本教程显示了一个示例,该示例说明了如何通过重用已经包含在流程中的人员服务来创建移动应用程序以启动流程实例。

第一部分探讨了完整的解决方案,特别是生成的移动应用程序及其与流程的交互。 第二部分详细描述了如何构建,部署和确保移动应用程序安全。

探索示例解决方案

本教程中使用的业务场景如图1所示。“ 订单履行流程”是管理供应链中供应商互动的过程。 它着重于获取和批准第三方供应商的报价。

图1.订单履行流程示例业务流程
订单履行流程示例业务流程的屏幕截图

可以通过IBM BPM中的流程门户启动流程,如图2所示,其中“创建订单”任务是由分析师团队的成员分配和完成的。 然后将下一步(验证订单)分配给经理团队。

图2.从流程门户启动的订单履行流程
从流程门户开始的订单履行流程的屏幕截图

或者,流程实例可以由分析师团队的成员通过使用连接到公共云的移动设备中的移动应用程序来启动。 参见图3。

图3.订单履行流程从公共云中的移动设备开始
订单履行过程的屏幕截图是从公共云中的移动设备开始的

在这种情况下,将跳过“创建订单”步骤,而流程实例从“验证订单”步骤开始。

从移动设备启动IBM BPM流程的示例移动应用程序具有以下功能需求:

  • 提供订单详细信息(创建订单任务)的用户界面必须重新使用。 必须使用相同的客户端人工服务来实现用于启动流程实例的移动应用程序以及在桌面上运行的“创建订单”任务用户界面。
  • 移动应用程序必须使用可适应不同显示尺寸的自适应用户界面。
  • 移动应用程序必须在公共云中运行,但是它必须能够在公司防火墙后面运行的IBM Process Server上启动流程实例。

IBM BPM V8.5.6和更高版本包含满足以下三个需求的以下功能:

  • 为了重用为桌面定义的原始用户界面,本教程利用了直接从人工服务生成MobileFirst移动应用程序的功能。 为了确保在大小显示尺寸上都可以使用相同的用户界面,本教程在Coach View Editor中使用了“响应设置”。 请参阅IBM知识中心上的IBM BPM V8.5.6文档中的“ 教练视图响应式设置”主题。
  • 为了确保移动应用程序轻巧且响应Swift,本教程使用“响应式教练工具包V8.5.6”中的教练视图使用“响应式”设置。 参见bpm-sensitive-coach
  • 从公共云中运行的移动应用程序访问防火墙后运行的Process Server是不安全的。 为了避免从移动应用程序直接连接到Process Server,本教程使用IBM MobileFirst Servers。 本教程还使用IBM BPM通用适配器,该适配器充当移动应用程序与Process Server之间的代理,如图4所示。
图4.使用IBM MobileFirst Server和IBM BPM通用适配器安全访问IBM BPM服务器
使用IBM MobileFirst Server和IBM BPM通用适配器安全访问IBM BPM服务器

启动订单履行流程实例

本节检查了从移动应用程序启动订单履行流程的用户体验,并将其与响应式门户网站Web应用程序与本地用户体验进行了对比。 通过教练视图编辑器中的响应设置,可以创建用户界面,以根据同一设备为同一教练提供不同的用户体验,具体取决于设备的大小。

您可以通过两种方式启动“订单履行”流程实例:从移动设备或从响应联合门户启动。

从移动应用程序启动流程实例

要从移动设备启动流程实例,请打开IBM MobileFirst Application。 在图5中,该应用程序称为CreateOrder Mobile

图5.打开“订单履行”流程实例的示例移动应用程序
打开订单履行流程实例的示例移动应用程序的屏幕截图
从响应联合门户启动流程实例

要从本地Web浏览器打开流程实例,请启动IBM BPM响应式联合门户Web应用程序,如图6所示。

图6.打开示例“订单履行”流程实例的响应式联合门户
打开示例“订单履行”流程实例的“响应式联合门户”的屏幕截图

使用“订单履行”流程实例用户界面

  1. 要从移动设备启动流程实例,移动用户将打开Create Order移动应用程序,如图7所示。
    图7.从移动设备打开移动应用程序的示例
    从移动设备打开移动应用程序的屏幕截图示例

    移动应用程序启动。 移动用户登录后,将打开“ Introduction”屏幕,如图8所示。

    图8. Introduction屏幕示例
    移动用户界面的示例介绍屏幕
  2. 在移动用户选择Next之后 ,将打开作为三步订单创建的一部分的步骤,如图9所示。
    第一步(称为Review )在状态栏中突出显示。 移动用户可以输入订单信息: 物料客户优先级发布日期计划者注释 。 IBM BPM中的响应式教练视图使在具有不同屏幕尺寸的设备上启用不同的用户界面行为成为可能。
    图9. Create Order移动应用程序的复查步骤
    创建订单移动用户界面的示例查看步骤

    视图是响应式的,并针对移动设备的使用量身定制,如图10所示。例如,默认情况下,“ 订单明细”部分在移动设备上折叠,在桌面上展开。

    图10.移动设备视图和桌面视图的比较(响应行为)
    移动设备视图和桌面视图的屏幕截图
  3. 选择查找材料将打开“可用材料”屏幕,移动用户可以在其中选择一种材料,如图11所示。
    图11.可用材料屏幕
    移动用户界面上的示例可用材料屏幕
  4. 选择选择并退货将返回到“订单信息”屏幕,并根据“可用物料”屏幕上的选择完成“物料”字段。
  5. 在完成订单信息后,移动用户可以折叠该部分并展开Order Details部分,如图12所示。然后,移动用户可以提供订单所需的数量,每个数量的交货日期以及定价信息和可证明订单详细信息的注释。
    图12.订单明细屏幕
    移动用户界面上的示例“订单详细信息”屏幕
  6. 选择Next使移动用户进入Create Order应用程序的第二步,能够选择要在投标过程中竞争的供应商,如图13所示。Vendors步骤在状态栏中突出显示。 选择“ 列”配置允许自定义表列,包括桌面上更多的列,而在桌面上有更多空间可以显示在屏幕上。
    图13.供应商选择示例
    移动用户界面上的示例供应商选择屏幕
  7. 选择Next打开Create Order人员服务的最后一步,即Confirm,如图14所示。
    “订单信息”和“订单详细信息”部分包含基于前面步骤中提供的输入的只读信息。 默认情况下,这些部分在移动设备上折叠,而在台式机上展开。
    图14.移动设备视图和桌面视图的比较
    移动设备视图和桌面视图的屏幕截图

移动用户完成应用程序后,将在IBM BPM端自动启动流程,并将Order业务对象作为流程输入变量传递。 该业务对象封装了移动用户从Create Order移动应用程序输入的所有信息。 同时,startedFromMobile标志设置为true。 因此,令牌将自动移至“经理”泳道中的“验证订单”任务。 查看图3中的“订单履行”过程。

无论该过程是从移动设备启动还是从使用Process Portal的桌面浏览器启动,该过程中的其余其余步骤都是相同的:

  • 卖方输入他们的投标方案,并将响应发送回发件人。
  • 分析人员将根据投标数据分析响应并选择最能满足订单要求的供应商。
  • 经理评估提案和选定的供应商响应,然后批准或拒绝订单履行。
  • 如果订单被拒绝,流程将返回到分析师以选择一个履行选项。
  • 如果订单被批准,则与所选供应商的合同继续进行,该过程成功完成。

本节从用户交互的角度展示了该场景。 它着重介绍了移动工作人员如何从移动设备安全地在公共云中创建订单并启动用于处理订单的IBM BPM流程。

您可以下载并使用名为Mobile_Enabled_Order_Fulfillment.twx的流程应用程序文件,该文件包含本教程中描述的解决方案。 从本教程的“下载”部分,下载Mobile_Enabled_Order_Fulfillment.twx文件,并将其导入到您的Process Center中。

构建移动解决方案

本节介绍如何通过客户端人工服务编写移动应用程序(以Android操作系统为目标)。

解决方案组件

图15中显示的以下组件是解决方案的一部分:

  • IBM BPM
    • 编写客户端人员服务。
    • 为客户端人员服务生成项目文件。
  • IBM MobileFirst Studio
    • 从项目文件生成应用程序工件。
    • 测试应用程序工件。
  • IBM MobileFirst测试/生产服务器
    • 使用应用程序工件在此处部署应用程序。
    • 使用安全的应用程序工件连接到IBM BPM。
  • Android设备
    • 连接到MobileFirst测试/生产服务器。
    • 运行客户端人工服务。
图15.客户端人工服务作为移动应用程序的部署流程
客户端人类服务作为移动应用程序的部署流程的图示

所需组件

如果需要配置,则以下必需的组件包括参考:

安全配置

需要进行一些配置,以便IBM BPM,MobileFirst和移动设备可以安全地相互连接。 必须交换安全证书。

要将IBM BPM证书导入MobileFirst Test / Production服务器,请首先将默认证书从IBM BPM服务器导出到文件。 在管理控制台中,单击

安全性 > SSL证书和密钥管理 > 密钥库和证书 > NodeDefaultKeyStore > 个人证书

接下来,将证书导入到MobileFirst测试/生产服务器中。 从与MobileFirst相关的Java安装上下文中运行以下命令: path to MobileFirst server jre \jre\bin\keytool -importcert -file location _ of _ certificate -keystore path _ to _ MobileFirst _ server _ jre \jre\lib\security\cacerts -storepass password

端到端部署流程

该流程从创建客户端人工服务开始,然后在MibileFirst Development Server上运行它。 您还必须配置应用程序以在MobileFirst Test / Production服务器上进行部署,然后进行部署。

编写客户端人员服务

当您编写客户端人工服务以将其作为MobileFirst应用程序运行为目标时,请确保满足以下要求:

  • 客户端人工服务必须与在多个设备上使用兼容。 要启用此兼容性,请在客户端人员服务的“概述”选项卡中选择“ 打算在多个设备上使用”
  • 客户端人员服务中的教练必须使用“响应式教练工具包”中的教练视图。

满足要求后,可以将客户端人员服务导出为MobileFirst项目。 要导出客户端人工服务,请将其公开为URL。 然后,从Overview选项卡中将其导出为MobileFirst项目,如图16所示。

图16.将客户端人工服务作为移动应用程序运行所需的设置
屏幕快照,用于将客户端人工服务作为移动应用程序运行所需的设置

导出将生成一个.zip文件,该文件将所有代码封装为MobileFirst项目的形式。 此外,可以将项目导入MobileFirst Studio中,然后部署到MobileFirst环境中。

在MobileFirst Development服务器上运行客户端人工服务

可以将导出的项目文件作为存档项目文件导入MobileFirst Studio。

要将MobileFirst生成的应用程序带入工作区,请打开MobileFirst studio,然后单击文件 > 导入 > 常规:将现有项目放入工作区 > 选择存档文件 ,然后浏览到生成的.zip文件。

要在本地开发服务器上运行它,可以在MobileFirst Studio中进行以下配置:

  • 可以通过从“服务器”选项卡中打开服务器来配置MobileFirst Development服务器。 默认情况下,主机名设置为localhost 。 建议将主机名设置为机器的实际IP地址。
  • worklight.properties文件配置应用程序连接。 在项目的/server/conf文件夹中找到文件。 缺省情况下,该应用程序设置为通过HTTPS协议连接到IBM BPM服务器。 现在,将bpm.server.protocol更改为http并修改bpm.server.port以禁用安全性。

要将应用程序作为Android模拟器上的预览运行,请完成以下步骤:

  1. 在项目的/apps文件夹内,右键单击该应用程序,然后选择New > MobileFirst Environment 。 创建一个Android环境,如图17所示。
    图17.创建一个Android环境
    New MobileFirst Environment窗口的屏幕截图

    图18显示了MobileFirst Studio工作空间内的应用程序视图:

    图18.带有生成的应用程序的MobileFirst Studio工作区
    MobileFirst Studio工作区中生成的应用程序的屏幕截图
  2. 右键单击CreateOrderMobile应用程序,然后选择“运行方式” > “在MobileFirst Application Server上运行”以生成工件并将其部署到本地MobileFirst开发服务器。
  3. 部署用于连接到IBM BPM服务器的适配器。 在adapter/IBM_BPM文件夹中,右键单击并选择Run as> Deploy MobileFirst Adapter
  4. 要在浏览器模拟器上运行该应用程序,请右键单击并选择运行方式>预览 。 在这里,可以使用多种屏幕尺寸来测试客户端的人工服务。
  5. 要在Android模拟器上运行该应用, 从生成的Android项目中选择“运行方式”>“ Android应用 ”。 创建并运行一个Android应用程序文件( .apk )。 确保已经安装了至少一个来自Android设备管理器的虚拟设备。 请参阅图19,以比较在移动浏览器模拟器和带有响应式教练工具包的Android模拟器上作为应用程序运行的客户端人工服务的比较。
图19.移动浏览器模拟器和使用Responsive Coachs Toolkit的Android模拟器上的应用程序比较
响应式教练工具包中的移动浏览器模拟器和Android模拟器上的应用程序的屏幕截图
配置应用程序以部署到MobileFirst Test / Production服务器
  1. 要为Test / Production Server配置应用程序,请对worklight.properties文件进行以下更改。 通过完成以下步骤,配置到IBM BPM服务器的安全连接:
    • 设置publicWorklightHostname,publicWorklightProperties和publicWorklightPort,以匹配MobileFirst Production服务器。
    • 在“ 数据库设置”下 ,取消注释要使用的数据库的URL,并指定wl.db.username和wl.db.password。
    • 最后,将bpm.server.protocol修改为https,并指定IBM BPM服务器的安全端口。
  2. 接下来,设置应用程序的部署目标。 右键单击并选择运行方式>构建设置和部署目标,然后进行以下更改,如图20所示:
    • 选择“ 构建应用程序以与其他MobileFirst服务器一起使用”
    • 在“服务器”标签下,输入MobileFirst服务器的URL和端口。
    • 使用与开发服务器上使用的上一个路径相同的上下文路径。
      图20.构建设置和部署MobileFirst Test / Production服务器的目标
      “配置MobileFirst构建和部署目标”窗口的屏幕截图
  3. 清理两个项目的bin文件夹后,右键单击并选择Run As>构建所有环境 。 接下来,重新部署IBM BPM适配器,并重新生成.apk文件。 现在,bin文件夹包含将应用程序部署到MobileFirst Test / Production服务器所需的所有工件,并在worklight.properties文件中指定了更新的属性。

部署到MobileFirst测试/生产服务器时,需要以下工件:

  • APP_NAME -all.wlapp
  • APP_NAME .war
  • IBM_BPM.adapter
  • APP_NAME .apk :(要在Android设备上安装的应用程序文件)

这些工件的作用在以下部分中定义:

wlapp文件可将来自作为.apk文件安装在移动设备上的移动应用程序发出的请求与在IBM MobileFirst服务器中作为.war文件部署的Web UI代码之间建立连接。 .war文件通过IBM_BPM.adapter中包含的安全REST API调用连接到IBM BPM后端系统。 这些组件之间的交互将通过以下部署步骤进一步详细说明。

将应用程序部署到MobileFirst测试/生产服务器

现在可以在IBM MobileFirst Studio中生成的工件准备好进行部署。

  1. 从测试/生产服务器中打开服务器配置工具,然后选择要使用的服务器配置(如果不存在,请创建一个 )。
  2. 要将.war文件部署到IBM MobileFirst服务器,请完成以下步骤,为要部署的应用程序添加MobileFirst Runtime Environment:
    • 在MobileFirst运行时环境下,指向在MobileFirst Studio中生成的.war文件,并将上下文根设置为MobileFirst Studio中“ 构建设置和部署目标”中的根。 此上下文根通常与/ProjectName的格式匹配,在本教程中为/CreateOrderMobileProject
    • 在“数据库其他设置”下,更改数据库名称以使其与worklight.properties文件中的名称匹配。
      图21.使用MobileFirst Test / Production服务器的服务器配置工具创建运行时环境的示例
      CreateOrderMobile运行时配置属性的屏幕截图
  3. 现在,部署运行时环境,然后重新启动服务器,以便捕获运行时部署更改。

.wlapp.adapter工件必须通过IBM MobileFirst Platform Operations Console进行部署,如图22所示。转到控制台的URL, http:// host_name : port /worklightconsole ,然后选择创建的部署的运行时环境。 部署工件APP_NAME-all.wlappIBM_BPM.adapter 。 部署完这两个工件之后,选择“ 预览”作为公共资源可以从浏览器运行移动应用程序。

图22.通过MobileFirst Platform Operations Console部署的.wlapp.adapter工件
MobileFirst Platform操作控制台的屏幕截图

.apk文件也可以上传到生产/测试服务器的应用程序中心, http:// host_name : port /appcenterconsole/ 。 运行该应用程序的移动设备必须能够连接到MobileFirst服务器,该应用程序才能运行。 上载应用程序后,从移动设备访问应用程序中心URL,然后下载并安装该应用程序。 现在您可以将客户端人工服务作为移动应用程序运行。

有关构建解决方案的其他信息

考虑以下有关在iOS上运行客户端人工服务并部署在IBM BPM Process Server上的信息。

在iOS上运行客户端人工服务

从客户端人员服务生成应用程序并在iOS上运行与在Android上运行类似。 关键区别在于如何创建应用程序文件。 而不是MobileFirst Studio为Android生成.apk文件,而是需要Mac上的Xcode生成.ipa文件。 另外,必须使用Apple供应配置文件和安全证书对.ipa文件进行签名。 对应用程序进行签名后,可以将其安装在iOS iPhone和iPad上。

运行部署到IBM BPM Process Server的客户端人工服务

从部署到Process Server的流程应用程序运行客户端人工服务时,需要进行一些小的调整。 从客户端人员服务导出的项目文件必须从部署到Process Server的同一快照中导出。 默认情况下,导出的项目文件配置为连接到Process Center。 改为使用Process Server的URL修改worklight.properties文件。

现在,您了解了构建与IBM BPM交互的移动应用程序所需的设置和开发信息,并且可以从移动设备安全地部署和运行它。

结论

本教程展示了如何通过从使用生成的客户端人工服务应用程序的移动设备启动流程来集成IBM MobileFirst和IBM BPM V8.5.6。

通过将IBM MobileFirst提供的功能强大的移动平台与从客户端人员服务生成移动应用程序的便捷方法相结合,IBM BPM开发人员可以快速交付启动IBM BPM流程的移动应用程序。

致谢

作者要感谢IBM BPM管理团队的John Green和John Mourra的领导和支持。


翻译自: https://www.ibm.com/developerworks/bpm/library/techarticles/1511_pacholski-trs/1511_pacholski.html

bpm 流程引擎 ibm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值