对于外部和内部客户机,务必在您的网络中标识不同入口点,如负载均衡器和 Web 服务器。例如,一般来说,为客户机提供的任何已生成链接中必须使用入口点服务器的协议、主机名和端口号。有些时候,端点可以定义为静态 URL,但是在较复杂的拓扑中,可能需要使用动态策略,例如从请求的头中抽取信息。
请完成下列操作:
对于每个部署环境,使用下表来标识必须更改的缺省方案,以及是使用静态虚拟主机定义、静态 URL 还是使用动态策略列表来获取生成的 URL 的主机信息。
| 缺省 BPMURL 方案键 | 描述 |
|---|---|
| EXTERNAL_CLIENT | 这一通用方案键适用于数据中心外部的客户机(如 Web 浏览器)使用的非相对 URL。
|
| INTERNAL_CLIENT | 这一通用方案键适用于数据中心内部的客户机(如调用自身的 IBM BPM)使用的非相对 URL。
|
| RELATIVE | 这一通用方案键适用于相对 URL,有利于通过拓扑中的各种入口点访问基于浏览器的 Web 应用程序。例如,某些用户可能通过逆向代理来访问 IBM BPM,而其他用户可能直接连接到 Web 服务器。 |
| 策略名称 | 描述 |
|---|---|
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_PREFIX 的 BPMURL 对象,然后使用关联的 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 头条目中抽取协议、主机和端口号信息。 |

wsadmin.bat -conntype NONE -lang jython


