内容


构建 SOA 组合业务服务,第 12 部分

将 IBM FileNet 中以文档为中心的工作流与 IBM WebSphere Process Server 中的业务状态机结合

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 构建 SOA 组合业务服务,第 12 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:构建 SOA 组合业务服务,第 12 部分

敬请期待该系列的后续内容。

引言

FileNet P8 提供对以文档为中心的业务流程(工作流)的支持。WebSphere Process Server 支持使用具有 IBM 人工任务扩展的 BPEL 标准编写的业务流程。另外,它还通过服务组件体系结构(Service Component Architecture,SCA)标准支持业务流程中的组合业务服务(Composite Business Service,CBS)组件集成。本文将给出银行应用程序中的一个简单场景,即在 WebSphere Process Server 中建模,为业务状态机(Business State Machine,BSM)的贷款申请 CBS 业务流程。BSM 与简单 FileNet P8 工作流集成,而后者管理与贷款申请关联的文档。

贷款申请是名为 Jivaro 的虚构银行应用程序的一部分。本系列的第一篇文章“开发 SOA 组合应用程序来支持业务服务”介绍了 Jivaro 银行应用程序支持的一些场景。在本文中,我们将详细讨论银行客户角色的贷款申请场景。

贷款申请流程场景

贷款申请流程实现以下工作流:

  1. 银行客户到银行门户申请贷款。
  2. 客户的申请转发到银行员工进行审核。银行员工觉得申请人是否需要填写在线申请表格来提供支持文档(为了遵循法律法规要求,应该存储此类文档)。
  3. 因此,客户会收到要求填写并提交表格的自动电子邮件。
  4. 客户使用电子邮件中的链接登录到银行门户,以启动贷款申请表格。
  5. 申请人提交了文档后,银行员工将收到通知,告知文档可供进行审核。
  6. 银行员工根据表格的内容批准或拒绝贷款申请。
  7. 如果银行员工批准申请,银行经理将收到通知,告知其对申请进行审批。
  8. 银行经理批准或拒绝申请。

实现贷款申请流程

上述贷款申请流是贷款批准申请的简化工作流。此工作流既包括文档管理任务,也包括人工任务。

FileNet P8 平台提供了最佳的文档管理任务解决方案,而 WebSphere Process Server 提供了工作流中的人工任务的最佳解决方案。WebSphere Process Server 还支持使用 BSM 建模事件驱动的业务流程。

本文将演示以下内容:

  • 使用 FileNet P8 平台来支持 上面工作流的步骤 4 和 5 中的贷款申请创建、提交和电子存储。
  • 如何使用 WebSphere Process Server 支持贷款申请批准人工任务(步骤 3、6 和 7)。
  • 使用 WebSphere Process Server BSM 基于步骤 6 中生成的贷款申请提交事件的出现将 WebSphere Process Server 流程与 FileNet P8 流程集成。

在下面的部分中,将向您介绍创建此解决方案的详细步骤。

步骤 1. 在 IBM WebSphere Integration Developer 中开发贷款申请流程

首先要在 WebSphere Integration Developer V6.0 中为贷款申请业务流程创建 WebSphere Process Server BSM,并将其部署到 WebSphere Process Server V6.0 服务器。此流程接收贷款申请请求,检查贷款申请业务规则,执行员工和管理级别的人工任务(检查支持文档),向客户发送电子邮件,然后等待 FileNet P8 子流程的回调。

图 1 显示了 WebSphere Process Server 中的 LoanApproveSM 业务流程组装关系图。其中给出了主要 BSM 组件 LoanApproveSM 及其与其他必需的组件的连接,这些组件包括人工任务(StaffApproval、ManagerApproval)、业务规则 (LoanOriginationRules) 和合作伙伴调用(包括向贷款申请人发送电子邮件请求 (SendEmailForDocument)、将请求存储在数据库中 (JDBCLoanRequestOutboundInterface) 以及查询贷款请求状态 (LoanTrackingService))。

图 1. WebSphere Process Server LoanApproveSM 业务流程的组装关系图
WebSphere Process Server LoanApproveSM 业务流程的组装关系图
WebSphere Process Server LoanApproveSM 业务流程的组装关系图

图 2 显示了建模贷款批准流程的 WebSphere Process Server BSM,LoanApproveSM。

