IBM BPM 端点配置为与您的拓扑相匹配

如果用户的浏览器请求在到达 IBM® BPM 服务器之前经过了某个 Web 服务器或负载均衡服务器,那么必须配置 IBM BPM 使用的虚拟主机信息以生成 URL。 根据拓扑和安全设置的复杂性,您可能必须配置多种不同类型的 URL。

关于此任务

IBM BPM 将为外部浏览器客户机中的操作链接、内部通信以及内部服务连接生成多种不同类型的 URL。如果您的拓扑或安全设置要求 IBM BPM 必须以不同方式生成某些类型的 URL,那么有各种方法来进行配置。

对于外部和内部客户机,务必在您的网络中标识不同入口点,如负载均衡器和 Web 服务器。例如,一般来说,为客户机提供的任何已生成链接中必须使用入口点服务器的协议、主机名和端口号。有些时候,端点可以定义为静态 URL,但是在较复杂的拓扑中,可能需要使用动态策略,例如从请求的头中抽取信息。

在简单拓扑中,可以直接使用缺省值,无需任何更改。一般来说,生成环境会要求对缺省值进行一些更改。例如,如果针对外部客户机具有 Web 服务器,那么必须进行以下配置更改:
  • 在 Web 服务器的单元级别定义虚拟主机信息 BPMVirtualHostInfo 对象。
  • 设置部署环境的缺省虚拟主机 defaultVH 属性,以指向 Web 服务器的 BPMVirtualHostInfo 对象。
  • 设置 EXTERNAL_CLIENT 端点方案以指向 Web 服务器的 BPMVirtualHostInfo 对象。
较复杂的拓扑以及包含多个部署环境的拓扑要求对特定对象进行更具针对性的配置。

过程

