连接:http://www.ibm.com/developerworks/cn/bpm/bpmjournal/1212_ramos/1212_ramos.html

集成 IBM Business Process Manager V8 与企业内容管理系统

简介

业务流程往往需要处理非结构化数据,如扫描的文档或图片。IBM Business Process Manager V8(以下简称 IBM BPM)提供无缝集成 Enterprise Content Management (ECM) 系统的能力,后者专门处理这种类型的数据。

IBM BPM 使用 Content Management Interoperability Services(CMIS,内容管理互操作性服务)标准来连接到 ECM 系统。在本文中,我们将演示如何配置从 IBM BPM 到 ECM 系统的连接。然后,我们将构建一个人工服务,包括在 Coach 中的文档列表和查看功能。

先决条件

为了完成本文中的步骤,您需要运行 IBM BPM 开发环境和已创建的现有流程应用程序,并在 Process Designer 中打开它们。

您还需要让 ECM 系统启动并运行,展示符合 CMIS 1.0 规范的 Web 服务。此类 ECM 服务器的示例包括 IBM FileNet P8、IBM Content Manager 和 Alfresco。请注意,虽然 IBM FileNet P8 产品中包含了 CMIS,但 CMIS 是一个独立的可选安装。在本文中,我们使用了一个 IBM FileNet P8 实例。

 

回页首

创建 ECM 服务器定义

首先,您必须在流程应用程序中定义 ECM 服务器连接,让您可以在服务和 coach 中使用它。要将服务器定义添加到流程应用程序设置,请执行以下步骤:

  1. 在 Process Designer 中,转到 Process App Settings 并单击 Servers 选项卡,如图 1 所示。

    图 1. 选中 Process App Settings 中的 Servers 选项卡

  2. 填写服务器配置选项,如图 2 所示。选中 Enterprise Content Management Server 作为服务器类型。然后指定 CMIS 服务器的主机名、HTTP 端口,以及托管 CMIS Web 服务的 Web 应用程序的上下文根。(对于 FileNetP8,默认的上下文根示例是 fncmis,对于 Alfresco,该示例是 alfresco/cmis)。完成剩下的字段,包括存储库名称(由 ECM 系统定义)和身份验证选项。
    图 2. ECM 服务器定义

    Always Use This Connection Information 选项告诉 IBM BPM 对每个 ECM 服务器都使用该 userid 和密码。这意味着,每一个 ECM 交互都使用一个通用的用户,并且最终用户的身份没有从 IBM BPM 传递给 ECM 服务器。

    如果您想在 BPM 中使用用户的身份进行 ECM 交互,您必须取消选中该复选框。但是,请记住,如果您这样做,则需要在 IBM BPM 和 ECM 应用程序服务器之间配置一个单点登录机制,本文中不打算介绍该机制。

  3. 单击 Test Connection 验证 ECM 连接是否已正确配置。如果您收到一个错误消息,则应该通过检查 IBM BPM SystemOut.log 文件执行进一步的调查。
 

回页首

使用 Content Management 工具包

IBM BPM 包括一个工具包,它提供若干个 ECM 资产,比如针对 ECM 访问的预构建资产。

将 ECM 工具包添加到您的流程应用程序

您需要将该工具包添加到您的流程应用程序,以便在您的流程中使用所需的组件。

  1. 单击 Process Designer 中 Toolkits 部分旁边的加号 (+),如图 3 所示。

    图 3. 添加工具包依赖关系

  2. 选择 Content Management 下面的 8.0 快照,如图 4 所示。
    图 4. 选择 8.0 工具包

将示例 AJAX 搜索服务复制到您的流程应用程序中

IBM BPM 使用 Ajax 服务实现 ECM 服务器交互。搜索文档及其元数据等操作中包括了一些基本服务。这些服务可供 ECM coach 控件使用,这些控件让您可以列出和查看 ECM 服务器上的文档。

您不需要从头开始操作,您可以执行下列操作,复制一个由该工具包提供的基本搜索服务的副本:

  1. 从 Content Management 工具包将 Default ECM Search Service 复制到您的流程应用程序,在 Content Management 工具包上单击 User Interface,然后右键单击 Default ECM Search Service,如图 5 所示。

    图 5. 复制一个样例 Ajax 服务

重命名 Ajax 服务

  1. 单击流程应用程序库中的 User Interface 部分。
  2. 右键单击 Default ECM Search Service 并选中 Rename,如图 6 所示。
    图 6. 重命名 Ajax 服务

  3. 为新复制的 Ajax 服务指定一个名称。在本例中,我们将使用 My ECM Search Service
 

回页首

定制 ECM Search 服务

刚刚复制和重命名的 Ajax 服务只是一个模板,它包含 ECM 集成所需的输入和输出变量。然而,它不提供任何具体操作。您现在需要定制它,让它执行所需的操作,在本例中,需要在 ECM 服务器上执行搜索,查找将要在 coach 中列出的文档。