图 2. 贷款申请流程的 WebSphere Process Server BSM,LoanApproveSM
贷款申请流程的 WebSphere Process Server BSM LoanApproveSM
贷款申请流程的 WebSphere Process Server BSM LoanApproveSM
  • 新流程从调用 LoanApproveSM BSM 的 approveCheck 方法开始。流程将进入 Initialized 状态,并调用贷款发起业务规则组件来获得批准类型。
  • 如果批准类型为 AutoApproved,流程将过渡到 Approved 状态。在此状态中,会将决策记录到数据库中,流程将终止。
  • 如果批准类型为 AutoRejected,流程将过渡到 Rejected 状态,然后会将决策记录到数据库中,而且流程将随后终止。
  • 如果批准类型为 NeedHumanApproval,流程将过渡到 First Review 状态。此时,如果员工希望查看更多的贷款申请文档,流程将过渡到 Waiting for documentation 状态。
  • 进入 Waiting for document 状态后,会向贷款申请人发送电子邮件,要求向 FileNet 服务器提交必要的文档。贷款申请人将文档提交到 FileNet 服务器后,会调用 FileNet 流程。FileNet 流程调用 WebSphere Process Server BSM 的 loandocSubmitCallBack 方法,并提供所请求的文档的 URL。此外部事件将导致 WebSphere Process Server BSM 流程过渡回 First Review 状态。
  • 在 First Review 状态中,如果员工拒绝请求而且批准类型为 approved-once,流程将立即过渡到 Rejected 状态。如果批准类型为 approved-once 而且员工批准了请求,流程将过渡到 Approved 状态。
  • 如果批准类型为 approved-twice 和员工批准或拒绝请求,流程将过渡到 Second Review 状态。
    • 在此状态中,如果经理批准请求而且之前员工也批准了请求,流程将过渡到 Approved 状态。
    • 如果经理拒绝请求而且员工也拒绝了请求,流程将过渡到 Rejected 状态。
    • 如果经理拒绝请求而员工之前批准了请求,流程将过渡回 First Review 状态。

步骤 2. 在 FileNet Process Designer 中创建贷款申请 eForm

接下来,您将使用 FileNet P8 eForms Designer 和 Process Designer(IBM FileNet Business Process Manager 的一项功能)创建和部署贷款申请提交表格和表格提交子流程。除了 FileNet P8 V4.0.1 平台外,还需要安装外接程序产品 FileNet P8 eForms 和 eForms Designer V4.0.1。

将使用 FileNet P8 eForms Designer 来创建表格模板,其中包含电子表格的布局、图形元素和智能功能。表格设计完成后,您可以将其部署到 FileNet P8 Workplace(FileNet Content Manager 内的一项功能)并在表格模板工作流策略中对其进行配置。然后您可以将代表此工作流策略的超链接发送给用户,以便其填写表格并启动工作流。在此场景中,表格是贷款申请表,完成后之后将启动表格提交工作流。此工作流将反过来使用相关信息调用 WebSphere Process Server BSM 流程。

图 3 显示了在 FileNet P8 eForms Designer 中创建的贷款申请表格模板。模板中应该包括申请 ID 字段,充当 WebSphere Process Server BSM 流程的相关 ID。此 ID 应该包含在 WebSphere Process Server BSM 流程向银行客户发送的电子邮件中。需要发布表格字段,以便在表格工作流策略创建期间将其映射到工作流数据字段。然后会将此表格模板添加到 FileNet P8 Workplace。

图 3. 在 FileNet P8 eForms Designer 中设计和部署贷款申请表格模板
在 FileNet P8 eForms Designer 中设计和部署贷款申请表格模板
在 FileNet P8 eForms Designer 中设计和部署贷款申请表格模板

对于 FileNet P8 eForms 与工作流的集成,您需要在 Workplace Process Configuration Console 中定义表格步骤处理器,如图 4 中所示。在创建表格工作流策略时,只有涉及表格步骤处理器的工作流步骤才在表格字段和工作流数据字段的映射中可见。

图 4. 在 FileNet P8 Workplace Process Configuration Console 定义表格步骤处理器
在 FileNet P8 Workplace Process Configuration Console 定义表格步骤处理器
在 FileNet P8 Workplace Process Configuration Console 定义表格步骤处理器

在 FileNet P8 Workplace Author/Advanced Tools 页中可以找到这些工具:Process Designer、Add Entry Template Wizard 和 Add Form Policy Wizard。通过使用这些工具,您可以创建贷款申请提交工作流和在客户完成表格后启动工作流程所必需的表格工作流策略。

图 5. 在 FileNet P8 Process Designer 中设计贷款提交工作流
在 FileNet P8 Process Designer 中设计贷款提交工作流
在 FileNet P8 Process Designer 中设计贷款提交工作流

图 5 显示了一个在 Process Designer 中创建的简单贷款表格提交流程。LaunchStep 任务启动此工作流,并将 eForm 参数传输到此工作流。Invoke 步骤通过 loanDocsSubmitCallBack 方法调用 WebSphere Process Server BSM 贷款申请流程。TeminateProcess 步骤停止此工作流。

工作流需要定义有与表格工作流策略中要映射的表格字段对应的数据字段。LaunchStep 还需要使用 Form Launch (HTML) FileNet P8 Step Processor 作为步骤处理器。此外,为了调用 WebSphere Process Server BSM 贷款申请流程,您需要在图 6 所示的 Workflow Properties 窗口中添加 Web Services 合作伙伴链接。

图 6. 用于调用 WebSphere Process Server BSM 流程回调方法的合作伙伴链接
用于调用 WebSphere Process Server BSM 流程回调方法的合作伙伴链接
用于调用 WebSphere Process Server BSM 流程回调方法的合作伙伴链接