请完成下列操作:

  1. 标识您的拓扑的组件和结构。要考虑的组件包括负载均衡器、外部 Web 服务器、逆向代理、防火墙、内部 Web 服务器、Process Server 和 Process Center 等等。
  2. 标识必须修改的缺省方案,决定是否将使用虚拟主机对象、URL 或动态策略列表来确定正确端点。

    对于每个部署环境,使用下表来标识必须更改的缺省方案,以及是使用静态虚拟主机定义、静态 URL 还是使用动态策略列表来获取生成的 URL 的主机信息。

    要点: 如果您有多个部署环境,那么必须针对每个部署环境评估和配置这些设置。
    表 1. 生成的 URL 的缺省方案键
    缺省 BPMURL 方案键 描述
    EXTERNAL_CLIENT 这一通用方案键适用于数据中心外部的客户机(如 Web 浏览器)使用的非相对 URL。
    • 如果所有外部客户机直接连接到 IBM BPM 服务器,那么无需更改缺省值。
    • 如果所有外部客户机使用指向网络的一个入口点(如 Web 服务器),那么您可以定义 EXTERNAL_CLIENT 方案以使用静态虚拟主机对象或静态 URL。
    • 如果外部客户机有多个入口点,例如,一个负载均衡器和一个 Web 服务器,那么使用单个虚拟主机设置或静态 URL 都不太恰当,必须将 EXTERNAL_CLIENT 方案定义为使用一个或多个动态策略。 使用表 2 来决定您将要使用的策略。
    INTERNAL_CLIENT 这一通用方案键适用于数据中心内部的客户机(如调用自身的 IBM BPM)使用的非相对 URL。
    • 如果所有外部客户机直接连接到 IBM BPM 服务器,那么无需更改缺省值。
    • 如果所有内部客户机都使用指向网络的一个入口点(如 Web 服务器),那么可以定义 INTERNAL_CLIENT 方案以使用静态虚拟主机对象或静态 URL。
    • 如果内部客户机有多个入口点,例如,一个负载均衡器和一个 Web 服务器,那么使用单个虚拟主机设置或静态 URL 都不太恰当,必须将 INTERNAL_CLIENT 方案定义为使用一个或多个动态策略。 使用表 2 来决定要使用的策略。
    RELATIVE 这一通用方案键适用于相对 URL,有利于通过拓扑中的各种入口点访问基于浏览器的 Web 应用程序。例如,某些用户可能通过逆向代理来访问 IBM BPM,而其他用户可能直接连接到 Web 服务器。
    提示: 仅当未定义特定于 URL 类型的可选方案时,这些缺省值才会用于生成的 URL。有关每个缺省值所影响的生成 URL 类型的列表,请参阅表 3
    对于每个方案,BPMURL 对象定义策略的列表。将按照指定顺序尝试策略,直至某个策略返回了所需信息。 每个策略使用不同方法来确定用于生成 URL 的传输协议、主机和端口,例如,通过从请求中的特定头中抽取这些信息。BPMURL 对象还可以引用 BPMVirtualHostInfo 对象,后者包含虚拟主机的传输协议、主机名、端口号的固定值以及任何 URL 前缀。表 2 描述了可用的所有策略。
    表 2. 用于标识生成的 URL 的端点信息的策略
    策略名称 描述

    com.ibm.bpm.endpoint.impl.strategies.HttpProtocolHostStrategy

    此策略尝试从主机头中抽取协议、主机和端口号信息。

    com.ibm.bpm.endpoint.impl.strategies.RelativeUrlStrategy

    此策略不使用主机和端口信息。

    com.ibm.bpm.endpoint.impl.strategies.TeamworksWebappPrefixLegacyStrategy

    此策略适用于某些旧路径,如 /exposed REST API 和 /task/clientSettings REST API。此策略搜索 scenario 属性设置为值 COMMON_TEAMWORKS_WEBAPP_PREFIXBPMURL 对象,然后使用关联的 BPMVirtualHostInfo 对象。

    com.ibm.bpm.endpoint.impl.strategies.WCCMConfigStrategy

    此策略使用 BPMVirtualHostInfo 对象中的静态信息。策略的 BPMURL 对象的 virtualHost 属性标识已使用的虚拟主机信息。

    com.ibm.bpm.endpoint.impl.strategies.WebsphereProxyHeaderStrategy

    如果使用 WebSphere 代理,那么此策略将尝试从 WebSphere 代理所添加的头中抽取协议、主机和端口号信息。

    com.ibm.bpm.endpoint.impl.strategies.XForwardedHeaderStrategy

    此策略将尝试从 XForwarded 头条目中抽取协议、主机和端口号信息。
  3. 通过输入以下命令,连接到 wsadmin 客户机: 针对 Windows 操作系统
    wsadmin.bat -conntype NONE -lang jython
    针对 Linux 操作系统针对 UNIX 操作系统
    wsadmin.sh -conntype NONE -lang jython
  4. 对于要求对缺省方案进行更改的每个部署环境,请执行以下操作:
    切记: 由于每个部署环境配置中始终会存在缺省方案对象,因此您从不需要创建缺省方案对象。
    1. 获取并显示您的部署环境对象。以您的单元名称替代 cell_name,并完成以下操作。
      • 如果只有一个部署环境,请在 wsadmin 提示符中输入以下命令:
        dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:/'
        de=AdminConfig.getid(dePath)
        de
      • 如果您有多个部署环境并且希望修改名为 deployment_env_name 的部署环境的端点,请在 wsadmin 提示符中输入以下命令:
        dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:deployment_env_name/'
        de=AdminConfig.getid(dePath)
        de
    2. 为部署环境 deployment_env_name 创建一个 BPMVirtualHostInfo 对象,并且针对必须指向此对象的任何方案保留一个指向此对象的 wsadmin 变量指针。
      default_vh=AdminConfig.create('BPMVirtualHostInfo',de,
                                  [['name','vh_deployment_env_name'],
                                   ['transportProtocol','https'],
                                   ['hostname','example.com'],
                                   ['port','443'],
                                   ['uriPrefix','']],
                                   'virtualHosts')
    3. 为部署环境设置缺省虚拟主机属性 (defaultVH) 以指向新的 BPMVirtualHostInfo 对象,它是通过 wsadmin 变量 default_vh 指向的对象。
      AdminConfig.modify(de,[['defaultVH',default_vh]])
    4. 针对您要为部署环境 deployment_env_name 进行修改的每个缺省方案:
      1. 通过输入以下其中一个命令来标识要修改的方案:
        • scenario='EXTERNAL_CLIENT'
        • scenario='INTERNAL_CLIENT'
        • scenario='RELATIVE'
        切记: 由于始终会定义表 1 中列出的缺省方案,因此不需要创建这些缺省方案。
      2. 通过输入以下命令来获取并显示方案 scenarioBPMURL 对象:
        bpmurlsid=AdminConfig.getid(dePath+'BPMURLS:/')
        bpmurllist=AdminConfig.list("BPMURL", bpmurlsid).split()
        for item in bpmurllist :
         if AdminConfig.showAttribute(item,'scenario')==scenario : scenarioid=item
        
        bpmurl=AdminConfig.get(scenarioid)
        bpmurl
        要点: 由于 Jython 依赖于缩进来识别循环的内容,因此 if 语句前面需要有一个空格字符,需要按 Enter 键两次以执行循环。
      3. 通过执行以下其中一个操作来设置方案:
        1. 如果决定使用虚拟主机对象,请修改方案 scenarioBPMURL 对象,以设置指向新 BPMVirtualHostInfo 对象 default_vhvirtualHost 指针。
          AdminConfig.modify(bpmurl,[['virtualHost',default_vh]])
          要点: 如果使用缺省虚拟主机信息并不恰当,请创建一个新的虚拟主机,然后设置指向新虚拟主机的指针。例如:
          internal_vh=AdminConfig.create('BPMVirtualHostInfo',de,
                                       [['name','vh_deployment_env_name'],
                                        ['transportProtocol','https'],
                                        ['hostname','internal.example.com'],
                                        ['port','443'],
                                        ['uriPrefix','']],
                                        'virtualHosts')
          
          AdminConfig.modify(bpmurl,[['virtualHost',internal_vh]])
        2. 如果决定使用固定 URL,请在方案 scenarioBPMURL 对象上设置 url 属性。例如,要设置 https://webserver.example.com:443,请输入以下命令:
          AdminConfig.modify(bpmurl,[['url','https://webserver.example.com:443']])
        3. 如果决定使用动态的预定义策略来抽取主机信息,请修改方案 scenarioBPMURL 对象以设置 strategies 属性。例如,要将 bpmurl 对象设置为使用 WebsphereProxyHeaderStrategyXForwardedHeaderStrategyHttpProtocolHostStrategy' 策略,请输入以下命令:
          AdminConfig.modify(bpmurl,
                    [['strategies',
                      'com.ibm.bpm.endpoint.impl.strategies.WebsphereProxyHeaderStrategy, 
                       com.ibm.bpm.endpoint.impl.strategies.XForwardedHeaderStrategy, 
                       com.ibm.bpm.endpoint.impl.strategies.HttpProtocolHostStrategy']])
      4. 保存您的更改。
        AdminConfig.save()
  5. 如果您具有复杂拓扑或多个部署环境,那么可能需要针对特定类型的所生成 URL 创建方案对象。
    1. 可选: 使用拓扑中的缺省方案设置来测试您怀疑可能无法正确运行的 IBM BPM 客户机、生成的链接以及功能。
    2. 对于每个部署环境,请使用表 3 标识任何以下方案:部分类型的生成 URL 无法由缺省方案正确处理。重点是不能正确运行的任何客户机或链接类型。 例如,由于每个部署环境有一个远程工件装入器,因此必须为每个部署环境定义 REMOTE_AL 方案以正确定向到 https://hostname:port/RemoteAL/,其中 RemoteAL 指定为 uriPrefix。 对于每个方案键,决定方案是将使用固定 URL、固定虚拟主机对象还是动态策略列表来解析端点信息。
      表 3. 针对生成 URL 的可选方案键
      可选 BPMURL 方案键 在未设置可选方案对象的情况下将使用哪个缺省方案对象(EXTERNAL_CLIENTINTERNAL_CLIENT 还是 RELATIVE
      AE_BPM_REST_SERVICE_CR_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中用于联系 IBM BPM REST API 服务的 URL。
      AE_IMAGES_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中用于获取图像的 URL。
      AE_PORTAL_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中用于联系 Process Portal 的 URL。
      AE_REPOSITORY_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中用于联系存储库的 URL。
      AE_SERVLET_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中使用的 URL。此方案必须通过设置 url 属性来指定绝对 URL。
      此方案键的目的是:使您可以向目标白名单中添加您自己的目标,而 Process Portal 可以将浏览器重定向到这些目标以访问仪表板。出于安全原因,不允许重定向到任意目标。对于允许的重定向目标,IBM BPM 会强制以下白名单。
      • localhost
      • 127.0.0.1
      • AE_SERVLET_PREFIX 方案的 url 属性标识的主机,必须指定为绝对 URL。
      • PROCESS_PORTAL_DASH-
        BOARD_REDIRECT_ADDITIONAL_WHITELISTED

        方案标识的主机。
      AE_WEBAPI_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中用于联系 Web API 的 URL。
      AE_SOCIALBUS_WEBAPP_PREFIX EXTERNAL_CLIENT 配置 Process Designer 编写环境中用于联系社交总线 Web 应用程序的 URL。
      BPM_HELP RELATIVEEXTERNAL_CLIENT 配置为了访问 BPMHelp.war 文件中的产品帮助信息而生成的 URL。 如果有一个活动用户(例如在使用某个浏览器),那么将使用缺省值 RELATIVE,否则,如果没有活动用户(例如,电子邮件中的链接),将使用缺省值 EXTERNAL_CLIENT
      BPM_REST RELATIVE 配置为了访问 REST API 而生成的 URL。
      COMMON_COACH_DESIGNER_XSL_URL EXTERNAL_CLIENT  
      COMMON_PORTAL_PREFIX EXTERNAL_CLIENT  
      COMMON_PROCESS_ADMIN_PREFIX EXTERNAL_CLIENT  
      COMMON_TEAMWORKS_WEBAPP_PREFIX EXTERNAL_CLIENT 用于指向 TeamworksWebappPrefixLegacyStrategy 策略使用的 BPMVirtualHostInfo 对象。有关此策略的更多信息,请参阅表 2
      COMMON_WEBSERVICES_BASE_URL EXTERNAL_CLIENT  
      EXPOSED_ITEMS EXTERNAL_CLIENT 配置公开项(如收藏夹)的生成 URL。缺省情况下,其使用 XForwardedHeaderStrategy 策略。

      HEARTBEAT_DESIGNATED_DEPLOY-
        MENT_ENDPOINT

      INTERNAL_CLIENT 配置 Process Center 用于将应用程序部署到 Process Server 的 URL。端点必须解析为 IBM_BPM_Teamworks 应用程序中的 teamworks.war Web 模块。

      IBM_BPM_DOCUMENT-
        STORE_CMIS_WEBSERVICE

      INTERNAL_CLIENT 配置 EmbeddedECM 查找 CMIS Web Service 的方式。
      LSW_SERVLET EXTERNAL_CLIENT 由 LSW servlet 使用。缺省情况下,它使用以下策略:WCCMConfigStrategyXForwardedHeaderStrategyHttpProtocolHostStrategy

      NAVIGATION_UTIL-
        ITY_TO_TEAMWORKS_HTML

      RELATIVE 配置在实用程序模块中生成的导航 URL。这些 URL 由 Process Portal 使用。

      NAVIGATION_UTIL-
        ITY_TO_TEAMWORKS_JSON

      RELATIVE 在 Process Admin Console 的“服务器管理”选项卡的导航树中配置 URL。
      PROCESS_CENTER EXTERNAL_CLIENT 配置 Process Center 的 URL。
      PROCESS_CENTER_RELATIVE RELATIVE 配置相对于 Process Center 的 URL。
      PROCESS_PORTAL RELATIVEEXTERNAL_CLIENT 配置 Process Portal 的 URL。 如果有一个活动用户(例如在使用某个浏览器),那么将使用缺省值 RELATIVE,否则,如果没有活动用户(例如,电子邮件中的链接),将使用缺省值 EXTERNAL_CLIENT

      PROCESS_PORTAL_DASHBOARD_RE-
        DIRECT_ADDITIONAL_WHITELISTED

      EXTERNAL_CLIENT
      此方案键的目的是:使您可以向目标白名单中添加您自己的目标,而 Process Portal 可以将浏览器重定向到这些目标以访问仪表板。出于安全原因,不允许重定向到任意目标。对于允许的重定向目标,IBM BPM 会强制以下白名单。
      • localhost
      • 127.0.0.1
      • AE_SERVLET_PREFIX 方案的 url 属性标识的主机,必须指定为绝对 URL。
      • PROCESS_PORTAL_DASH-
        BOARD_REDIRECT_ADDITIONAL_WHITELISTED

        方案标识的主机。
      PROCESS_PORTAL_JS RELATIVE 配置 Process Portal 的 URL。在以下情况下,您必须设置此方案键:
      • IBM BPM 拓扑中配置 Tivoli® Access Manager WebSEAL。
      • 如果在 IBM BPM 拓扑中配置 Lotus Sametime,那么将此方案设置为使用 com.ibm.bpm.endpoint.impl.strategies.WCCMConfigStrategy 策略,并设置 virtualHost 属性以指向 Process Portal 服务器的虚拟主机信息对象。
      • 如果为某些与 WebSEAL 和 Sametime 不相关的其他环境配置 PROCESS_PORTAL 方案键,那么 PROCESS_PORTAL_JS 方案键必须与 PROCESS_PORTAL 方案键的设置相匹配。
      PROCESS_PORTAL_SUPPORT RELATIVEEXTERNAL_CLIENT 配置 Process Portal 支持的 URL。 如果有一个活动用户(例如在使用某个浏览器),那么将使用缺省值 RELATIVE,否则,如果没有活动用户(例如,电子邮件中的链接),将使用缺省值 EXTERNAL_CLIENT

      PROCESS_PORTAL_SUP-
        PORT_TO_BPM_HELP

        配置从 Process Portal 支持指向 BPM 帮助的 URL。

      PROCESS_PORTAL_SUP-
        PORT_TO_PROCESS_PORTAL

        配置从 Process Portal 支持指向 Process Portal 的 URL。

      PROCESS_PORTAL_SUP-
        PORT_TO_TEAMWORKS

      PROCESS_PORTAL_SUP-
        PORT_TO_TEAMWORKS_JS

        配置从 Process Portal 支持指向 Teamworks Web 归档 WAR 文件的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_BPM_HELPPROCESS_PORTAL_TO_BPM_HELP_JS RELATIVE 配置 Process Portal 中指向 BPM_HELP.war 文件中产品帮助信息的链接。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_BPM_RESTPROCESS_PORTAL_TO_BPM_REST_JS RELATIVE 配置从 Process Portal 指向 IBM BPM REST API 的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_BUSINESS_SPACEPROCESS_PORTAL_TO_BUSINESS_SPACE_JS RELATIVE 配置从 Process Portal 指向 Business Space 的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。

      PROCESS_PORTAL_TO_BUSI-
      NESS_SPACE_HELP

      PROCESS_PORTAL_TO_BUSI-
        NESS_SPACE_HELP_JS

      RELATIVE 配置从 Process Portal 指向 Business Space 帮助的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_MASHUPS_RUNTIME and

      PROCESS_PORTAL_TO_MASH-
        UPS_RUNTIME_JS

      RELATIVE 配置从 Process Portal 指向 mashup 运行时的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。

      PROCESS_PORTAL_TO_PROC-
        ESS_PORTAL_SUPPORT

      PROCESS_PORTAL_TO_PRO-
        CESS_PORTAL_SUPPORT_JS

      RELATIVE 配置从 Process Portal 指向 Process Portal 支持的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_SOCIAL_BUS_WEBPROCESS_PORTAL_TO_SOCIAL_BUS_WEB_JS RELATIVE 配置从 Process Portal 指向社交总线 Web 的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_TEAMWORKSPROCESS_PORTAL_TO_TEAMWORKS_JS RELATIVE 配置从 Process Portal 指向 Teamworks Web 归档 WAR 文件的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_WEBAPIPROCESS_PORTAL_TO_WEBAPI_JS RELATIVE 配置从 Process Portal 指向 Web API 的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      PROCESS_PORTAL_TO_WEBVIEWERPROCESS_PORTAL_TO_WEBVIEWER_JS RELATIVE 配置从 Process Portal 指向 Web 查看器的 URL。
      要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
      REMOTE_AL   配置指向远程工件装入器中 Remote_AL_WEB.war 文件的 URL。每个部署环境都有一个远程工件装入器,因此如果您有多个部署环境,那么必须为每个部署环境定义 REMOTE_AL 方案以正确定向到 https://hostname:port/RemoteAL/,其中 RemoteAL 指定为必需的 uriPrefix
      SERVER_ACTIVITY_STREAM_IMAGE_LINK EXTERNAL_CLIENT 配置活动流图像的 URL,例如,https://sureshb13:9443/ProcessPortal。路径 /com/ibm/bpm/social/img/Bpm_connections_48x48.png 附加到您指定的值中。
      SERVER_EMAIL_GADGET_LINK EXTERNAL_CLIENT 配置小配件 XML 文件的 URL,例如,https://sureshb13:9443/ProcessPortal。 路径 /gadgets/OpenSocial/BPMOpenSocialGadget.xml 附加到您指定的值中。
      SERVER_EMAIL_PORTAL_LINK EXTERNAL_CLIENT 配置指向电子邮件中所含 Process Portal 的链接的 URL。

      SERVER_EMAIL_PORTAL_PRO-
        CESS_INFO_LINK

      EXTERNAL_CLIENT 配置电子邮件中所含链接(用于处理信息)的 URL,例如,https://sureshb13:9443/ProcessPortal。路径 /dashboards/TWP/Process+Performance?tw.local.selectedInstanceId={6} 附加到您指定的值中。
      SERVER_EMAIL_PORTAL_RUN_TASK_LINK EXTERNAL_CLIENT 配置电子邮件中所含链接(用于运行任务)的 URL,例如,https://sureshb13:9443/ProcessPortal。路径 /dashboards/TWP/BPM_WORK?tw.local.view=taskcompletion&tw.local.taskid={2} 附加到您指定的值中。
      SERVER_EMAIL_TEMPLATE_CLIENT_LINK EXTERNAL_CLIENT 配置电子邮件中所含链接(指向客户机模板)的 URL。

      SERVER_TASK_NOTIFICA-
        TION_GADGET_LINK

      EXTERNAL_CLIENT  
      SERVER_WEBIMAGES_PREFIX EXTERNAL_CLIENT  
      SOCIAL_BUS_WEB   配置社交总线 Web 的 URL。
      TASK_REST_API EXTERNAL_CLIENT 配置由任务 REST API 使用的 URL。缺省情况下,其调用以下策略:WCCMConfigStrategyWebsphereProxyHeaderStrategyXForwardedHeaderStrategyHttpProtocolHostStrategy
      TASK_TEMPLATE_REST_API EXTERNAL_CLIENT 配置由任务模板 REST API 使用的 URL。缺省情况下,其调用以下策略:WCCMConfigStrategyWebsphereProxyHeaderStrategyXForwardedHeaderStrategyHttpProtocolHostStrategy
      TEAMWORKS RELATIVE 配置 Teamworks 的 URL。
      TEAMWORKS_TO_BUSINESSSPACE RELATIVE 配置 Teamworks 中指向 Business Space 的 URL。
      TEAMWORKS_TO_MASHUPS_RUNTIME RELATIVE 配置 Teamworks 中用于从 mashup 运行时获取数据的 URL。

      TEAMWORKS_TO_PRO-
        CESS_PORTAL_SUPPORT

      RELATIVE 配置 Teamworks 中指向 Process Portal 支持的 URL。
      TEAMWORKS_TO_PROCESSADMIN RELATIVE 配置 Teamworks 中用于回到 Process Admin Console 的 URL。例如,在 Process Admin 欢迎页面上,该方案键用于生成指向“流程状态摘要”窗口小部件的 URL。
      WEBVIEWER RELATIVEEXTERNAL_CLIENT 配置 Web 查看器的 URL。 如果有一个活动用户(例如在使用某个浏览器),那么将使用缺省值 RELATIVE,否则,如果没有活动用户(例如,电子邮件中的链接),将使用缺省值 EXTERNAL_CLIENT
      WEBPD EXTERNAL_CLIENT 配置为了访问 web-pd.war 文件中 Process Designer Web 编辑器而生成的 URL。
      WEBPD_TO_BPMREST EXTERNAL_CLIENT 配置 Process Designer Web 编辑器中用于联系 IBM BPM REST API 服务的 URL。
      WEBPD_TO_BPMHELP EXTERNAL_CLIENT 配置为了访问 Process Designer Web 编辑器中的产品帮助信息而生成的 URL。
      WEBPD_TO_TEAMWORKS EXTERNAL_CLIENT 配置在 Process Designer Web 编辑器中所使用的指向 Teamworks Web 归档 WAR 文件的 URL。
      WEBPD_TO_COACHFLOW_RT EXTERNAL_CLIENT 配置在 Process Designer web 编辑器中所使用的指向 Coach 流 Web 归档 WAR 文件 (bpm.coachflow.war) 的 URL。
    3. 如果您在 表 3 中标识了必须配置的任何可选方案,请完成以下操作:
      切记: 由于每个部署环境配置中并不一定会存在可选方案对象,因此您可能需要创建可选方案对象。
      1. 对于要求对可选方案进行更改的每个部署环境,请执行以下操作:
        1. 获取并显示您的部署环境对象。以您的单元名称替代 cell_name,并完成以下操作。
          • 如果只有一个部署环境,请在 wsadmin 提示符中输入以下命令:
            dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:/'
            de=AdminConfig.getid(dePath)
            de
          • 如果您有多个部署环境并且希望修改名为 deployment_env_name 的部署环境的端点,请在 wsadmin 提示符中输入以下命令:
            dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:deployment_env_name/'
            de=AdminConfig.getid(dePath)
            de
        2. 对于您要修改的每个可选方案 SCENARIO_KEY
          1. 通过输入以下命令来标识方案:
            scenario='SCENARIO_KEY'
            切记:SCENARIO_KEY 替换为 表 3中相应的方案键值。
          2. 如果无法将缺省的虚拟主机信息对象 default_vh 用于部署环境,请创建一个新的虚拟主机对象 vh_N。例如,如果虚拟主机是 https://webserver.example.com:443(不含 URI 前缀),请输入以下命令:
            vh_N=AdminConfig.create('BPMVirtualHostInfo',de,
                                                  [['name','vh_N'],
                                                   ['transportProtocol','https'],
                                                   ['hostname','webserver.example.com'],
                                                   ['port','443'],
                                                   ['uriPrefix','']],
                                                  'virtualHosts')
          3. 通过输入以下命令来检查是否已定义了方案的 BPMURL 对象:
            bpmurlsid=AdminConfig.getid(dePath+'BPMURLS:/')
            bpmurllist=AdminConfig.list("BPMURL", bpmurlsid).split()
            for item in bpmurllist :
             if AdminConfig.showAttribute(item,'scenario')==scenario : scenarioid=item
            
            bpmurl=AdminConfig.get(scenarioid)
            bpmurl
            要点: 由于 Jython 依赖于缩进来识别循环的内容,因此 if 语句前面需要有一个空格字符,需要按 Enter 键两次以执行循环。
            1. 如果方案的 BPMURL 对象不存在,请创建此对象并设置必需的属性。例如,通过输入与以下类似的内容:
              bpmurlsPath=dePath+'BPMURLS:/'
              bpmurlsid=AdminConfig.getid(bpmurlsPath)
              bpmurl=AdminConfig.create('BPMURL',bpmurlsid,
                         [['scenario',scenario],
                         ['virtualHost',vh_N]
                         ['strategies','com.ibm.bpm.endpoint.impl.strategies.XForwardedHeaderStrategy, 
                                        com.ibm.bpm.endpoint.impl.strategies.WCCMConfigStrategy'],
                         ['url','https://example.com:9444']])
              要点: 如果为 virtualHosturl 设置了值(如先前示例中所示),那么将使用 url 设置,并且将忽略 virtualHost 设置。
            2. 如果已经在部署环境中定义了方案的 BPMURL 对象,请通过完成以下其中一个操作来修改现有对象:
              1. 如果决定使用某个虚拟主机对象,请修改方案 scenarioBPMURL 对象,以设置指向相应 BPMVirtualHostInfo 对象的 virtualHost 指针。例如,如果您创建了 wsadmin 变量 vh_N 所指向的适当对象,请输入以下命令:
                AdminConfig.modify(bpmurl,[['virtualHost',vh_N]])
                要点: 如果为virtualHosturl 设置了值,那么将使用 url 设置,并且将忽略 virtualHost 设置。
              2. 如果决定使用固定 URL,请在方案 scenarioBPMURL 对象上设置 url 属性。例如,要设置 https://webserver.example.com:443,请输入以下命令:
                AdminConfig.modify(bpmurl,[['url','https://webserver.example.com:443']])
              3. 如果决定使用动态的预定义策略来抽取主机信息,请修改方案 scenarioBPMURL 对象以设置 strategies 属性。例如,要将 bpmurl 对象设置为使用 WebsphereProxyHeaderStrategyXForwardedHeaderStrategyHttpProtocolHostStrategy' 策略,请输入以下命令:
                AdminConfig.modify(bpmurl,
                          [['strategies',
                            'com.ibm.bpm.endpoint.impl.strategies.WebsphereProxyHeaderStrategy, 
                             com.ibm.bpm.endpoint.impl.strategies.XForwardedHeaderStrategy, 
                             com.ibm.bpm.endpoint.impl.strategies.HttpProtocolHostStrategy']])
      2. 保存所有更改。
        AdminConfig.save()
  6. 通过对您的集群执行波动启动激活新设置。
  7. 可选: 验证您配置的端点是否按预期运行。 根据您已配置的端点,检查端点更改所影响的客户机是否正确运行。例如,通过从浏览器中使用 Process Portal,即可测试键以字符串 PROCESS_PORTAL 开头的方案的任何更改。如果有任何问题,请检查并更正未正常工作的 URL 的端点设置。

结果

IBM BPM 生成的所有 URL 在您的拓扑中正常工作。