配置 IBM Business Process Management Human Task Management 小部件以便在 WebSphere Portal 中使用它

IBM Business Process Manager V7.5 中的 Human Task Management 小部件被设计为在 Business Space 环境中运行,但它们也可以在 IBM WebSphere® Portal V7 中运行。本文将描述如何在 Portal 环境中安装、配置和自定义这些小部件。这允许您在单个 Web 门户页面中构建统一的 portlet 和小部件环境,从而在门户页面中运行 BPM 流程和任务。 本文来自于 IBM Business Process Management Journal 中文版

Andreas Schuetz, 软件工程师, IBM

Andreas Schuetz 的照片Andreas Schuetz 是位于德国林根地区的 IBM 德国研发实验室的一名软件工程师。他目前正在从事 Human Task Management 小部件和 Business Process Choreographer Explorer 方面的工作。Andreas 于 1998 年加入 IBM,主要负责 IBM WebSphere MQ Workflow 的安装和配置。从 2005 年起,Andreas 一直在参与 BPM 客户端(比如 Business Process Choreographer Explorer 和 Business Process Choreographer Observer)的开发。2008 年,他开始研究 IBM Business Process Manager 的构造小部件。



Elke Painke, 软件咨询师, IBM

Elke Painke 的照片Elke Painke 是一名软件咨询师,效力于位于德国林根地区的 IBM 研发实验室的 BPM 测试团队。



2013 年 5 月 21 日

简介

IBM Business Process Manager Advanced V7.5 包含 WebSphere V7.5 提供的 Business Space(将来也会包含 Business Space),为跨 IBM Business Process Management (BPM) 产品组合的业务用户提供了一个集成的 Web 2.0 用户界面。它还包含 Human Task Management 小部件,业务用户与管理人员可以使用这个小部件与 Business Space 中的业务流程和人工任务进行交互。您还可以将这些小部件配置为在 IBM WebSphere Portal (Portal) 环境中使用。

了解架构

在发布 IBM Business Process Manager V7.5 之前,在 Portal 中设置 Human Task 小部件时,要求将 Business Space 组件与小部件和 WebSphere Portal 安装同一台应用服务器上。这样用户才能在 Portal 中看到 Business Space 选项卡,从而访问 Portal 中的 Business Space 的 "孤岛"。

这种配置使得众多有用的 WebSphere Portal 功能无法得到应用:

  • 与其他 Portal 页面或 portlet 很少交互或根本不进行交互。
  • Business Space V7 不支持自定义主题。
  • 由于 Portal V7 之前的版本对门户/混搭的支持有限,Business Space V7 小部件只能运行在 Business Space 主题中。这意味着 WebSphere Portal portlet 和包装为 portlet 的 Business Space 小部件无法呈现在同一页面上。
  • Business Space 与 Business Process Manager 小部件必须本地安装到 WebSphere Portal 配置文件上。Business Space 中不支持在 WebSphere Portal V7 上呈现远程小部件。

借助 IBM Business Process Manager Advanced V7.5 (IBM BPM),包括 Business Space 与 Portal V7,可以使用一种一致的架构与编程模型来呈现 portlet、小部件和内容:

  • 基于 Dojo 1.4 提供一个用于服务器端聚合 (SSA)、客户端聚合 (CSA) 和混搭的简化主题。
  • 用户现在可以在同一页面上结合使用 iWidgets 与 portlet。
  • 将 iWidgets 自动封装为适用于服务器端模式的 portlet。
  • 现在可以在产品的服务器(比如 IBM BPM 服务器)上安装 iWidgets,然后在 WebSphere Portal 服务器上远程进行注册。

本文描述了使用远程注册集成 Human Task Management 小部件的过程,介绍了在 WebSphere Portal V7.0.0.1 上设置、注册和使用 IBM BPM Task Management iWidgets 的主要步骤。

配置步骤概述

本文中包含的场景使用了一台独立的 Portal V7.0.0.1 服务器,远程调用安装在 Business Process Manager Advanced V7.5 服务器中的 Human Task Management 小部件。Portal 与 IBM BPM 各自安装在单独的 64 位 Windows® 计算机上。

该场景包含三个主要方面:准备设置,配置 Human Task Management 小部件以便与 Portal 一起使用,并使小部件在 Portal 中可用。

开始之前

在配置小部件设置之前,需要完成以下前提步骤:

配置 Human Task Management 小部件以便与 Portal 一起使用

拥有建立了 SSO 与 SSL 的 Portal 服务器和 BPM 服务器之后,就可以将 Human Task Management 小部件配置为可从 Portal 远程访问。这个过程包含以下步骤:

  • 步骤 5:配置 Portal 服务器上的 AJAX 代理。这支持从 Portal 服务器使用远程 URL 访问 BPM 服务器。
  • 步骤 6:在 Portal 服务器上创建端点引用入口。必须创建 Business Space 和 BPM 端点引用入口,然后才能找到 BPM 服务器上的远程小部件。必须在 WebSphere Portal 服务器上定义端点,但端点是通过在 BPM 服务器上运行 updateEndpointBindingsOnPortal 命令远程创建的。
  • 步骤 7:在 Portal 服务器上安装表单(可选)。如果您希望使用 BPM 服务器自带的预定义任务,或者希望拥有自定义表单,那么可以在 Portal 服务器上安装这些内容。
  • 步骤 8:在 WebSphere Portal 上注册 Business Space。这是使用 Business Process Manager Advanced 提供的特定于 WebSphere Portal 的小部件目录文件进行批量导入来完成的。XML 目录文件位于产品 Web 存档(WAR)文件的根文件中。对于 Human Task Management 小部件,它位于 HumanTaskManagementWidgets.war 目录的 portal_catalog.xml 文件中。
  • 步骤 9:启用 Business Space 下拉菜单。Business Space 提供了一些小部件上的额外操作(refreshhelpsend widget),默认情况下这些操作在 Portal 中是不可用的。需要以主题自定义菜单扩展的形式添加这些操作。

使小部件在 Portal 中可用

在将 Human Task Management 小部件配置为可从 Portal 访问之后,需要创建一个 Portal 页面,并向 Portal 添加小部件,对小部件进行排列,并选择自定义小部件,步骤如下:


先决条件

本文基于以下产品与版本:

  • IBM WebSphere Portal V7.0.0.1 for Windows。注意:在本示例中,Portal 至少必须是 V7.0.0.1。Portal V7.0 不支持这种配置。请注意,在本文撰写之时,这种配置仅适用于 Portal 积累补丁包 01 和 02。目前不推荐使用积累补丁包 03 及其更高版本。
  • IBM Business Process Manager Advanced V7.5 for Windows。

本文中的示例使用了一台独立的 Portal 服务器和一台独立的 BPM 服务器,每台服务器都位于各自的单元中。Business Space 配置在 BPM 服务器 上。在配置 Human Task Management 小部件以便从 Portal 进行远程访问之前,您需要完成步骤 1-4,即安装和配置上述两台服务器,并配置它们之间的 SSO 与 SSL。


步骤 1:安装和配置一台独立的 Portal 服务器

本文假设读者熟悉 Portal 安装过程,因此只是简要地讲述了 Portal 独立服务器的安装和配置。

关于安装 Portal 的更多详细信息,请参考 IBM WebSphere Portal 7 产品文档