图 7 显示了 Invoke 步骤的详细信息。loanCallBack 服务是单向调用,其类型设置为 Invoke。在 Invoke 步骤中,您需要选择合作伙伴链接和操作,并将工作流参数与对应的方法参数绑定(例如,将 requestId 绑定到 ApplicationId)。

图 7. Invoke 步骤的详细信息
Invoke 步骤的详细信息
Invoke 步骤的详细信息

接下来您需要添加表格输入模板和表格工作流策略,以将表格模板、工作流和数据存储区绑定到一起。输入模板将表格数据存储到对象存储区。要创建表格工作流策略,您需要完成以下步骤:

  1. 选择工作流。
  2. 通过选择贷款申请表格模板定义 LaunchStep。
  3. 将表格字段映射到工作流数据字段。
  4. 选择用于在对象存储区中存储表格数据的输入模板。
  5. 通过添加 HTML Banner 和侧栏对表格窗口进行简单自定义。

然后可以使用发送到客户的电子邮件中的表格工作流策略超链接来填写贷款申请表格。

步骤 3. 在 WebSphere Process Server 和 FileNet P8 中执行场景

以下步骤将演示场景的执行:

  1. 银行客户 Li Wei(客户 ID 为 bul1)登录到 Jivaro 银行门户申请贷款。
    图 8. 在 Jivaro 银行应用程序门户申请贷款
    在 Jivaro 银行应用程序门户中申请贷款
    在 Jivaro 银行应用程序门户中申请贷款
  2. 根据所有教育贷款需要人工批准的业务规则,他的申请被转发到银行员工 b1e1。
    图 9. WebSphere Process Server 人工任务:贷款申请的员工批准
    WebSphere Process Server 人工任务:贷款申请的员工批准
    WebSphere Process Server 人工任务:贷款申请的员工批准
  3. 银行员工 b1e1 接收此申请,并确定她需要关于此申请的更多支持文档。她在 WebSphere Process Server 人工任务管理器中将所需的文档字段设置为 true。WebSphere Process Server 贷款申请流程然后将向客户 blu1 发送电子邮件。
    图 10. 关于请求贷款申请的支持文档的人工任务
    关于请求贷款申请的支持文档的人工任务
    关于请求贷款申请的支持文档的人工任务
  4. 客户 Li Wei 接收到电子邮件通知,其中包括指向 FileNet P8 服务器的链接,用于提交申请表格和提供支持文档。
    图 11. 贷款申请流程发送的关于提供支持文档的电子邮件
    贷款申请流程发送的关于提供支持文档的电子邮件
    贷款申请流程发送的关于提供支持文档的电子邮件
  5. 客户 Li Wei 登录到 FileNet 站点,以填写提供支持文档的 eForm。申请 ID 应该与电子邮件中提到的申请 ID 匹配。
    图 12. 用于提交支持贷款申请文档的 FileNet P8 Workplace
    用于提交支持贷款申请文档的 FileNet P8 Workplace
    用于提交支持贷款申请文档的 FileNet P8 Workplace
  6. 客户提交其表格后,银行员工 b1e1 将在其任务列表中收到新任务项,告知支持文档已提交。
    图 13. 用于在提交支持文档后批准贷款的 WebSphere Process Server 人工任务
    用于在提交支持文档后批准贷款的 WebSphere Process Server 人工任务
    用于在提交支持文档后批准贷款的 WebSphere Process Server 人工任务
  7. 现在银行员工可以批准此申请,以便执行流程中的下一步,即由银行经理批准。她将 isAdditionalLoanDocsRequired 字段设置为 false,并将 isApproved 字段设置为 true
    图 14. 关于银行员工批准贷款的 WebSphere Process Server 人工任务
    关于银行员工批准贷款的 WebSphere Process Server 人工任务
    关于银行员工批准贷款的 WebSphere Process Server 人工任务
  8. 在下一步骤中,银行经理 b1m1 将批准此申请。WebSphere Process Server BSM 贷款申请流程到此结束,Li Wei 的请求得到了批准。
    图 15. 关于银行经理批准贷款申请的 WebSphere Process Server 人工任务
    关于银行经理批准贷款申请的 WebSphere Process Server 人工任务
    关于银行经理批准贷款申请的 WebSphere Process Server 人工任务

结束语

组合业务服务经常需要结合使用以文档为中心的活动和支持 SOA 的业务流程。FileNet P8 和 WebSphere Process Server 可以通过本文讨论的技术进行集成,以提供同时具有这两种类型的业务流程特征的最佳解决方案。

致谢

作者要感谢 Ashleigh Brothers 和 Patrick Flanders 在撰写本文的过程中提供的帮助。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, WebSphere
ArticleID=304704
ArticleTitle=构建 SOA 组合业务服务,第 12 部分: 将 IBM FileNet 中以文档为中心的工作流与 IBM WebSphere Process Server 中的业务状态机结合
publish-date=04282008