定义 Ajax 服务流程图

  1. 打开之前复制的 ECM Search 服务,如图 7 所示。

    图 7. 打开 Ajax 服务

  2. 执行以下操作,将 Content Integration 组件添加到该服务:
    1. 删除 Start 和 End 事件之间的线
    2. 在它们之间放置一个 Content Integration 组件,如图 8 所示,并将其重命名为有意义的名称。在本例中,我们称其为 Get Documents
    图 8. 添加 Content Integration 组件

  3. 将组件连接到 Start 和 End 事件,如图 9 所示。
    图 9. 连接 Ajax 服务中的元素

配置 Content Integration 组件

配置 Content Integration 组件,如下:

  1. 单击您刚才添加到 Ajax 服务的 Content Integration 组件。
  2. 在 Properties 选项卡的 Implementation 部分,将 Server Name 设置为您在 Process App Settings 中创建连接时所指定的名称。
  3. 选中 Search 作为 Operation name
    图 10. 配置 Content Integration 组件

  4. 在 Properties 选项卡的 Data Mapping 部分,将每个输入和输出变量映射到相应的私有变量,如图 11 所示。
    图 11. 执行数据映射

定义内容过滤器

现在,你需要定义从 ECM 服务器中为特定的流程实例和 ECM 集成服务实现选择哪些文档。在 IBM BPM 中,您可以通过直观的方式指定选择标准。在后台,Process Designer 生成适当的 CMIS SELECT 查询,包含所需的子句和参数。

  1. 单击 ECM Search 服务的 Content Filters 选项卡,如图 12 所示。

    图 12. 内容过滤器

  2. 在 Object Type 下面,您可以选择由您的 ECM 系统所管理的任何文档类,如图 13 所示。不同的文档类具有不同的属性,可在查询中使用。在本例中,我们将使用来自我们的 ECM 服务器的根 Document 类。
    图 13. 指定一个文档类

  3. 如果您愿意,可以添加更多的文档属性列,单击 Add 按钮,使其显示在文档列表中,如图 14 所示。
    图 14. 添加文档类属性


    我们在本例中不会添加更多的列,所以您不需要单击 Add,您的屏幕不会和图示完全一样。

  4. 如果您愿意,也可以定义选择标准,在运行时用于过滤列出的文档,如图 15 所示。
    图 15. 指定文档搜索标准

    通过将任意文档属性匹配到一个字符串值,可以构建搜索条件。tw.local.cmisQuery 变量可作为 Ajax 服务的输入参数之一,并且应该用来传递一个来自 coach 的字符串值。

    与上一步一样,我们在本例中不会执行该操作,所以您不需要单击 Add Search Criterion,您的屏幕不会和图示完全一样。

 

回页首

利用 ECM 内容构建 coach

您刚完成了用于在 ECM 服务器中搜索文档的服务的创建。现在您将构建 coach,向流程的最终用户列出它并显示文档。

创建人工服务和 coach

  1. 创建新的人工服务。
  2. 将一个新的 coach 添加到服务,如图 16 所示,并双击它。
    图 16. 在人工服务上的 coach

  3. 将 Document List 和 Document Viewer 控件拖放到 coach,如图 17 所示。这些控件位于调色板的 Content 部分。
    图 17. 构建 coach

  4. 单击 Document List 1 控件,然后单击属性的 Configuration 部分,并填写各字段,如图 18 所示:
    • 选中 Allow Create 和 Allow Update
    • 指定 10 作为要显示的结果数量。
    • 对于 Search 选项,选中您之前创建的 ECM Search 服务。
    图 18. Document List 控件配置

配置 ECM 控件上的变量绑定

完成以下步骤,配置 ECM 控件上的变量绑定:

  1. 创建新的变量,用于存储由搜索返回的文档列表,如图 19 所示:
    1. 单击人工服务的 Variables 选项卡。
    2. 创建新的私有变量,其名称为 documentInfoList,类型为 ECMDocumentInfo
    3. 选中 Is List
    4. 选中 Has Default
    图 19. 在人工服务中添加变量

  2. 为 Document List 控件设置绑定,如下所示:
    1. 转到编辑器中的 Coaches 选项卡。
    2. 单击 Document List 控件。
    3. 单击 Properties 选项卡的 General 部分。
    4. 在 Binding 属性中,选中您之前创建的 documentInfoList,如图 20 所示。
    图 20. 为 Document List 控件设置绑定

  3. 为 Document Viewer 控件设置绑定,如下所示:
    1. 转到编辑器中的 Coaches 选项卡。
    2. 单击 Document Viewer 1 控件。
    3. 为 Document Viewer 控件选择绑定
    4. 在 coach 上单击 Document Viewer 控件,然后单击 Properties 选项卡的 General 部分。
    5. 在 Binding 属性中,选中您之前创建的 documentInfoList 的 listSelected (ECMDocumentInfo) 字段,如图 21 所示。
    图 21. 为 Document Viewer 控件指定绑定

 

回页首

利用 ECM 内容集成测试 coach