使用 Portal 安装向导,选择以下内容:

  1. 对于 Product to install,可选择 IBM WebSphere Portal Extend
  2. 接受许可证协议。
  3. 选择 Full 作为安装类型。
  4. 接受默认值或者指定一个安装目录。该配置使用的是默认目录 C:\IBM\WebSphere。
  5. 接受默认值或者指定一个节点名称与主机名称。该配置使用 fmtc4218 作为节点名称并使用 fmtc4218.boeblingen.de.ibm.com 作为主机名称。
  6. 选择一个管理 ID。这种配置使用的用户 ID 是 wpadmin
  7. 保持 Create services 未选择。
  8. 单击 Next 两次,开始安装与配置。

成功完成安装和配置过程之后,确认 Portal 是可用的并正在运行。在我们的示例中,服务器位于 http://fmtc4218.boeblingen.de.ibm.com:10039/wps/portal。


步骤 2:安装和配置一台独立的 BPM 服务器

不同版本的 IBM BPM,包括 Advanced、Standard 和 Express,支持不同水平的业务流程管理功能。例如,Business Process Choreographer 功能只可以在 IBM BPM Advanced 版本中使用。要为本示例创建独立的 BPM 服务器,需要获得 IBM BPM Advanced 版本的安装文件。

开始安装时,可以通过启动面板或者悄悄地进行安装,您可以选择典型的或自定义的安装。对于典型的安装,产品的位架构必须与系统的位架构相匹配。如果您的系统是 32 位,那么只能安装 32 位的产品。如果需要在 64 位的系统上安装 32 位的产品,则必须使用自定义的安装选项。

要选择满足您的需要的安装方式,请参考 IBM Business Process Manager V7.5 Information Center 安装主题

执行自定义安装之后,可以使用 Profile Management Tool 或 manageprofiles 命令行工具创建一个或多个单独的服务器配置文件。

本文中的示例使用了自定义安装选项,使用 Profile Management Tool 和以下参数创建了一个单独的服务器配置文件:

  1. 从 IBM Business Process Management Advanced : Process Server 环境中选择 IBM BPM Advanced, Process Server 独立配置文件。
  2. 选择 Advanced profile creation(这支持 Business Process Choreographer 示例配置)。
  3. 选择 Deploy the administrative console
  4. 选择 Deploy the default application
  5. 指定 ProcSrv01 为配置文件名称。
  6. 指定 C:\IBM\WebSphere\AppServer\profiles\ProcSrv01 为配置文件目录。
  7. 选择 Development as performance tuning setting
  8. 接受默认值或者指定节点和主机名称。在本示例中,使用 fmtc7171 作为节点名称,并使用 fmtc7171.boeblingen.de.ibm.com 作为主机名称。
  9. 指定一个管理用户。本示例使用了用户 ID bpmadmin
  10. 接受 Security Certificate 页面上的默认值。
  11. 接受默认端口或者指定自己的端口或端口范围。
  12. 取消选择 Run as Windows service
  13. 取消选择 Create a Web server definition
  14. 选择 Configure Business Space,并取消选择 Configure IBM Forms Server
  15. 取消选择 Configure the Business Rules Manager
  16. 指定一个环境名称。本示例使用的是 Portal Integration
  17. 指定一个环境类型。本示例使用的是 Test
  18. 选择 Use server offline
  19. 取消选择 Use a database design file。本示例假设默认的数据库配置对于测试环境已经足够。对于生产环境,推荐使用数据库设计文件。
  20. 接受或修改 Database Configuration 页面上的默认值。本示例使用了默认值。
  21. 选择 Create a sample Business Process Choreographer configuration

64 位的系统中使用的是 manageprofiles 命令行工具。您可以使用 manageprofiles 命令指定所有必要参数,也可以使用 response file 参数并通过指定的文件传递参数。下面的示例显示了用于创建一个 Process Server 独立配置文件的响应文件:

清单 1. 清单 1. 用于 Process Server 独立配置文件的响应文件
create
dbServerPort=50000
procSvrDbName=BPMDB
perfDWDbName=PDWDB
dbDesignEnabled=false
dbDelayConfig=false
configureBSpace=true
AdminPassword=adminpassword
cellName=fmtc7171Node01Cell
personalCertDN=cn=fmtc7171.boeblingen.de.ibm.com,ou=fmtc7171Node01Cell,
ou=fmtc7171Node01,o=IBM,c=US
configureBPC=true
signingCertDN=cn=fmtc7171.boeblingen.de.ibm.com,
ou=Root Certificate=ou=fmtc7171Node01Cell,ou=fmtc7171Node01,o=IBM,c=US
hostName=fmtc7171.boeblingen.de.ibm.com
profileName=ProcSrv01
configureBRM=false
dbType=DB2_UNIVERSAL
webFormConfig=false
omitAction=samplesInstallAndConfig
dbUserId=db2userID
dbJDBCClasspath=${WAS_INSTALL_ROOT}\db2\java
applyPerfTuningSetting=development
adminUserName=adminUserName 
dbCreateNew=true
dbName=CMNDB
ProcessCenterURL
enableAdminSecurity=true
environmentType=Test
nodeName=fmtc7171Node01
winserviceAccountType=localsystem
portsFile=C:\IBM\WebSphere\AppServer/logs/manageprofiles\
1306941554759_portdef.props
profilePath=C:\IBM\WebSphere\AppServer\profiles\ProcSrv01
serverName=server1
winserviceCheck=true
winserviceUserName=windowsusername
dbHostName=fmtc7171.boeblingen.de.ibm.com
bspaceAlreadyConfigured=false
PersonalCertValidityPeriod=1
DbPassword=********
SigningCertValidityPeriod=15
KeyStorePassword=********
environmentName=Portal Integration
winserviceStartupType=automatic
templatePath=C:\IBM\WebSphere\AppServer\profileTemplates/BPM/
default.procsvr.adv

关于 manageprofiles 命令的更多信息,请参考 IBM Business Process Manager V7.5 Information Center 中的 manageprofiles 参数 主题。

成功完成安装和配置过程之后,验证 BPM 服务器可用并正在运行。在本示例中,它位于 https://fmtc7171.boeblingen.de.ibm.com:9043/ibm/console。


步骤 3:配置单点登录

在我们的示例中,Portal 服务器与 BPM 服务器位于单独的单元中,允许 Portal 用户调用位于 BPM 服务器中的 Business Space 小部件。假设这两个单元都允许授权用户访问,用户需要在每个单元中单独进行身份验证。为了避免这一点,需要使用 Lightweight Third-Party Authentication (LTPA) 配置单点登录 (SSO) 环境。

Cookie、LTPA 令牌和域

LTPA 是一种 WebSphere Application Server 安全协议,支持 Web 用户跨 WebSphere 物理服务器重用他们的登录证书:

  • 当用户登录时,服务器会提示用户输入名称和密码。成功进行身份验证后,会写入一个包含 LTPA 令牌的会话 cookie。这个令牌至少包含 cookie 的有效域,cookie 的名称,到期的日期与时间,以及用户身份。
  • 只要浏览器会话不关闭,用户就能访问与第一台服务器位于相同域中的任意成员服务器,同时不必重新进行身份验证。在我们的示例中,当 Portal 用户访问位于 BPM 服务器上的 Business Space 小部件时,会将 cookie 放在请求中进行发送。
  • BPM 服务器从 cookie 中提取 LTPA 令牌,然后进行验证。

