针对公开为仪表板的 Heritage 人员服务生成 portlet

如果已将 Heritage 人员服务公开为流程参与者组的仪表板,并且您希望在 IBM® WebSphere® Portal 中使用该仪表板,那么请生成一个 portlet。 这样,门户网站服务器管理员就能够将 JSR 286 portlet 部署至门户网站服务器运行时环境中。

开始之前

请确保向适当的流程参与者组(即在运行时使用该仪表板的流程参与者)公开 Heritage 人员服务,并确保将 Heritage 人员服务公开为仪表板。 请确保 Heritage 人员服务至少具有一个 Snapshot 和一个 Coach。

缺省情况下,该仪表板对 Process Portal 中的指定用户可用。如果您完成以下过程,那么该仪表板还将作为部署到 WebSphere Portal 服务器上的 portlet 供指定用户使用。

当您设计旨在公开为仪表板(部署为 portlet)的 Heritage 人员服务时,请考虑以下准则:
  • 与门户网站服务器管理员协作以了解仪表板 portlet 如何与门户网站服务器运行时环境中的其他 portlet 和服务关联。
  • 确保 IBM WebSphere Portal 服务器已添加到可信服务器列表,如将服务器添加至受信任的服务器列表中所述。
  • 通常,公开为仪表板的 Heritage 人员服务都不是结束服务。但是,不禁止您在公开为仪表板的 Heritage 人员服务中使用结束事件。 请记住,仪表板 portlet 部署之后,其中包含端点,portlet 会终止并且必须重新启动。如果您的 Coach 旨在结束服务,那么生成的仪表板 portlet 会包含一个重新装入按钮,供流程参与者启动新实例和刷新仪表板。
  • 如果 Heritage 人员服务包含两个同名的 Coach,那么请确保这两个 Coach 上的所有边界事件都具有唯一的控制标识。 如果边界事件控制标识不唯一,那么使用仪表板 portlet 的流程参与者可能会收到错误或意外的 portlet 交互。
  • 您可以针对包含 Heritage Coach 的仪表板生成 portlet,但是不能将 Heritage Coach 映射到仪表板 portlet 的边界事件。
  • 如果您对 Heritage 人员服务使用预处理和后处理,那么请注意发生与边界事件相关的处理的情况。 因为 portlet 可以连接在一起,也可以与其他服务相连,所以您可能需要移动预处理和后处理,从而使边界事件在仪表板 portlet 中正确触发。
  • 如果打算从入站事件更新 Coach 中的变量,但是不想触发 Coach 的任何边界事件,请添加可循环回相同 Coach(指定为入站事件的一部分)的新边界事件。确保在为生成的仪表板 portlet 定义入站事件时选择了这一新的边界事件。
  • 如果打算针对仪表板的入站或出站事件指定有效内容变量,请确保有效内容变量包含在属于 Heritage 人员服务的每个 Coach 上。在属于公开为仪表板且部署为 portlet 的 Heritage 人员服务的每个 Coach 上,必须包含有效内容变量。 但是,如果将某变量的字段添加至 Coach 并且将该字段的可视性设置为无(隐藏或禁用),那么 Coach 可以包含该变量而不向流程参与者显示该变量。
  • 要实现对所生成的 portlet 的名称和描述的全球化支持,请确保准备一个 XML 文件,此文件是您在从仪表板创建 portlet 时指定的。在启动“导出仪表板”向导之前,该 XML 必须准备就绪。 请确保该 XML 使用的格式与以下示例相同:
    <?xml version='1.0' encoding='UTF-8' ?>
    <portlet>
    		<description xml:lang="en">English description</description>
    		<description xml:lang="fr">French description</description>
    		<description xml:lang="es">Spanish description</description>
    		<display-name xml:lang="en">English display name</display-name>
    		<display-name xml:lang="fr">French display name</display-name>
    		<display-name xml:lang="es">Spanish display name</display-name>
    </portlet>

    请确保该 XML 文件的编码定义为 UTF-8。 该 XML 文件可包含零或多个 descriptiondisplay-name 元素。 descriptiondisplay-name 元素不能具有空字符串值。 xml:lang 属性必须遵循 RFC 1766 规范,可从 http://www.ietf.org/rfc/rfc1766.txt 获取该规范。

  • 协作功能不可用于公开为 portlet 的仪表板。 即,用户无法像在 Process Portal 中那样在活动中与其他用户或专家进行交互。
  • IBM BPM 服务器和 IBM WebSphere Portal 服务器使用相同的安全协议,可防止出现 Process Portal 用户在 IBM WebSphere Portal portlet 中看到空白的任务完成视图这一问题。 例如,将 HTTPS 同时用于 IBM BPM 服务器和 IBM WebSphere Portal 服务器上运行的 portlet,或者将 HTTP 同时用于 IBM BPM 服务器和 IBM WebSphere Portal 服务器上运行的 portlet。当在 IBM WebSphere Portal 服务器上配置 portlet 并指定 IBM BPM URL 时,请指定 IBM BPM 服务器所使用的同一安全协议。