wsadmin.sh -conntype NONE -lang jython
dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:/'
de=AdminConfig.getid(dePath)
de
dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:deployment_env_name/'
de=AdminConfig.getid(dePath)
de
default_vh=AdminConfig.create('BPMVirtualHostInfo',de,
[['name','vh_deployment_env_name'],
['transportProtocol','https'],
['hostname','example.com'],
['port','443'],
['uriPrefix','']],
'virtualHosts')
AdminConfig.modify(de,[['defaultVH',default_vh]])
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
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]])
AdminConfig.modify(bpmurl,[['url','https://webserver.example.com:443']])
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']])
AdminConfig.save()
| 可选 BPMURL 方案键 | 在未设置可选方案对象的情况下将使用哪个缺省方案对象(EXTERNAL_CLIENT、INTERNAL_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 会强制以下白名单。
|
| AE_WEBAPI_PREFIX | EXTERNAL_CLIENT | 配置 Process Designer 编写环境中用于联系 Web API 的 URL。 |
| AE_SOCIALBUS_WEBAPP_PREFIX | EXTERNAL_CLIENT | 配置 Process Designer 编写环境中用于联系社交总线 Web 应用程序的 URL。 |
| BPM_HELP | RELATIVE 和 EXTERNAL_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- |
INTERNAL_CLIENT | 配置 Process Center 用于将应用程序部署到 Process Server 的 URL。端点必须解析为 IBM_BPM_Teamworks 应用程序中的 teamworks.war Web 模块。 |
IBM_BPM_DOCUMENT- |
INTERNAL_CLIENT | 配置 EmbeddedECM 查找 CMIS Web Service 的方式。 |
| LSW_SERVLET | EXTERNAL_CLIENT | 由 LSW servlet 使用。缺省情况下,它使用以下策略:WCCMConfigStrategy、XForwardedHeaderStrategy 和 HttpProtocolHostStrategy。 |
NAVIGATION_UTIL- |
RELATIVE | 配置在实用程序模块中生成的导航 URL。这些 URL 由 Process Portal 使用。 |
NAVIGATION_UTIL- |
RELATIVE | 在 Process Admin Console 的“服务器管理”选项卡的导航树中配置 URL。 |
| PROCESS_CENTER | EXTERNAL_CLIENT | 配置 Process Center 的 URL。 |
| PROCESS_CENTER_RELATIVE | RELATIVE | 配置相对于 Process Center 的 URL。 |
| PROCESS_PORTAL | RELATIVE 和 EXTERNAL_CLIENT | 配置 Process Portal 的 URL。 如果有一个活动用户(例如在使用某个浏览器),那么将使用缺省值 RELATIVE,否则,如果没有活动用户(例如,电子邮件中的链接),将使用缺省值 EXTERNAL_CLIENT。 |
PROCESS_PORTAL_DASHBOARD_RE- |
EXTERNAL_CLIENT | 此方案键的目的是:使您可以向目标白名单中添加您自己的目标,而 Process Portal 可以将浏览器重定向到这些目标以访问仪表板。出于安全原因,不允许重定向到任意目标。对于允许的重定向目标,IBM BPM 会强制以下白名单。
|
| PROCESS_PORTAL_JS | RELATIVE | 配置 Process Portal 的 URL。在以下情况下,您必须设置此方案键:
|
| PROCESS_PORTAL_SUPPORT | RELATIVE 和 EXTERNAL_CLIENT | 配置 Process Portal 支持的 URL。 如果有一个活动用户(例如在使用某个浏览器),那么将使用缺省值 RELATIVE,否则,如果没有活动用户(例如,电子邮件中的链接),将使用缺省值 EXTERNAL_CLIENT。 |
PROCESS_PORTAL_SUP- |
配置从 Process Portal 支持指向 BPM 帮助的 URL。 | |
PROCESS_PORTAL_SUP- |
配置从 Process Portal 支持指向 Process Portal 的 URL。 | |
PROCESS_PORTAL_SUP- PROCESS_PORTAL_SUP- |
配置从 Process Portal 支持指向 Teamworks Web 归档 WAR 文件的 URL。 要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
|
|
| PROCESS_PORTAL_TO_BPM_HELP 和 PROCESS_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_REST 和 PROCESS_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_SPACE 和 PROCESS_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- PROCESS_PORTAL_TO_BUSI- |
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- |
RELATIVE | 配置从 Process Portal 指向 mashup 运行时的 URL。 要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
|
PROCESS_PORTAL_TO_PROC- PROCESS_PORTAL_TO_PRO- |
RELATIVE | 配置从 Process Portal 指向 Process Portal 支持的 URL。 要点: 如果您使用 Tivoli Access Manager WebSEAL,那么必须配置以 _JS 结尾的方案键以包含 WebSEAL 联结名称,以便正确处理在 JavaScript 中生成的 URL。如果您未使用 Tivoli Access Manager WebSEAL,那么必须以相同的方式设置两个方案键。
|
| PROCESS_PORTAL_TO_SOCIAL_BUS_WEB 和 PROCESS_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_TEAMWORKS 和 PROCESS_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_WEBAPI 和 PROCESS_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_WEBVIEWER 和 PROCESS_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- |
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- |
EXTERNAL_CLIENT | |
| SERVER_WEBIMAGES_PREFIX | EXTERNAL_CLIENT | |
| SOCIAL_BUS_WEB | 配置社交总线 Web 的 URL。 | |
| TASK_REST_API | EXTERNAL_CLIENT | 配置由任务 REST API 使用的 URL。缺省情况下,其调用以下策略:WCCMConfigStrategy、WebsphereProxyHeaderStrategy、XForwardedHeaderStrategy 和 HttpProtocolHostStrategy。 |
| TASK_TEMPLATE_REST_API | EXTERNAL_CLIENT | 配置由任务模板 REST API 使用的 URL。缺省情况下,其调用以下策略:WCCMConfigStrategy、WebsphereProxyHeaderStrategy、XForwardedHeaderStrategy 和 HttpProtocolHostStrategy。 |
| TEAMWORKS | RELATIVE | 配置 Teamworks 的 URL。 |
| TEAMWORKS_TO_BUSINESSSPACE | RELATIVE | 配置 Teamworks 中指向 Business Space 的 URL。 |
| TEAMWORKS_TO_MASHUPS_RUNTIME | RELATIVE | 配置 Teamworks 中用于从 mashup 运行时获取数据的 URL。 |
TEAMWORKS_TO_PRO- |
RELATIVE | 配置 Teamworks 中指向 Process Portal 支持的 URL。 |
| TEAMWORKS_TO_PROCESSADMIN | RELATIVE | 配置 Teamworks 中用于回到 Process Admin Console 的 URL。例如,在 Process Admin 欢迎页面上,该方案键用于生成指向“流程状态摘要”窗口小部件的 URL。 |
| WEBVIEWER | RELATIVE 和 EXTERNAL_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。 |
dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:/'
de=AdminConfig.getid(dePath)
de
dePath='/Cell:cell_name/BPMCellConfigExtension:/BPMDeploymentEnvironment:deployment_env_name/'
de=AdminConfig.getid(dePath)
de
scenario='SCENARIO_KEY'
vh_N=AdminConfig.create('BPMVirtualHostInfo',de,
[['name','vh_N'],
['transportProtocol','https'],
['hostname','webserver.example.com'],
['port','443'],
['uriPrefix','']],
'virtualHosts')
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
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']])
AdminConfig.modify(bpmurl,[['virtualHost',vh_N]])
AdminConfig.modify(bpmurl,[['url','https://webserver.example.com:443']])
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']])
AdminConfig.save()