为了做到这一点,必须进行以下配置:

  • 用户必须在两个单元中都是已知的。最简单的实现方法是同时在两个单元中使用相同的用户注册表。
  • SSO 域中系统上的领域名必须匹配。如果没有指定任何域名则作为计算机名,领域名就是域名。在我们的示例中,Portal 服务器与 BPM 服务器分别位于不同的计算机上。因此必须指定一个域。请注意,域名是区分大小写的。
  • Portal 服务器与 BPM 服务器必须共享 LTPA 密钥。
  • 浏览器中必须启用 HTTP cookie。

为进行单点登录建立用户注册表和用户

在跨单元的配置中,进行单点登录的前提条件是提供一个在两个单元中均为已知的用户 ID。例如,在生产环境中,您可以对 Portal 和 BPM 环境使用相同的中央用户注册表 (central user registry),比如一台 LDAP 服务器。

本文中的示例使用了一种简化的测试配置。它在两台服务器中都使用了基于文件的内置库。两个库中均定义了同一个用户 ID,即 myAdmin。这个用户 ID 需要具有以下权限:

  • 在 BPM 服务器上,用户需要是存在的,与 Portal 服务器上的用户具有相同的域,并且拥有相同的密码。无需在 BPM 服务器上拥有任何管理员权限,运行时便可在 Business Space 中使用 Human Task Management 小部件。
  • 在 Portal 服务器上,用户需要拥有管理员权限。稍后在配置中,位于 BPM 服务器上的 Business Space 小部件的 REST 端点引用将在 Portal 服务器上远程进行注册。必须在 WebSphere Portal 服务器上定义端点,但它们是通过在 BPM 服务器上使用 wsadmin 会话远程创建的。这要求用户 ID 在两台服务器上同时存在,并且在 Portal 服务器上具有管理员权限。

在 BPM 服务器上创建 myAdmin 用户

在 BPM Advanced V7.5 中,针对独立服务器的默认用户配置已经改变。创建默认的独立配置文件时指定的用户并非 defaultWIMFileBasedRealm 的成员(版本 7 的默认行为)。相反,它是基于数据库的内部领域 twinternal 的一个成员。因为这个领域在 Portal 中并不存在,需要为 SSO 指定另一个用户 ID。

在本示例中,需要使用用户 ID bpmadmin(使用领域 twinternal)创建独立的 BPM 服务器配置文件。使用管理控制台为 SSO 配置创建另一个用户 myAdmin (领域 defaultWIMFileBasedRealm,无特殊的用户组成员身份),如图 2 中所示。

图 2. 实现单点登录所需的 BPM 用户
实现单点登录所需的 BPM 用户

创建 myAdmin 用户作为 Portal 管理员

以下步骤描述了本文中是如何创建 myAdmin 用户的:

  1. 使用 wpadmin 用户 ID (或拥有管理员权限的其他任意用户 ID)登录 Portal。
  2. 单击 Administration 选项卡。
  3. 展开左侧的 Access 区域。
  4. 单击 Users and Groups
  5. 在 Manage Users and Groups 屏幕上,单击 New User
  6. 指定 myAdmin 作为用户 ID。
  7. 单击 OK 创建新用户。
  8. 回到 Manage Users and Groups 对话框,如图 3 中所示:
    1. 选择 Users 作为搜索标准
    2. 选择 uid 作为搜索条件。
    3. 选择 myAdmin
    4. 单击 Search 将会显示 myAdmin 用户。
      图 3. 实现单点登录所需的 Portal 用户
      实现单点登录所需的 Portal 用户
    5. 单击 Duplicate group assignments 将会显示一个可用用户列表。
    6. 选择 Portal 服务器的管理员用户 ID(wpadmin)。
    7. 单击 OK。

要验证用户配置,可使用 myAdmin 用户名登录 Portal,并确保能够看到 Administration 选项卡。

指定域

要在 Portal 服务器和 BPM 服务器之间启用 SSO,需要确保已将这两台服务器都配置为同一个 DNS 域的成员。DNS 域中每个系统上的领域名都是区分大小写的,必须完全匹配。例如,如果 DNS 域被指定为 mycompany.com,对于属于 mycompany.com 域中主机上的任意 Domino 服务器或 WebSphere Application Server(比如 a.mycompany.comb.mycompany.com),SSO 是有效的。

要在 Portal 服务器与 BPM 服务器中指定域,需要完成以下步骤:

  1. 对于每台服务器,以拥有管理员权限的用户身份登录到 Integrated Solutions Console 中。
  2. 选择 Security => Global Security
  3. 在 Authentication 区域中,展开 Web and SIP security 并选择 Single sign-on
  4. 在 Single Sign-On 对话框中,选择 Enable 并指定域名。
  5. 单击 OK 保存修改。

注意:您需要重新启动服务器,但这将在以后的步骤中完成。

图 4 显示了 BPM 服务器上的一个示例域配置。

图 4. 指定域
指定域

共享 LTPA 密钥

启用 SSO 时,就会创建一个包含 LTPA 令牌的 cookie,并将它插入 HTTP 响应中。当 Portal 用户访问位于 BPM 服务器上的 Business Space 小部件时,会将 cookie 放入请求中进行发送。然后从 cookie 中提取 LTPA 令牌并进行验证。因为 Portal 服务器和 BPM 服务器位于单独的单元中,所以这两个单元不仅需要共享同一个用户注册表,而且还需要共享 LTPA 密钥,以便让 SSO 工作。

要共享 LTPA 密钥,需要从 Portal 服务器导出它们,然后将它们导入 BPM 服务器中。

要从 Portal 服务器(WebSphere_Portal)导出 LTPA 密钥:

  1. 以拥有管理员权限的用户身份登录 Portal 服务器的 Integrated Solutions Console。
  2. 选择 Security => Global Security
  3. 在 Authentication 区域中,单击 LTPA
  4. 在 Cross-cell single sign-on 区域中,为导出 LTPA 密钥指定一个密码并进行确认。在 BPM 服务器上导入密钥时需要使用这个密码。
  5. 为 LTPA 密钥指定一个完全限定的文件名。稍后将在 BPM 服务器上导入这个文件。请注意,在 Portal 服务器所在的计算机上必须存在相应的路径。如果指定文件名时没有指定路径,那么该文件将保存到 Portal 服务器的配置文件根目录中。
  6. 单击 Export,将密钥导出到指定的文件中。

要将 Portal 服务器的 LTPA 密钥导入到 BPM 服务器中:

  1. 将包含 LTPA 密钥的文件复制到 BPM 计算机上。
  2. 以拥有管理员权限的用户身份登录 BPM 服务器的 Integrated Solutions Console。
  3. 选择 Security => Global Security
  4. 在 Authentication 区域中,单击 LTPA
  5. 在 Cross-cell single sign-on 区域中,指定并确认您在从 Portal 服务器导出密钥时指定的密码。
  6. 在 BPM 计算机上指定从 Portal 服务器复制 LTPA 密钥时使用的完全限定文件名。
  7. 单击 Import,从文件导入密钥。
  8. 单击 OK 保存配置。

图 5 显示了从 Portal 服务器导入 LTPA 密钥的一个示例。

图 5. 导入 LTPA 密钥
导入 LTPA 密钥

请注意:在跨单元共享 LTPA 密钥时,应该在 Portal 服务器与 BPM 服务器中同时禁用自动密钥生成功能,防止生成新密钥时覆盖导入的密钥。

验证自动密钥生成功能是否禁用的步骤如下:

  1. 对于每台服务器,以拥有管理员权限的用户身份登录到 Integrated Solutions Console 中。
  2. 选择 Security => SSL certificate and key management
  3. 在 Related Items 区域中,单击 Key set groups
  4. 在 Key set groups 对话框中,单击 NodeLTPAKeySetGroup 条目。
  5. 在 General Properties 对话框中,确定没有选择 automatic key generation,如图 6 中所示。