关于此任务

在导出仪表板时,请使用 Process Designer 中的“导出仪表板”向导来定义 portlet 参数并映射事件。 在针对仪表板生成 portlet 之后,门户网站服务器管理员就可以将该 portlet 部署到 IBM WebSphere Portal,从而使流程参与者能够在运行时环境中与该仪表板进行交互。

过程

  1. 对于公开为流程参与者组的仪表板的 Heritage 人员服务,请单击 Process Designer 的概述页面上的从仪表板创建 portlet,以打开“导出仪表板”向导。
  2. 设置 portlet 的参数时,请考虑门户网站服务器管理员和流程参与者如何使用已部署的 portlet:
    • 输入描述 portlet 用途的名称和描述。
    • 如果您已创建了 XML 文件用于 portlet 的名称和描述的全球化,请选择全球化并浏览至该文件。
    • 选择表示仪表板版本的快照,您希望生成该快照作为 portlet 以供流程参与者在运行时使用。如果选择较旧的 Snapshot,那么拍摄该 Snapshot 之后所作的更改不会显示在生成的 portlet 中。
  3. 可选: 定义仪表板 portlet 的入站事件。

    在运行时,其他 portlet 会向仪表板 portlet 发送事件以与其进行交互。 当仪表板 portlet 收到来自其他 portlet 的事件时,它会触发边界事件,从而将仪表板移动到其他 Coach。

    • 对于希望此仪表板 portlet 作出响应的每个入站事件,请将事件名称字段更改为对您的仪表板有意义的内容。 名称空间的缺省值使事件独一无二,从而防止 portlet 之间发生意外的交互。
    • 如果您希望入站事件包含要用于更新仪表板数据的数据,请指定有效内容变量。 如果 Coach 使用有效内容变量,那么请选择仪表板 portlet 在运行时从其他 portlet 收到的有效内容变量。 您可以从 Heritage 人员服务所包含的变量中进行选择。 如前所述,确保有效内容变量包含在属于 Heritage 人员服务的每个 Coach 上。
    • 选择一个 Coach 和一个边界事件,该边界事件代表希望仪表板 portlet 在收到该事件时与之进行交互的用户界面元素。 Heritage 人员服务图中的边界事件标记为结束状态绑定。如果您选择了有效内容变量,那么请确保选择具有相同变量的 Coach。
    • 单击加号并指定其他 Coach 和边界事件以定义多个界面元素。
    • 当仪表板 portlet 收到该事件时,只会与当前显示的 Coach 中的界面元素进行交互。
  4. 可选: 定义仪表板 portlet 的出站事件。

    在运行时,仪表板 portlet 会向其他 portlet 发送事件。

    • 选择边界事件以指定使仪表板 portlet 发送事件的用户界面元素。
    • 如果您指定有效内容变量,那么仪表板 portlet 将包含已发送事件中的数据以供其他 portlet 使用。如前所述,确保有效内容变量包含在属于 Heritage 人员服务的每个 Coach 上。
  5. 在将仪表板导出为 portlet 后,在 IBM BPM 服务器上安装 .war 文件,并告知门户网站服务器管理员指向 Web Services for Remote Portlets (WSRP) 2.0 协议的端点并导入 .war 文件。

    IBM BPM 服务器随附了一个已安装的 WSRP 2.0 提供程序,该提供程序允许使用从 WebSphere Portal 生成的 portlet。 用于访问已安装的 IBM BPM 服务器上的 WSRP 2.0 提供程序 Web Service 的 URL 为:http://{BPM_host_name}:{BPM_port}/producer/wsdl/wsrp_service.wsdl。 有关将 WebSphere Portal 与 WSRP 提供程序一起使用的信息,请参阅 IBM WebSphere Portal wiki 上的 Using WSRP services

    如果未在使用 WSRP,请将 .war 文件提供给门户网站服务器管理员以进行部署。

    与门户网站服务器管理员一起讨论以下几点:
    • 管理员应该在与 Process Portal 相同的集群上安装仪表板 portlet。
    • 向管理员通知 IBMBPM 关键字已添加到所生成的仪表板 portlet 中。该关键字管理员能够更轻松地查找和管理仪表板 portlet。
    • 请确保管理员了解可以在 WebSphere Portal 中使用 portlet 的编辑页面来编辑 portlet 首选项。 管理员可以编辑所生成的仪表板 portlet 的以下信息:主机名、端口号、宽度以及高度。
    • 提供有关可在仪表板 portlet 中编辑的以下 IBM BPM portlet 首选项的管理员信息。不应更改所有其他 IBM BPM portlet 首选项。
      • bpmHost(缺省值:localhost)- 服务器的主机名或 IP 地址
      • bpmPort(缺省值:9080)- 服务器的端口号
      • bpmUseSSL(缺省值:false)- 表明应使用 https(而非 http)的指示
      • bpmWidth - 用于显示仪表板的 portlet 信息帧所用的宽度(像素)。
      • bpmHeight(缺省值:400)- 用于显示仪表板的 portlet 信息帧所用的高度(像素)。
      • bpmUseDojo(缺省值:true)- 指示在可用于客户机端事件时是否应使用 Dojo 的布尔值。如果该值为 true,那么 portlet 会测试是否装入 Dojo 并使用 Dojo 发布/预订方法来发送和接收事件。 如果该值为 false,那么 portlet 会使用 JSR286 中指定的服务器端事件。
      提示: WebSphere Application Server 的 WSRP 生产者是无状态的生产者,并且不管理服务器上的任何 portlet 首选项。如果使用 WSRP 生产者,那么必须在管理员安装导出的 .war 文件之前,根据 portlet 首选项的所有更改来更新该 .war 中包含的 portlet.xml 文件。
    • 请告知管理员在 WebSphere Portal 中对来自 IBM BPM 的仪表板 portlet 使用单点登录 (SSO) 和安全套接字层 (SSL) 协议时应满足的以下要求。
      • 为防止 Process Portal 登录面板出现在仪表板 portlet 中,管理员应针对 WebSphere Portal 和 IBM BPM 服务器启用并配置单点登录。 请参阅 WebSphere Application Server 信息中心内的 Single sign-on for authentication
      • 为了避免产生有关连接到 WebSphere Portal 并使用仪表板 portlet 的流程参与者的安全连接的浏览器消息,管理员应该将个人的自签名证书替换为由可信的外部认证中心 (CA) 提供的证书。 请参阅 WebSphere Application Server 信息中心内的创建认证中心请求
      • 如果将个人证书用于测试或在预生产环境中使用,那么管理员可以在测试前将每个系统中的证书导入浏览器中。
      • 在生产环境中,管理员应该避免使用自签名证书。
      • 如果使用 HTTPS 连接到 WebSphere Portal,那么管理员也应该在仪表板 portlet 中使用 HTTPS。 如果一部分页面是使用 HTTPS 装入的,而其他页面是使用 HTTP 装入的,那么连接到 WebSphere Portal 并使用仪表板 portlet 的流程参与者可能会收到关于该页面上的某些内容不安全的警告。
    • 门户网站服务器管理员应该决定是使用客户机端事件还是服务器端事件。 客户机端事件和服务器端事件都使用建模为 Heritage 人员服务定义一部分的边界事件。客户机端事件和服务器端事件的区别在于通信通道不同。

      在使用客户机端事件时,通过 Process Designer 创建的 portlet 使用 Dojo Toolkit 在位于门户网站服务器中相同页面上的多个 portlet 之间发送消息。使用客户机端事件较快,因为不需要将事件发送到服务器进行处理,也不需要在发送或接收事件后重新装入页面。 如果使用客户机端事件,那么必须将 Dojo Toolkit 作为门户网站页面主题的一部分装入,并且生成的仪表板 portlet 仅使用 Dojo Toolkit 发送事件。生成的仪表板 portlet 从该页面上不使用客户机端事件的其他 portlet 接收服务器端事件。

      服务器端事件不需要装入 Dojo Toolkit,并且是 JSR286 规范中定义的标准事件机制。服务器端事件的处理事件较长,因为必须将事件发送到服务器进行处理,并且必须重新装入页面才能显示结果。 通过正确的门户网站配置和连线,可以跨门户网站服务器页面使用服务器端事件。

    • 如果管理员决定使用客户机端事件,那么必须装入 Dojo Toolkit 作为门户网站页面主题的一部分。请参阅 WebSphere PortalV8 文档更改主题缺省概要文件或 WebSphere Portal V7.0.0.2 文档,这需要执行两个步骤:安装新主题并启用完整概要文件以在缺省情况下使用 Dojo,如启用主题中所述。