执行以下操作,测试 coach:

  1. 单击右侧的 Playback 按钮,如图 22 所示。

    图 22. 运行 coach

  2. Coach 在新的浏览器窗口打开,并显示存储在您的 ECM 中的文档的列表,如图 23 所示。您可以使用 Actions 图标来查看内容或元数据。您也可以使用 Create Document 按钮来上传新的文档。
    图 23. Coach 执行

 

回页首

结束语

本文介绍了利用存储在 Enterprise Content Management(企业内容管理系统)中的内容来构建 coach 的过程。虽然本文重点介绍了列出通用内容的基本步骤,但您可以配置不同的文档类和元数据,以便使用特定类型的内容。

集成 IBM Business Process Manager V8 与企业内容管理系统的更多相关文章

  1. Java Business Process Management(业务流程管理) 初识环境搭建

    一.简介 (一)什么是jbpm JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易 ...

  2. Dynamic CRM 2013学习笔记(三十九)流程2 - 业务流程(Business Process Flows)用法详解

    业务流程(Business Process Flows)是CRM 2013 里一个新的流程,它提供了可视化的流程表现.业务人员创建有效.流线型的业务流程让最终用户知道当前在哪.下一步要做什么,用户可以 ...

  3. ubuntu上安装nginx+mysql+php5-fpm(PHP5 - FastCGI Process Manager)

    题外话:由于近段时间测试环境ssh链路质量不大好,经常短线.故我把整个安装过程放到screen里去执行,以防止断线中断了安装过程.执行screen -S install,这样断线后,只要再执行scre ...

  4. architecture and business process modelling

    bpmn 架构相关的文章: 转自:https://www.heflo.com/definitions/architecture-business-process-modeling/ BPMN Mode ...

  5. Modernizing Business Process with Cloud and AI

    The world is awash with digital transformation. Every customer and partner that I talk to, across ev ...

  6. ABAP术语-Business Process

    Business Process 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/11/1035316.html A prepared sce ...

  7. Business Process and SAP ERP

    1. Definition of Organisation - Organizations are created entities within and through which people i ...

  8. Dynamics CRM - 通过 C# Plugin 来 abandon Business Process Flow

    需求说明: 当一个 Entity 存在 Business Process Process 时,有时我们需要改变其状态,在之前写的博客有讲了可以通过 JavaScript 来实现,本篇就来讲一下如何通过 ...

  9. 读《31天学会CRM项目开发》记录2 - 企业信息管理系统

    在信息技术的快速推动下,企业如果依然利用传统的管理方式,以人为主,那效率便会大打折扣.在此背景下,企业信息化系统得 到了高速发展.如我们常见的ERP系统.MES系统,都是提高公司运行效率,降低运营以及 ...

随机推荐

  1. 根据友盟统计错误分析线上的崩溃-b

    登陆友盟官网找到友盟统计,找到你iOS平台下你所属的APP(图1) 图1 点击进去会出现当日错误列表,选择你发生错误的日期(图2) 图2 我们可以看到,这一天中出现了两个错误,每个错误出现在不同的时间 ...

  2. 代码收藏系列--php--生成简短唯一订单号(转载)

    代码收藏系列--php--生成简短唯一订单号 /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:arra ...

  3. Oracle 12C -- shutdown CDB

    SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE ------------------------------ ---------- ...

  4. 你的应用是怎样被替换的,App劫持病毒剖析

    一.App劫持病毒介绍 App劫持是指运行流程被重定向,又可分为Activity劫持.安装劫持.流量劫持.函数运行劫持等. 本文将对最近利用Acticity劫持和安装劫持的病毒进行分析. 二.Acti ...

  5. cors的实现原理

    如何辨认一个请求的源domain? 如何发送和处理cors请求? 优势 和 弱点 cookie 和 伪装 1. http://www.staticapps.org/articles/cross-dom ...

  6. java中的switch case default break

    package com.didispace; /** * Created by gmq on 2017/08/07. * * @version 1.0 * @since 2017/08/07 10:4 ...

  7. zookeeper 的日常管理

    http://www.cnblogs.com/ggjucheng/p/3352591.html

  8. 奶瓶(beini)破解无线密码流程:安装、抓包、从虚拟机(VMware)拷贝握手包(拷贝到硬盘、U盘)、跑包

    1. 环境 1). Windows 7 64位版本 2). VMware 9.0.2版本 3). 奶瓶1.2.3版本(beini-1.2.3.iso) 2. 安装 2.1 安装方式一 将beini-1 ...

  9. Unity GPU Instancing的使用尝试

    似乎是在Unity5.4中开始支持GPU Instacing,但如果要比较好的使用推荐用unity5.6版本,因为这几个版本一直在改. 这里测试也是使用unity5.6.2进行测试 在5.6的版本里, ...

  10. sql server中调用c#写的dll里的方法

    最近有一项目: 一超市管理系统单机版,运行在WIN2003+SQL2005上,每天超市关门都都会关电脑,现客户要新加功能,每天关门下班后回家可以上网查看超市管理系统的数据库里的相关数据,然后再做一些原 ...