图 6. 禁用自动密钥生成
禁用自动密钥生成

要验证 SSO 已成功配置,需要完成以下步骤:

  1. 重新启动所有服务器(BPM 服务器、Portal 服务器和 WebSphere_Portal)。
  2. 清除浏览器缓存。
  3. 在浏览器窗口中,以 myAdmin 身份登录 Portal 服务器。
  4. 成功登录(而且没有从 Portal 服务器注销)后,打开另一个浏览器选项卡。
  5. 输入一个 BPM 服务器 URL,例如登录到 BPM 服务器的 Integrated Solutions Console 或 Business Space 中的 URL。不必指定用户 ID 和密码,控制台会显示它们。

SSO 故障排除

如果看到 Integrated Solutions Console 或 Business Space 的登录面板,那么您的 SSO 配置宣告失败。要找出失败的原因,首先检查前面的步骤是否成功。接下来,使用 Web 调试检查浏览器是否收到一个带有您指定的域的 LtpaToken2 cookie。

要检查这一点:

  1. 清除浏览器中的所有 cookie。
  2. 登录到 Portal 服务器中。您会看到如图 7 中所示的一个 LtpaToken2 cookie。
    图 7. cookie 故障排除
    cookie 故障排除
  3. 再次清除所有 cookie。
  4. 登录到 Business Space 中。
  5. 验证 LtpaToken2 值与第一个相同。

请注意:在指定 URL 时,确保始终指定完全限定的主机名称。否则,应用服务器无法将计算机名与 SSO 域相关联。例如,http://fmtc7171:9080/BusinessSpace 将无法获取域的 SSO LTPA 令牌,而 http://fmtc7171.boeblingen.de.ibm.com:9080/BusinessSpace 可以获取该令牌。

关于单点登录的更多信息,请参考 WebSphere V7 Information Center 中的 使用 LTPA cookie 进行单点登录的身份验证 与 WebSphere V7.0 Portal 产品文档中的 在 IBM WebSphere Portal 和 WebSphere Process Server 之间建立单点登录


步骤 4:在 Portal 服务器与 BPM 服务器之间配置 SSL

配置 SSO 时,服务器可以解密由另一台服务器生成的 LTPA 令牌,并从中获取识别用户身份所需的系统信息。如果不配置 SSL,这些 LTPA 令牌将通过不安全的通道进行传输。是否需要配置 Secure Sockets Layer (SSL) 取决于您的安全要求。

例如,如果您计划在端点文件中使用 HTTPS,端点位置与 Business Space 位于不同的节点上,而且 SSL 证书是自签名的,那么您需要在 Portal 服务器与 BPM 服务器之间配置 SSL。

在 Portal 服务器与 BPM 服务器之间建立 SSL 信任可以通过多种方法来实现,这取决于您的安全环境。其中一个方法是将 BPM 服务器的 SSL 签名证书导入到 Portal 服务器的 SSL 信任库中,反之亦然。

关于在 Portal 与 BPM 之间交换证书的分步指导,请参考 WebSphere Portal 信息中心中的 在跨单元设置中启用流程集成,步骤 4-6。关于 SSL 的更多信息,请参考 WebSphere V7 Information Center 中的 使用 Secure Sockets Layer (SSL) 保护通信

在 Portal 服务器与 BPM 服务器之间建立 SSO 与 SSL之后,您可以将 Human Task Management 小部件配置为从 Portal 进行远程访问,正如步骤 5-12 中所描述的那样。


步骤 5:配置代理服务器

图 1 中所示,小部件与 BPM 服务器之间的所有 HTTP 请求都要通过 Portal 服务器上的 Ajax 代理。这样做的主要原因是浏览器允许 JavaScript 应用程序只连接到始发的服务器,在我们的示例中是 Portal 服务器。通过代理路由请求隐藏了以下信息:来自浏览器的请求的目的地是 BPM 服务器。

在 Portal 服务器上修改 Ajax 代理配置

在默认的 Portal 配置中,代理配置不允许请求到达除 Portal 服务器之外的其他服务器。因此,需要将代理配置修改为允许请求到达 BPM 服务器。

如果您有多台远程服务器或多个 URL,必须允许 Portal 服务器的代理到达,那么可以使用动态策略项来自定义代理配置。每个部署的代理策略可能是不一样的。请参考 WebSphere Portal 文档 中关于配置 WebSphere Portal 服务器代理的多种方法的内容。

在我们的示例中,我们将把原始的代理配置文件修改如下。最终的 integration-proxy-config.xml 文件也附在了本文中。

  1. 将原始的 proxy-config.xml 文件从 C:\IBM\WebSphere\PortalServer\base\wp.proxy.config\installableApps\wp.proxy.config.ear\wp.proxy.config.war\WEB-INF 复制到某个工作位置,比如 C:\IBM\integration-proxy-config.xml。
  2. 使用您最喜欢的编辑器,在文件中添加下面这些项:
    	<proxy:policy url="<REMOTE_BPM_URL>" acf="none">
    	<proxy:actions>
    	<proxy:method>GET</proxy:method>
    	<proxy:method>HEAD</proxy:method>
    	<proxy:method>POST</proxy:method>
    	<proxy:method>DELETE</proxy:method>
    	<proxy:method>PUT</proxy:method>
    	
    	</proxy:actions>
    	<proxy:cookies>
    	<proxy:cookie>LtpaToken</proxy:cookie>
    	<proxy:cookie>LtpaToken2</proxy:cookie>
    	<proxy:cookie>JSESSIONID</proxy:cookie>
    	<proxy:cookie>CRN</proxy:cookie>
    	<proxy:cookie>caf</proxy:cookie>
    	<proxy:cookie>cam_passport</proxy:cookie>
    	<proxy:cookie>cc_session</proxy:cookie>
    	<proxy:cookie>userCapabilities</proxy:cookie>
    	<proxy:cookie>usersessionid</proxy:cookie>
    	</proxy:cookies>
    	<proxy:headers>
    	<proxy:header>User-Agent</proxy:header>
    	<proxy:header>Accept*</proxy:header>
    	<proxy:header>Content*</proxy:header>
    	<proxy:header>Authorization*</proxy:header>
    	<proxy:header>X-Method-Override</proxy:header>
    	<proxy:header>Set-Cookie</proxy:header>
    	<proxy:header>If-Modified-Since</proxy:header>
    	<proxy:header>If-None-Match</proxy:header>
    	<proxy:header>X-Server</proxy:header>
    	<proxy:header>X-Update-Nonce</proxy:header>
    	<proxy:header>X-Requested-With</proxy:header>
    	<proxy:header>com.ibm.lotus.openajax.virtualhost</proxy:header>
    	<proxy:header>com.ibm.lotus.openajax.virtualport</proxy:header>
    	<proxy:header>Slug</proxy:header>
    	<proxy:header>SOAPAction</proxy:header>
    	</proxy:headers>
    	</proxy:policy>
  3. 使用指向 BPM 服务器的 URL 替换文本 <REMOTE_BPM_URL>。在我们的示例中,这一项的内容如下:
    <proxy:policy url="https://fmtc7171.boeblingen.de.ibm.com:9443/*" acf="none">
  4. 核实 proxy-config.xml 文件包含以下元数据设置:
    	<proxy:meta-data>
    	<proxy:name>forward-http-errors</proxy:name>
    	<proxy:value>true</proxy:value>
    	</proxy:meta-data>
    	<proxy:meta-data>
    	<proxy:name>socket-timeout</proxy:name>
    	<proxy:value>30000</proxy:value>
    	</proxy:meta-data>
  5. 如果使用自签名的 SSL 证书,则需要添加以下项:
    	<proxy:meta-data>
    	<proxy:name>unsigned_ssl_certificate_support</proxy:name>
    	<proxy:value>true</proxy:value>
        </proxy:meta-data>

    如果缺少这一项,则有可能出现下面的错误消息:
    502 BMWPX0017E: The Secure Socket Layer (SSL) certificate of the target host is not trusted.
  6. 保存文件。
  7. 检查修改后的代理文件。更改为 Portal 安装的 ConfigEngine 目录。在我们的示例中,该目录位于 C:\IBM\WebSphere\wp_profile\ConfigEngine。
  8. 运行 checkin-wp-proxy-config 脚本,如下所示:
    ConfigEngine.[bat|sh] checkin-wp-proxy-config 
    -DProxyConfigFileName=<dir_path/temporary_proxy_file.name>
    -DWasPassword=<application_server_password>
    -DWasUserid=<application_server_user_ID>
    -DPortalAdminId=<WebSphere_Portal_administrator_ID>
    -DPortalAdminPwd=<WebSphere_Portal_administrator_password>

    在我们的示例中,可以使用这些参数来运行脚本:
    ConfigEngine checkin-wp-proxy-config 
    -DProxyConfigFileName=C:/IBM/integration-proxy-config.xml 
    -DWasPassword=myAdmin 
    -DWasUserid=myAdmin 
    -DPortalAdminId=myAdmin 
    -DPortalAdminPwd=myAdmin
  9. 核实脚本已成功运行,成功运行的标志是 Return Value: 0
  10. 在 Portal 服务器的 Integrated Solution Console 中,重新启动应用程序 AJAX Proxy Configuration

检查代理配置

重新启动应用程序之后,可以检查新的 Ajax 代理配置是否已被激活。因为配置文件内容保存在资源环境提供程序的一个名为 WP ConfigService 的属性中,所以您可以通过 Portal 服务器的 Integrated Solutions Console 检查激活情况,如下所示:

  1. 选择 Resources => Resource environment => Resource environment providers
  2. 单击 Resource Environment Providers
  3. 选择提供程序 WP ConfigService
  4. 在 WP ConfigService 对话框中的 Additional Properties 下,单击 Custom properties
  5. 滚动到属性 proxy.config.file,然后检查它是否已经包含修改内容。

另外,您也可以从应用服务器自带的 DefaultApplication 访问 hello servlet。在我们的示例中,通过 Portal 代理访问 hello servlet 的 URL 是 http://fmtc4218.boeblingen.de.ibm.com:10039/wps/proxy/https/fmtc7171.boeblingen.de.ibm.com%3A9443/hello。

如果代理配置正确,servlet 就会如图 8 中这样显示。

图 8. 使用 hello servlet 验证代理配置
使用 hello servlet 验证代理配置

步骤 6:在 Portal 服务器上创建端点引用

服务端点是对 Web 存档的 REST API 或根 URL 的引用。它们在应用服务器上被注册为资源环境入口。在初始化期间,小部件从为 iWidgets 提供主机服务的服务器查询端点。Human Task Management 小部件所需的端点默认注册在 BPM 服务器上,Portal 服务器不知道它们,因此也需要注册它们。

识别要注册的 Human Task Management 小部件端点

Human Task Management 小部件需要以下端点:

表 1. 表 1. 强制性端点
端点 ID定义端点 ID 所用的文件
{com.ibm.bspace}HumanTaskManagementWidgetsRootId HumanTaskManagementWidgetsEndpoint.xml
{com.ibm.bpm}HTM HumanTaskManagementEndpoints.xml
{com.ibm.bpm}BFM HumanTaskManagementEndpoints.xml
{com.ibm.bpm}VirtualMemberManager wsumEndpoint.xml
{com.ibm.bspace}bspaceServerRootId bspaceEndpoints.xml
{com.ibm.bspace}bspaceWidgetHelpRootId bspaceEndpoints.xml
表 2. 表 2. 可选端点
端点 ID定义端点 ID 所用的文件
{com.ibm.bspace.htm}bspaceUserImageServiceRootId userImagesEndpoint.xml
{com.ibm.bpm}CustomExtension CustomExtensionServiceEndpoint.xml

请注意:并非所有小部件都需要上述所有端点。要找出特定小部件需要哪些端点,检查它的 catalog.xml 文件。对于 Human Task Management 小部件,该文件名为 catalog_HumanTaskManagement.xml,位于 <install_root>/BusinessSpace/registryData/catalogs 中的 BPM 服务器上。在我们的示例中,这个位置是 C:\IBM\WebSphere\AppServer\BusinessSpace\registryData\catalogs。

搜索小部件定义,然后搜索以下标签:

	<metadata name="com.ibm.bspace.serviceEndpointRefs">

检查所有列出的 attribute required 被设置为 true 的端点。

在 BPM 服务器上的两个位置中可以找到上述端点文件:

  1. Business Space 安装文件夹 <WAS_home>/BusinessSpace/registryData/endpoints,在本示例中为 C:\IBM\WebSphere\AppServer\BusinessSpace\registryData\endpoints,包含 HumanTaskManagementEndpoints.xml、userImagesEndpoint.xml 和 CustomExtensionServiceEndpoint.xml。
  2. Business Space 配置文件文件夹 <USER_INSTALL_ROOT>/BusinessSpace/<node_name>/<server_name>/mm.runtime.prof/endpoints,在本示例中为 C:\IBM\WebSphere\AppServer\profiles\ProcSrv01\BusinessSpace\fmtc7171Node01\server1\mm.runtime.prof\endpoints,包含 bspaceEndpoints.xml、HumanTaskManagementWidgetsEndpoint.xml 和 wsumEndpoint.xml。

更新端点文件以便与您的配置相匹配

用于在 Portal 中注册端点的注册命令需要使用一个目录作为输入参数。因此,推荐您将所有必需的端点文件复制到一个新的单独目录中,然后修改它们。在本示例中,使用的目录是 C:\IBM\endpoints,而且下面只列出了必须使用的文件:

  • HumanTaskManagementEndpoints.xml
  • bspaceEndpoints.xml
  • HumanTaskManagementWidgetsEndpoint.xml
  • wsumEndpoint.xml

在远程 Portal 服务器上注册端点文件之前,需要将它们包含的 URL 从相对 URL 变成为完全限定的 URL,因为 服务器在它自己的路径中无法找到正确的端点。完全限定的 URL 也必须包含域。

修改 HumanTaskManagementEndpoints.xml 中的 URL 时,还需要检查该 URL 是否指向正确的 REST 端点。上面列出的端点文件是模板,不会影响 BPM 服务器的当前配置。从 IBM BPM V7.5 开始,HumanTaskManagementEndpoints.xml 中的每个端点都有三个可能的值:

对于过程服务端点 {com.ibm.bpm}BFM:

  • 业务流程编排器 REST 服务:/rest/bpm/bfm
  • 联合(流程)REST 服务:/rest/bpm/federated/bfm
  • 业务流程定义引擎服务:/rest/bpm/wle

对于任务服务端点 {com.ibm.bpm}HTM:

  1. 业务流程编排器 REST 服务:/rest/bpm/htm
  2. 联合(流程)REST 服务:/rest/bpm/federated/htm
  3. 业务流程定义引擎服务:/rest/bpm/wle

在默认的 Business Space 配置中,使用的是联合 REST 服务。

要找出运行在 BPM 服务器上的 Business Space 使用了哪些值,请登录到管理控制台中并导航至 Application servers => server1 => Business Space Configuration => REST 服务端点注册。然后检查 Process 服务与 Task 服务类型的 URL。

使用正确的 URL 与端点值更新所复制文件中的每个 <tns:url> 标签。

图 8 显示的 HumanTaskManagementEndpoints.xml 是一个经过修改的示例端点文件。本文的 下载 部分提供了所有使用的端点文件。

清单 2. 具有完全限定 URL 的示例端点文件
<tns:BusinessSpaceRegistry xmlns:tns="http://com.ibm.bspace/BusinessSpaceRegistry"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://com.ibm.bspace/BusinessSpaceRegistry 
BusinessSpaceRegistry.xsd ">

  <tns:Endpoint>
    <tns:id>{com.ibm.bpm}HTM</tns:id>
    <tns:type>{com.ibm.bpm}HTM</tns:type>
    <tns:version>7.5.0.0</tns:version>
    <tns:url>https://fmtc7171.boeblingen.de.ibm.com:9443/
            rest/bpm/federated/htm/</tns:url>
    <tns:description>Location of backing services for HTM widgets</tns:description>
  </tns:Endpoint>

  <tns:Endpoint>
    <tns:id>{com.ibm.bpm}BFM</tns:id>
    <tns:type>{com.ibm.bpm}BFM</tns:type>
    <tns:version>7.5.0.0</tns:version>
    <tns:url>https://fmtc7171.boeblingen.de.ibm.com:9443/rest/bpm/federated/bfm/</tns:url>
    <tns:description>Location of backing services for BFM widgets</tns:description>
  </tns:Endpoint>

</tns:BusinessSpaceRegistry>

使用 updateEndpointBindingsOnPortal 注册端点

在 wsadmin 会话中使用 updateEndpointBindingsOnPortal 命令,在 Portal 服务器上注册端点文件。此命令可创建对 WebSphere Portal 应用服务器上 REST 端点的引用。

AdminTask.updateEndpointBindingsOnPortal 命令是 Business Space 安装的一部分。因此,必须从 BPM 服务器的 bin 目录中运行 wsadmin 会话。

  1. 在 BPM 服务器上,打开一个命令提示,并打开 <install_root>/bin 目录。
  2. 使用以下参数启动 wsadmin:
    wsadmin -lang jython -conntype none

    请注意:在撰写本文时,updateEndpointBindingsOnPortal 仅在脱机模式下有效。

  3. 使用以下参数运行 updateEndpointBindingsOnPortal 命令:
    AdminTask.updateEndpointBindingsOnPortal('[
    -nodeName <Portal_server_name> 
    -endpointBindingDirectoryName <directory_containing_endpoints_files_on_local_system>
    -host <Portal_server_IP_or_host>
    -port <Portal SOAP_port_default_8879>
    -user <Portal_admin_ID>
    -password <Portal_admin_password]>')

    在本示例中,我们使用了以下参数:
    AdminTask.updateEndpointBindingsOnPortal('[
    -nodeName fmtc4218 
    -serverName WebSphere_Portal 
    -endpointBindingDirectoryName c:/IBM/endpoints 
    -host fmtc4218 
    -port 10025 
    -user wpadmin 
    -password wpadmin]')
  4. 重新启动 Portal 服务器。

验证端点注册

所有已注册端点均被保存为资源环境提供程序 WP Mashup Endpoints 的自定义属性。在 Integrated Solutions Console 中验证它们的方法如下:

  1. 选择 Resources => Resource environment => Resource 环境提供程序
  2. 选择 Resource Environment Providers
  3. 选择提供程序 WP Mashup Endpoints
  4. 在 WP Mashup Endpoints 对话框中的 Additional Properties 下,单击 Custom properties

每个端点都有三个自定义属性。要检查 URL 是否正确,可使用额外的后缀 ".url" 搜索端点名称。例如,要检查 {com.ibm.bpm}HTM 端点,可搜索属性 {com.ibm.bpm}HTM.url。


步骤 7:在 Portal 服务器上安装表单(可选)

能够找到 Web 存档 (WAR) 或企业存档 (EAR) 提供的表单的惟一条件时,它们已经安装在 Portal 服务器上。如果希望使用 BPM 服务器自带的预定义任务,则需要安装位于 BPM 服务器上的 HumanTaskManagementWidgets.ear 文件。EAR 文件位于 <profile_home>\ installableApps\BusinessSpace\<cellname>\<servername> 下。在本示例中,它的位置是:C:\IBM\WebSphere\AppServer\profiles\ProcSrv01\installableApps\BusinessSpace\fmtc7171Node01\server1\HumanTaskManagementWidgets.ear。

尽管 EAR 的安装没有什么特别,但在将模块映射到正确的服务器时需要特别注意。默认情况下,模块安装在 server1 上,但需要将它们安装在 WebSphere_Portal 服务器上。

在本示例中,包含表单的 WAR 与 EAR 被安装在 Portal 计算机上,如下所示:

  1. 登录 Portal 管理控制台。
  2. 在右侧展开 Applications
  3. 选择 New Application => New Enterprise Application
  4. 指定通向 HumanTaskManagementWidgets.ear 的路径,然后单击 Next
  5. 选择 Fast Path,然后单击 Next
  6. 单击 Next 转到 Step 2 Map modules to servers
  7. 选择 WebSphere_Portal 服务器作为目标服务器。
  8. 在底部的表中,选择所有模块并单击 Apply,然后单击 Next
  9. 单击 Finish
  10. 启动应用程序。

步骤 8:在 WebSphere Portal 上注册 Human Task Management 小部件

小部件的注册是通过 Portal 服务器上的 Portal ConfigEngine 工具批量完成的。

在注册小部件之前,必须完成以下步骤:

  • 端点注册:iWidget.xml 文件的位置使用端点定义解析。因此在这个步骤之前,您必须已经成功注册。
  • Portal Ajax 代理配置:ConfigEngine 通过 Portal Ajax 代理进行连接。如果代理配置不正确,注册就会失败。

ConfigEngine 工具远程连接到 BPM 服务器,并下载注册小部件所需的所有信息。要运行小部件,工具需要知道目录文件名,以及在哪个 URL 下能找到该文件。然后使用目录的内容来确定 iWidget.xml 文件的位置,并将它下载到 Portal 服务器中。下面的内容将引导您完成这些步骤。

识别用于注册的目录文件

为了在调色板中显示小部件,Portal 服务器要求 Human Task Management 小部件的目录文件采用特殊格式。目录文件的名称是传递给 ConfigEngine 命令的参数之一。ConfigEngine 期望使用对应的 EAR 文件中的小部件的 WAR 文件根目录中的目录。对于 Human Task Management 小部件,该文件名为 portal_catalog.xml。

识别 Human Task Management 小部件的根上下文

Human Task Management 小部件的默认上下文根是 /HumanTaskManagementWidgets。到 BPM 服务器目录的完整 URL 是 http://fmtc7171.boeblingen.de.ibm.com:9080/HumanTaskManagementWidgets/portal_catalog.xml。

因为 ConfigEngine 通过 Portal Ajax 代理进行连接,所以此链接只有在代理配置文件包含这个端口的策略时才有效。在我们的示例中,情况并非如此。

根据环境的安全要求,可以给允许连接到端口 9080 的代理配置添加一条策略,也可以使用目录的安全 URL:https://fmtc7171.boeblingen.de.ibm.com:9443/HumanTaskManagementWidgets/portal_catalog.xml。

验证可通过代理访问目录 URL

要验证目录 URL 能够通过代理进行访问,则需要在 URL 前面附上代理 URL,然后将它输入浏览器的地址栏中。在我们的示例中,代理的前缀是 http://fmtc4218.boeblingen.de.ibm.com:10039/wps/proxy/。Human Task Management 小部件目录的完整 URL 是:http://fmtc4218.boeblingen.de.ibm.com:10039/wps/proxy/https/fmtc7171.boeblingen.de.ibm.com%3A9443/HumanTaskManagementWidgets/portal_catalog.xml。

使用批量注册功能注册 Human Task Management 小部件

现在,使用上面的 URL 就可以注册小部件,如下所示:

  1. 在 Portal 服务器上,打开一个命令提示,并转到位于 <wp_profile_root>/ConfigEngine 的 ConfigEngine 目录。在本示例中,该目录是 C:\IBM\WebSphere\wp_profile\ConfigEngine。
  2. 使用以下参数运行 ConfigEngine 工具:
    ConfigEngine.[bat|sh] register-iwidget-definition 
    -DIWidgetCatalog=<URL_to_catalog_XML_file>
    -DWasPassword=<password> 
    -DWasUserid=<ID> 
    -DPortalAdminId=<ID>
    -DPortalAdminPwd=<password>
    -DRegistrationAspects=catalogTitlesOverule,considerWidgetParam,
    considerUniqueName

    在本示例中,命令与参数如下所示:

    ConfigEngine.bat register-iwidget-definition                    
    -DIWidgetCatalog=https://fmtc7171.boeblingen.de.ibm.com:9443/HumanTaskManagementWidgets
    /portal_catalog.xml
    -DWasPassword=wpadmin
    -DWasUserid=wpadmin
    -DPortalAdminId=wpadmin
    -DPortalAdminPwd=wpadmin
    -DRegistrationAspects=catalogTitlesOverule,considerWidgetParam,considerUniqueName
  3. 检查工具的输出。成功的标志是 Return Value: 0

目录中列出的每个 iWidget 现在已经注册,已经创建了 iWidget 封装器 portlet 的一份拷贝并可以使用它。


步骤 9:启用 Business Space 下拉菜单

Business Space 提供一些小部件上的额外操作(refreshhelpsend widget),默认情况下这些操作在 Portal 中是不可用的。这些操作需要以主题自定义菜单扩展的形式添加。IBM BPM V7.5 Information Center 中的 配置小部件与 WebSphere Portal 同时使用 一文的步骤 4 描述了如何启用 Business Space 小部件使用的菜单项,让它们出现在 WebSphere Portal 中。

然而,这些说明没有解释需要调整哪些字段。您至少需要更新两个文件:theme_??.html 和 widgetActions.json,其中的 ?? 是进行这次更新时所使用语言的语言标识符。因此,如果您的站点支持多种语言,则需要更新多个版本的 theme_??.html 文件。使用 WebDav 文件夹可以访问这些文件。关于通过 WebDav 访问这些文件的更多常见信息,请参考 Information Center 中的 连接 WebDav 文件夹以自定义 Business Space

请注意:Information Center 中描述的 WebDav 访问仅在 Windows XP 上使用 Explorer 时有效。在 Windows Vista 或 Windows 7 上,您可能需要使用第三方的 WebDav 客户端。

在本示例中,我们准备修改默认的门户主题 PageBuilder2。该主题可以在以下位置找到:http://<Portal_hostname>:10039/wps/mycontenthandler/dav/fs-type1。对于本示例,该地址为 http://fmtc4218.boeblingen.de.ibm.com:10039/wps/mycontenthandler/dav/fs-type1。

在仅支持英语的配置中,您需要更新以下文件:

  • themes/PageBuilder2/menuDefinitions/widgetActions.json
  • themes/PageBuilder2/nls/theme_en.html

在非英语的配置中,还需要更新 theme_??.html(参见图 9)。

下载这些文件,为每个文件创建一个备份,使用 Information Center 主题的 步骤 4 中的代码片段来更新它们,然后再次上传它们。

要激活您的修改,需要清除浏览器缓存并重新加载 Portal 页面。

图 9. 编辑自定义主题
编辑自定义主题

步骤 10:创建一个包含 Human Task Management 小部件的门户页面

配置中的下一步骤是创建一个包含 Human Task Management 小部件的门户页面。然而,在创建门户页面之前,可以在 Business Space 中创建一个类似的空间。如果有些内容在门户页面上无效,那么可以使用这个参考空间进行验证。

从模板创建一个参考空间(可选)

要在 BPM 服务器上的 Business Space 中创建参考空间,步骤如下:

  1. 使用拥有管理员权限的 BPM 用户 ID 登录到 Business Space 中。在本示例中,我们使用的是 myAdmin。
  2. 选择 Actions => Create space
  3. 选择一个空间名称。我们使用的是 Portal Reference Space
  4. 选择 Create a new space using a template
  5. 从下拉列表中选择 Interact with Processes and Task,如图 10 中所示。
  6. 单击 Save 创建新的空间。
图 10. 在 BPM 服务器上创建一个参考空间
在 BPM 服务器上创建一个参考空间

这将创建一个名为 Portal Reference Space 的空间,它带有两个页面,分别为 Initiate and Work with TasksCheck Status。图 11 显示了用户 myAdmin 新创建的参考空间。

图 11. 用户 myAdmin 的样例 BPM 参考空间
用户 myAdmin 的样例 BPM 参考空间

创建一个 Portal 页面并添加小部件

最后一个步骤是创建一个新的 Portal 页面,并在此页面上放置 Human Task Management 小部件:

  1. 使用拥有管理员权限的用户 ID 登录到 Portal 服务器中。我们使用的是 myAdmin。
  2. 在 Welcome 页面的右上方,单击 Actions,然后单击 Edit Page。这将显示一个名为 New Page 的新选项卡。

    请注意:如果 Edit Page 菜单项没有显示出来,可能是因为浏览器无法显示它(例如,Firefox 4 就无法显示它)。在这种情况下,可以尝试另一种浏览器。

  3. 选择 New Page 选项卡。
  4. 输入页面的名称。您可以指定任意名称。我们使用与 BPM Business Space 页面相同的名称,即 Interact with Processes and Tasks
  5. 单击 Create Page
  6. 要将主题切换为 Client Side Aggregation (CSA),单击 Actions => Edit Page properties
  7. 选择 Client Side Aggregation – Rendering
  8. 单击 OK 关闭页面属性。
  9. 要再次切换到页面编辑模式中,单击 Actions => Edit Page
  10. 在工具栏上单击 Customize,将显示小部件调色板。请注意:目前 Human Task Management 小部件仅在 All 目录中可见。
  11. Browse Content 下方单击 All
  12. 要对结果进行过滤,请在 Search All 输入字段中输入单词 Task,然后单击搜索按钮。
  13. 将以下小部件拖动到页面上:TasksTask DefinitionsTask Information
  14. 在工具栏上单击 Save,保存页面。

现在首次加载小部件代码,将显示小部件的内容,如图 12 中所示。

图 12. Portal 页面上的 Human Task Management 小部件
Portal 页面上的 Human Task Management 小部件

小部件注册的故障排除

如果没有内容显示,或者只显示加载的指示器,那么您应该在完成配置的最后一个步骤(排列小部件)之前找出问题。推荐在这个时候(在排列之前)查找问题,因为解决问题时可能需要重新注册小部件。重新注册时,小部件会收到一个新的实例 ID,这意味着您需要重新排列小部件。

查找小部件的加载问题时,可以从验证浏览器发送的 HTTP 请求开始。使用您最喜欢的浏览器调试工具来完成这项工作。我们使用 Firefox 作为浏览器,并使用 Firebug 进行调试。Internet Explorer Developer 工具也是不错的选择。

默认情况下,Portal 服务器被配置为使用多个部件的混搭。这是一项全新的 Mashup Center 2.0 功能,可以引导多个逻辑请求通过一个物理 HTTP 请求。此外, HTTP 服务器或 Edge 服务器可以缓存 HTTP GET 方法发送的多部件请求。

这可以改善浏览器端的性能,但会让了解错误原因变得有些困难。因此,故障排除的第一个步骤通常是关掉多部件。在 Portal server Integrated Solutions Console 中实现此操作的步骤如下:

  1. 导航至 Resources => Resource environment => Resource 环境提供程序.
  2. 选择 WP CommonComponentConfigService 提供程序。
  3. 在 WP CommonComponentConfigService 对话框的 Additional Properties 下,单击 Custom properties
  4. 滚动到 cc.multipart.enabled 属性并单击它的名称。
  5. 将值修改为 false
  6. 重新启动 WebSphere_Portal 服务器与 server1。

禁用多部件后,启动浏览器调试工具,然后搜索失败的 HTTP 请求。成功排除故障后,记得再次将 cc.multipart.enabled 属性的值设置为 true

请注意:根据 Dojo 的设计,一些 HTTP 请求是故意失败的。如果看到路径中有 "nls" 字样的 HTTP 请求失败,可以忽略它们。例如,您可以忽略下面的请求: http://fmtc4218.boeblingen.de.ibm.com:10039/wps/proxy/https/fmtc7171.boeblingen.de.ibm.com %3A9443/HumanTaskManagementWidgets/com/ibm/bpc/widget/util/nls/en/ErrorMessage.js

重新注册小部件

可以多次重新注册小部件。在撰写本文时,再次注册小部件不会覆盖前面已经注册的版本,但会创建新的实例。旧的实例依然存在,而调色板会包含同一个小部件。要删除旧的版本,请完成以下步骤:

  1. 在 Portal 服务器上,单击 Administration
  2. 在左侧的导航区域内,在 Portlet Management 下选择 Portlets
  3. 搜索 Human Task Management 小部件。例如,搜索标题 Task InformationTask List,然后从清单中删除那些名称虽然不同但内容重复的项。

步骤 11:排列小部件

在 BPM 服务器上的 Business Space 中,在将小部件放到页面上后,它们会自动排列。在 Portal 中,所有小部件目前都必须手动进行排列。排列方法有两种:

  • 在 Page Edit 模式中,通过小部件的 Display Menu。这种排列方法适合用于创建主排列,但不会提供已就绪排列的良好视图。
  • 在 Portal Administration page 上,在 Portal User Interface 下使用 Manage Pages

如果不知道需要执行哪些排列,那么可以在 Business Space 中参考空间中使用连接编辑器 (wiring editor),可以看到小部件之间的连接:

  1. 登录,切换到参考页面(Interact with Processes and Tasks)。
  2. 单击 Edit Page
  3. 在任意小部件上,从小部件的下拉菜单中选择 Edit wiring
  4. 在连接编辑器中,单击每个小部件可以查看使用了哪些排列。

在页面编辑模式下连接小部件

在页面编辑模式下,连接是使用 Mashups 连接编辑器完成的。在页面编辑模式中,从小部件的 Display 菜单中启动连接编辑器。

请注意:如果 Edit Page 菜单项没有显示,这可能是因为浏览器的问题(例如,Firefox 4 无法显示它)。在这种情况下,可以尝试使用另一种浏览器。

例如,要排列 Tasks 小部件,可执行以下步骤:

  1. 打开 Interact with Processes and Tasks 页面。
  2. Actions 下选择 Edit Page 来编辑页面。
  3. 在 Tasks 小部件上,从小部件的 Display 菜单中选择 Edit Wiring
  4. Wiring 菜单上选择 Settings
  5. 选择 Consider semantic types or payload type for matching of source and targets,如图 13 中所示。
  6. 单击 Done
  7. Content to send 下,选择应该连接的线,比如 Action Requested
  8. Select a widget to receive content 下,选择接收的小部件,比如 Task Information
  9. Select an action 下,选择目标操作,比如 Action Requested
  10. 如果需要更多将要连接的操作,请单击 Select content to send 下列出的小部件,然后重复步骤 7–9。
  11. 单击 Done 离开连接编辑器。
  12. 对页面上的所有小部件都重复这个步骤。在所有小部件都排列完毕时,单击 Save & Exit 退出页面编辑模式。
图 13. 使用 Edit Page 连接小部件
使用 Edit Page 连接小部件

使用 Portal Administration 页面连接小部件

使用 Portal Administration 页面连接小部件是通过 Manage Pages 功能完成的。例如,要连接 Tasks 小部件,步骤如下:

  1. 在 Portal 服务器中,单击 Administration
  2. 在左侧的导航区域内,在 Portal User Interface 下选择 Manage Pages
  3. 在 Manage Pages 对话框中,按照 Title starts with 条件进行搜索,并在搜索字段中输入小部件页面的名称,然后单击 Search。在本示例中,该页面名称是 Interact with Processes and Tasks。所需的页面已经显示在列表中。
  4. 单击右侧的 Edit Page Layout 图标,如图 14 中所示。
    图 14. 使用 Portal Administration 连接小部件
    使用 Portal Administration 连接小部件
  5. 单击 Wires 选项卡来显示 Portlet Wiring Tool。
  6. Portlet Wiring Tool 对话框中,单击 Consider semantic types or payload type for matching of source and targets
  7. 从下拉菜单中选择要使用的小部件,并根据需要定义发送和接收的连接。
  8. 在完成所有小部件的连接时,单击 Done

验证连接

要验证连接,请单击 Home 打开 Portal 页面,然后选择 Interact with Processes and Tasks 选项卡,并使用 Task Definitions 小部件创建一个新任务。

如果连接正确,则会在 Task Information 小部件中打开您的新任务。


步骤 12:配置小部件(可选)

在连接小部件之后,可以配置小部件的内容,就像在 Business Space 中所做的那样。例如,要将 Task Definitions 小部件的查看模式从表修改为列表,步骤如下:

  • 从小部件的下拉菜单中单击 Edit Shared Settings
  • 单击 Display 选项卡。
  • Select a layout 下单击 List
  • 单击 OK

现在,您的 Portal 页面看起来应该与参考空间类似。


结束语

在本文中,您将 WebSphere Portal 环境扩展为主机 BPM 小部件,并创建了一个 Portal 页面,让用户能够像在 Business Space 页面中那样启动流程和执行操作。现在,您可以探讨和 portlet 一起组织、连接和配置小部件的可能性。


下载

描述名字大小
端点文件和代理配置文件samplefiles.zip4KB

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=930678
ArticleTitle=配置 IBM Business Process Management Human Task Management 小部件以便在 WebSphere Portal 中使用它
publish-date=05212013