由于 IBM BPM 中的 Business Process Choreographer 和 Business Process Designer 具有不同的开发路径,不同的部署环境,而且有多个产品版本共存,所以我们迫切需要一个用户界面来与业务流程定义 (BPD) 和业务流程执行语言 (BPEL) 相关任务进行交互。
创建长时间运行的有状态工作流,利用 来自 Bluemix 的 Workflow 服务 中的同步或异步的事件驱动交互来协调任务和服务。免费试用该服务!
由于提供的任务列表用户界面比较单一,所以您的流程应用程序的用户可以处理个别任务,但不知道不同的复杂后端系统。
IBM Process Federation Server 基于 IBM WebSphere Application Server Liberty 配置文件服务器。它提供了应用编程接口 (API) 来访问跨 IBM BPM 系统的联合资源列表,比如任务列表和启动列表。它包含基于一个 Elasticsearch 服务的联合环境的分布式索引。Elasticsearch 服务能够快速访问联合资源,将联合的 IBM BPM 系统从昂贵的查询中解放出来。
如图 1 所示,Process Federation Server 充当着所有后端 IBM BPM 系统的单一入口点。
图 1. Process Federation Server 的结构
所有任务查询都由 Process Federation Server 而不是各个 IBM BPM 系统进行处理。另外,在您的业务流程用户想要认领或完成他们的任务时,客户端(在本例中为浏览器)会自动重定向到相应的 IBM BPM 系统。在此方法中,越来越多的后端 IBM BPM 系统可以在单个域中联合,从 Elasticsearch 服务获益,而且 Process Federation Server 仍然可以提供非常好的响应时间。
本教程将演示安装和配置 Process Federation Server 来访问两个后端 IBM BPM 系统的详细步骤,以便您能够全面理解整体拓扑结构,了解如何配置您的环境。在设置 Process Federation Server 后,您可以创建自己的客户端用户界面(例如图 1 中的 Federated portal )通过具象状态传输 (REST) API 来访问联合的 IBM BPM 系统。如果您希望最终用户更容易地处理其所有任务,无论是来自 BPD 还是 BPEL 的任务,您可以为 IBM BPM V8.5.6 创建自己的客户端用户界面。
您将了解如何设置一个包含两个后端 IBM BPM 环境的简单 Process Federation Server 环境:
图 2 显示了详细的拓扑结构和环境信息。为了提供一个典型示例,本教程中的示例使用了两个 IBM BPM 版本和两种数据库。
图 2. 示例系统拓扑结构
示例拓扑结构包含一个连接到两个 Process Federation Server( PFS1
和 PFS2
)的 IBM HTTP Server ( PFSIHS
),它将两个后端 IBM BPM 系统联合在一起:一个包含 Oracle Real Application Cluster 数据库的 IBM BPM Advanced Process Server V8.5.6 三集群部署环境 ( DE1
),以及包含 IBM DB2 数据库的 IBM BPM Advanced Process Server V8.0.1.3 三集群部署环境 ( DE2
)。两个 IBM BPM 系统的前面都拥有 IBM HTTP Server( BPM856IHS
和 BPM8013IHS
)。示例拓扑结构包含一个轻型目录访问协议 (LDAP) 服务器,所有 Process Federation Server 和 IBM BPM 服务器都连接到该服务器。
表 1 显示了示例拓扑结构中包含的机器。
表 1. 环境
服务器 | 主机名 | 操作系统 | 软件版本 |
---|---|---|---|
IBM HTTP Server 1 | PFSIHS.cn.ibm.com | Windows Server 2008 R2 | IBM HTTP Server V8.5 或 V8.5.5 |
Process Federation Server 1 | PFS1.cn.ibm.com | Red Hat Enterprise Linux 6.1 | 包含在 IBM BPM V8.5.6 中的 Process Federation Server |
Process Federation Server 2 | PFS2.cn.ibm.com | Red Hat Enterprise Linux 6.1 | 包含在 IBM BPM V8.5.6 中的 Process Federation Server |
IBM HTTP Server 2 | BPM856IHS.cn.ibm.com | Windows Server 2008 R2 | IBM HTTP Server V8.5 或 V8.5.5 |
IBM BPM V8.5.6 – Node 1 | BPM1.cn.ibm.com | Red Hat Enterprise Linux 6.1 | IBM BPM V8.5.6 |
IBM BPM V8.5.6 - Node 2 | BPM2.cn.ibm.com | Red Hat Enterprise Linux 6.1 | IBM BPM V8.5.6 |
Oracle database | DB856.cn.ibm.com | Red Hat Enterprise Linux 6.1 | Oracle 12c Real Application Cluster |
IBM HTTP Server 3 | BPM8013IHS.cn.ibm.com | Windows Server 2008 R2 | IBM HTTP Server V8.5 或 V8.5.5 |
IBM BPM V8.0.1.3 – Node 1 | BPM3.cn.ibm.com | Red Hat Enterprise Linux 6.1 | IBM BPM V8.0.1.3 |
IBM BPM V8.0.1.3 – Node 2 | BPM4.cn.ibm.com | Red Hat Enterprise Linux 6.1 | IBM BPM V8.0.1.3 |
IBM DB2 | DB8013.cn.ibm.com | Red Hat Enterprise Linux 6.1 | IBM DB2 10. |
要学习本教程,请确保您满足以下前提条件:
设置整个拓扑结构并不简单。图 3 使用了红色标出了主要步骤和路径。
图 3. 包含配置步骤的示例系统拓扑结构
图 3 包含以下配置步骤(标为 C):
PFS1
和 PFS2
IBM Process Federation Server:安装和创建 IBM Process Federation Server 本教程将详细介绍每个不同的步骤。
installPFS.sh
文件。例如,键入: [root@rehl217 20150306-132310.0.linux]# ./installPFS.sh
图 4. Process Federation Server 安装
ibmPfs:ibmProcessFederationServer
模板创建一个 Process Federation Server: # export JAVA_HOME=/opt/IBM/WebSphere/Liberty/java/java_1.7_64 # cd /opt/IBM/WebSphere/Liberty/bn #./server create server1 – template=ibmPfs:ibmProcessFederationServer
/opt/IBM/WebSphere/Liberty/usr/servers/server1/logs/message.log
)中没有错误。例如,运行以下命令: # ./server start server1 #vi /opt/IBM/WebSphere/Liberty/usr/servers/server1/logs/message.log
在成功安装后,配置 Process Federation Server。一般而言,有两个主要区域要配置:
用户在访问 Process Federation Server 和 IBM BPM 资源之前必须经过认证。所以您需要配置 Process Federation Server 来绑定一个用于认证的用户存储库。
客户端应用程序、Process Federation Server 和联合的 IBM BPM 系统需要一个通用的用户存储库,以便经过认证的用户可以通过单点登录 (SSO) 访问整个环境。受支持的用户注册表包括 LDAP 和自定义用户注册表。在开发和测试环境中,您还可以使用一个基于文件的基本注册表。
本教程中的示例使用了 IBM BPM 环境中所使用的 IBM Tivoli Directory Server 的 LDAP。
完成以下步骤:
server.xml
: # cd /opt/IBM/WebSphere/Liberty/usr/servers/server1 # vi server.xml
<ldapRegistry baseDN="OU=WORKMANAGEMENTSVT,O=IBM.COM" bindDN="cn=root" bindPassword="password" host="ldap.cn.ibm.com" id="MyStressLDAP" realm="defaultWIMFileBasedRealm" port="389" ldapType="IBM Tivoli Directory Server" > <idsFilters userFilter="(&(uid=%v)(|(objectclass=person) (objectclass=ePerson)))" groupFilter="(&(cn=%v)(| (objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))" /> </ldapRegistry>
在完成配置后,无需重新启动 Process Federation Server,您可以访问 Process Federation Server 资源列表任务 REST API,确认用户需要在访问这些 REST API 之前输入用户凭证。例如,在您的浏览器中使用 REST 客户端来发出以下 REST 请求之一,可以看到需要用户凭证:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/systems https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/tasks/query/IBM.DEFAULTALLTASKSLIST_75
在流程应用程序的用户想要认领或完成任务时,客户端需要能够直接与相应的 IBM BPM 系统进行通信。要避免用户再次输入其凭证,必须在 Process Federation Server 和联合的 IBM BPM 系统之间配置单点登录。
在启用单点登录后,用户登录到一个 IBM BPM 服务器或 Process Federation Server,然后他们可以访问他们被授权的其他服务器,而不会再次被提示。要让客户端应用程序工作,客户端 Web 应用程序服务器、Process Federation Server 和联合的 IBM BPM 系统之间必须有一种类似的单点登录配置。
我们可以基于 LTPA 密钥或第三方认证产品来配置单点登录。作为示例,我们将在这里使用 LTPA 密钥实现单点登录。
在单点登录环境中,在 Process Federation Server 与联合环境中的每个 IBM BPM 服务器之间交换轻量级第三方认证 (LTPA) 密钥。当用户登录到 IBM BPM 服务器时,他们可以访问被授权的其他所有服务器,而不会再次被提示提供其凭证。
配置单点登录之前,确保满足以下条件:
然后,要配置单点登录,可以完成以下步骤:
server.xml
文件中: <webAppSecurity ssoDomainNames="cn.ibm.com" ssoRequiresSSL="true" singleSignonEnabled="true" ssoCookieName="LtpaToken2"> </webAppSecurity>
在所有 IBM BPM 服务器上启用单点登录:
在 IBM BPM V8.5.6 和 IBM BPM V8.0.1.3 上,完成以下步骤:
图 5. 管理控制台上的单点登录配置
server.xml
文件中配置的 ssoDomainNames
相同,例如: cn.ibm.com
,如图 6 所示。 图 6. SSO 配置值
fpltpa.keys
,如图 7 所示。 图 7. LTPA 密钥导出
手动将 fpltpa.keys
文件复制到 IBM BPM V8.0.1.3” 获得的 LTPA 密钥文件。在管理控制台中,选择 Security > Global security > Authentication mechanisms and expiration > LTPA 。输入加密密钥(您在步骤 a 中设置的密码)和完全限定的密钥文件名 fpltpa.keys
,然后单击 Import keys 。
fpltpa.keys
文件复制到 IBM BPM V8.0.1.3 获得的 LTPA 密钥。例如,将它复制到 pfs_install_root
/usr/servers/
server_name
/resources/security
目录。然后将以下条目添加到 server.xml
文件中: <ltpa keysFileName="
pfs_install_root
/usr/servers/
server_name
/resources/security/
fpltpa
.keys" keysPassword="
keys_Password
"/>
PFSIHS.cn.ibm.com
BPM856IHS.cn.ibm.com
BPM8013IHS.cn.ibm.com
Process Federation Server 上的 Elasticsearch 服务提供了一个分布式索引,其中包含来自联合环境中的 IBM BPM 系统的数据。分布式索引可确保用户能快速访问联合数据,将 IBM BPM 系统从昂贵的查询中解放出来。它通过任务元数据和业务数据来支持复杂的动态查询。有一个针对联合环境中的每个 IBM BPM 服务器的索引服务,以及一个向用户提供数据的基于 REST 的通用查询服务。Elasticsearch 服务可自动再平衡分布式索引。例如,在添加更多流程联合服务器来处理负载时,联合索引的分区(分片)会自动重新放在新服务器上。
Process Federation Server 上的 server.xml
配置文件包含针对 Elasticsearch 服务的配置属性及默认值。在默认情况下,Elasticsearch 服务是为单一服务器的、快速启动的环境配置的。
要配置 Elasticsearch 服务,可以完成以下步骤:
pfs_install_root
/usr/servers/server1/server.xml
配置文件。 ibmPfs_elasticSearch
元素。查看下面这个示例: <ibmPfs_elasticSearch cluster.name="federated_cluster1" node.name="node1" node.master="true" node.data="true" transport.tcp.port="9300" transport.tcp.ssl="true" transport.tcp.ssl.keystore=" {server.config.dir}/resources/security/key.jks" transport.tcp.ssl.keystore_password="passw0rd" transport.tcp.ssl.keystore_algorithm="ibm" transport.tcp.ssl.truststore="${server.config.dir}/resources/security/server1trust.pk12" transport.tcp.ssl.truststore_password="passw0rd" transport.tcp.ssl.truststore_algorithm="PKIX" transport.tcp.ssl.protocol="TLS" http.enabled="true" http.cors.enabled="true" http.cors.allow-origin="*" http.port="9200" discovery.zen.minimum_master_nodes="1" discovery.zen.ping.multicast.enabled="false" discovery.zen.ping.unicast.hosts=" PFS1.cn.ibm.com:9300, PFS2.cn.ibm.com:9300" />
PFS2
Process Federation Server 上,使用针对您环境的配置属性来更新 ibmPfs_elasticSearch
元素。查看下面这个示例: <ibmPfs_elasticSearch cluster.name="federated_cluster1" node.name="node2" node.master="true" node.data="true" transport.tcp.port="9300" transport.tcp.ssl="true" transport.tcp.ssl.keystore="${server.config.dir}/resources/security/key.jks" transport.tcp.ssl.keystore_password="passw0rd" transport.tcp.ssl.keystore_algorithm="ibm" transport.tcp.ssl.truststore="${server.config.dir}/resources/security/server1trust.pk12" transport.tcp.ssl.truststore_password="passw0rd" transport.tcp.ssl.truststore_algorithm="PKIX" transport.tcp.ssl.protocol="TLS" http.enabled="true" http.cors.enabled="true" http.cors.allow-origin="*" http.port="9200" discovery.zen.minimum_master_nodes="1" discovery.zen.ping.multicast.enabled="false" discovery.zen.ping.unicast.hosts=" PFS1.cn.ibm.com:9300, PFS2.cn.ibm.com:9300" />
请注意以下需求:
cluster.name
。 node.name
。 node.master="true"
。 node.data="true"
。 discovery.zen.minimum_master_nodes
来定义所需的集群成员配额。 unicast mode cluster
的 discovery.zen.ping.unicast.hosts
中列出同一个集群中的服务器。 key.jks
和 server1trust.pk12
, 请参阅 “保护通信” 部分。 要联合 IBM BPM 系统,您必须在联合的 IBM BPM 系统上启用索引,然后必须在联合环境中配置和维护 IBM BPM 系统。
分布式 Process Federation Server 索引使流程参与者能够看到与 BPD 和 BPEL 相关的任务(来自联合环境中的所有 IBM BPM 系统)的整合列表。要让来自某个联合 IBM BPM 系统的数据出现在索引中,必须在该系统上启用索引。
在联合 IBM BPM 系统上启用索引之前,请确保满足以下条件:
要在一个联合的 IBM BPM 系统上启用索引,可以完成以下步骤:
8.0.1.3-WS-BPM-IFJR51915.zip
修复程序。 pfs_install_root/ibmProcessFederationServer/wlp-ext/dbscripts/oracle/create_bpd_change_log.ddl
复制到 IBM BPM 数据库机器。 因为 IBM BPM V8.5.6 服务器使用的是 Oracle,所以请参阅 oracle
文件夹中的脚本。IBM BPM V8.0.1.3 服务器使用的是 DB2,所以您需要选择 db2
文件夹中的脚本。
100Custom.xml
文件,使之包含 federated-index-enabled
配置参数。重新启动所有服务器。
查看下面这个示例:
# vi /opt/IBM/BPM/profiles/Dmgr01/config/cells/Test01Cell01/nodes/Test01Node01 /servers/BPM.AppCluster.Test01Node01.0/process-center/config/100Custom.xml
<server> <search-index merge="mergeChildren"> <federated-index-enabled merge="replace">true</federated-index-enabled> </search-index> </server>
SystemOut.log
文件中没有错误。 在 Process Federation Server 上启用 BPD 索引。
在 Process Federation Server 上,将针对您的 Process Server 数据库的特定的数据库库 (database library) 和 dataSource 元素添加到 server.xml
文件中。
请参见下面这个使用 Oracle Real Application Cluster 的 IBM BPM V8.5.6 的示例:
<library id="OraLib" name="OraLib"> <fileset dir=" /opt/IBM/WebSphere/Liberty/ibmProcessFederationServer/wlp-ext/jdbcdrivers/Oracle " includes="ojdbc6.jar"></fileset> </library> <dataSource jndiName="jdbc/bpmdatarac" id="bpm_oracle" type="javax.sql.DataSource" isolationLevel="TRANSACTION_READ_COMMITTED"> <properties.oracle URL="jdbc:oracle:thin:@// DB856:1521/pdb1" serverName=" DB856.cn.ibm.com " databaseName="pdb1" user="racbpm" password="password" serviceName="pdb1"></properties.oracle> <jdbcDriver libraryRef="OraLib"></jdbcDriver> </dataSource>
参见下面这个使用 DB2 的 IBM BPM V8.0.1.3 的示例:
<library id="DB2JCC4Lib"> <fileset dir="/home/holly_test/jdbcdrivers/DB2" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library> <dataSource commitOrRollbackOnCleanup="commit" id="bpm_db252" isolationLevel="TRANSACTION_READ_COMMITTED" jndiName="jdbc/bpmdata52" type="javax.sql.DataSource"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="BPMDB" serverName=" DB8013.cn.ibm.com " portNumber="50000" user="db2inst1" password=" Passw0rd" /> </dataSource>
本教程后面需要这些数据库信息。在 ibmPfs_federatedSystem
、 ibmPfs_bpdIndexer
和 ibmPfs_bpdRetriever
元素中更新针对 BPD 索引服务的配置属性。
联合环境包含 Process Federation Server 和多个联合的 IBM BPM 系统。使用 Process Federation Server server.xml
配置文件中的属性,为联合环境配置 IBM BPM 系统,以及配置和维护该系统的索引服务。
要配置和维护联合环境中的 IBM BPM 系统,可以完成以下步骤:
pfs_install_root
/usr/servers/server1/server.xml
配置文件。 ibmPfs_federatedSystem
、 index
和 REST retriever implementation
元素。 <ibmPfs_federatedSystem id="bpm170" index.number_of_shards="12" index.number_of_replicas="1" allowedOrigins="*" restUrlPrefix="https:// BPM856IHS.cn.ibm.com/rest/bpm/wle" taskCompletionUrlPrefix="https:// BPM856IHS.cn.ibm.com/teamworks"/> <ibmPfs_bpdIndexer federatedSystemRef="bpm170" dataSourceRef="bpm_oracle" schemaName="racbpm" indexingInterval="30s"> <partitioningService dataSourceRef="bpm_oracle" schemaName="racbpm"/> </ibmPfs_bpdIndexer> <ibmPfs_bpdRetriever federatedSystemRef="bpm170" connectTimeout="10s" readTimeout="10s" internalRestUrlPrefix="https:// BPM856IHS.cn.ibm.com/rest/bpm/wle"/>
添加一个针对 IBM BPM V8.0.1.3 服务器的类似部分。请注意以下考虑因素:
federatedSystemRef
属性的值与 ibmPfs_federatedSystem
元素中的 id
属性相同。 dataSourceRef
属性指定一个值,确保索引器可直接连接到 IBM BPM 数据库服务器。 restUrlPrefix
、 taskCompletionUrlPrefix
和 internalRestUrlPrefix
属性中提供 IBM BPM URL。有关配置属性的详细信息,请参阅 IBM BPM 文档。 联合环境中的通信默认通过安全套接字层 (SSL) 协议来保护。SSL 协议提供了传输层安全性,其中包含真实性、数据签名和数据加密,以确保客户端和服务器之间的连接是安全的。
可以通过多种方式保护通信,但在本教程中,您配置 Process Federation Server 和联合的 IBM BPM 系统之间的安全的入站和出站通信。
提供作为模板的 server.xml
文件包含一个默认的 SSL 配置和一个默认的密钥库。在首次启动 Process Federation Server 时,它将创建一个 Java 密钥库,并在该密钥库中创建一个自签名证书。客户端必须配置为信任 Process Federation Server 证书签名者。
要在生产环境中获得更安全的通信,可以将 Process Federation Server 默认自签名证书替换为由某个受信任的证书权威签名的具有适当证书链的证书。要管理 Process Federation Server 密钥库和证书,可以对您的 Java 虚拟机使用 keytool
实用工具,或者使用 IBM HTTP Server iKeyman
实用工具。
对于本教程中的拓扑结构,通过将每个联合的 IBM BPM 系统的签名者证书导入 Process Federation Server 的信任库中,使用 SSL 协议在 Process Federation Server 和 IBM BPM 之间启用安全的通信。因为 IBM HTTP Server 在 IBM BPM 集群前面,所以简单的方式是仅导入用于 IBM BPM 的 IBM HTTP Server 的证书。
完成以下步骤来保护通信:
pfs_install_root
/usr/servers/server1/server.xml
配置文件。添加以下元素:
<sslOptions id="mySSLOptions" sslRef="mySSLSettings" /> <ssl id="mySSLSettings" keyStoreRef="myKeyStore" trustStoreRef="myTrustStore" sslProtocol="TLS" /> <keyStore id="myKeyStore" location="$ {server.config.dir}/resources/security/key.jks" type="JKS" password="password" /> <keyStore password="password" id="myTrustStore" location="$ {server.config.dir}/resources/security/server1trust.pk12"></ keyStore> <sslDefault sslRef="mySSLSettings" />
考虑以下因素:
key.jks
密钥库,如果 key.jks
文件不存在,那么服务器会在启动时创建该文件。您可以使用 Liberty 配置文件安全性实用工具来编码密码。 server1trust.pk12
信任库,检查以下步骤。 iKeyman
提取 IBM HTTP Server Personal 证书: execute C:/IBM/HTTPServer/bin/ikeyman.bat
C:/IBM/HTTPServer/bin/key1.kdb
)。在窗口中输入密码,如图 8 所示。 图 8. 找到用于 IBM HTTP Server 的个人证书的示例
图 9. 提取用于 IBM HTTP Server 的个人证书的示例
#cd /opt/IBM/WebSphere/Liberty/java/java_1.7_64/bin #./keytool -import -keystore /opt/IBM/WebSphere/Liberty/usr/servers/server1/resources/s ecurity/server1trust.pk12 -alias IHS2Cert -file /home/holly_test/certIHS2.arm
对于用于 IBM BPM V8.0.1.3 服务器的 IBM HTTP Server,请重复第 2 步。
要为 Process Federation Server 实现高可用性和灾难恢复,最好为两个 Process Federation Server( PFS1
和 PFS2
)配置 IBM HTTP Server ( PFSIHS
)。
要为 Process Federation Server 配置 IBM HTTP Server,请完成以下步骤:
iKeyman
工具创建一个 IBM HTTP Server 个人证书和根证书。在 Process Federation Server 前面配置 IBM HTTP Server,根据您的环境来修改 IBM HTTP Server 参数。 PFSIHS
) 上,使用 Websphere Customization Toolbox 创建 Process Federation Server 响应文件,如图 10 所示。 图 10. Websphere Customization Toolbox
httpd.conf
并输入端口,如图 11 所示。 图 11. 选择 httpd.conf Web 服务器配置文件
图 12. 命名 Web 服务器定义的示例
图 13. 配置场景中的示例主机名
config
文件夹下,确认服务器文件已创建。删除 *.responseFile
文件之外的所有文件。 plugin-cfg.xml
文件。 plugin-cfg.xml
文件并将它复制到 IBM HTTP Server plugin 文件夹中。
在 PFS1
Process Federation Server 上,使用 Java SDK 中的 Java Monitoring and Management Console (JConsole) 实用工具生成一个 plugin-cfg.xml
文件。运行以下命令:
#cd /opt/IBM/WebSphere/Liberty/java/java_1.7_64/bin #./jconsole
该服务器进程已在等待连接的选项中列出,如图 14 所示。
图 14. 与 Process Federation Server 的 JConsole 新连接
com.ibm.ws.jmx.mbeans.generatePluginConfig
管理 bean (Mbean),如图 15 所示。 图 15. JConsole 上的 Mbeans 选项卡上的 generatePluginConfigMbean
plugin-cfg.xml
文件应与 server.xml
文件位于同一个文件夹下,如图 16 所示。 图 16. 选择 JConsole 上的 Mbeans 选项卡上的 generatePluginConfig
plugin-cfg.xml
复制到 IBM HTTP Server plugins config
文件夹。 PFS2
Process Federation Server 重复第 3 步,获得另一个插件: cfg1.xml
。将它复制到 IBM HTTP Server plugins config
文件夹。然后将这些文件合并到一个文件中,在本教程中的示例中,该文件为 plugin-config.xml
。编辑最后的 plugin-cfg.xml
,根据您的 IBM HTTP Server 和 Web 插件设置将 keyring
、 stashfile
和 certLabel
属性更改为正确值: <Property Name="keyring" Value="your_key_database_file.kdb"/> <Property Name="stashfile" Value="your_password_stash_file.sth"/> <Property Name="certLabel" Value="your_certificate_label"/>
${server.config.dir}/resources/security
。 pluginConfiguration
元素添加到 server.xml
文件中: <pluginConfiguration webserverPort="80" webserverSecurePort="443" sslCertlabel="IHSCert" sslKeyringLocation="$ {server.config.dir}/resources/security/key1.kdb" sslStashfileLocation="$ {server.config.dir}/resources/security/key1.sth" />
可以使用许多客户端来验证 Elasticsearch 服务。本教程中的示例使用了 elasticsearch-head 。目前 elasticsearch-head 只能安装为独立客户端,然后指向您的 Elasticsearch 服务。
elastic-search-head-master
下的 index.htm
来启动 elasticsearch-head,如图 17 所示。 图 17. elasticsearch-head 工具
图 18. 在 elasticsearch-head 工具上连接到 Process Federation Server
IBM BPM V8.5.6 中的 Process Federation Server 提供了 REST API,您可以使用它们构建自定义客户端应用程序来支持联合环境中的任务工作者场景,比如查询联合的任务列表,处理返回的任务,并从联合的启动列表中启动新实例。请参阅 IBM BPM V8.5.6 文档中的 用于 IBM Process Federation Server 资源的 REST 接口 。
Process Federation Server REST API 在以下各节中显示了一个响应,IBM BPM V8.5.6 文档中没有给出响应。因为每个 URL 表示一个 HTTP GET 请求,所以您可以直接在浏览器中测试每个 REST API 并检查响应内容。
系统元数据提供联合的 IBM BPM 系统的信息。使用该 API 检测系统是否可用或检索特定于系统的设置。该检测将会返回针对每个 IBM BPM 系统的属性,这些属性依赖于系统类型。
示例 URL:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/systems
示例响应:
{"federationResult":[{"indexRefreshInterval":1000,"id":"bpm170","statusCo de":200,"taskCompletionUrlPrefix":"https:////BPM856IHS.cn.ibm.com //teamw orks","restUrlPrefix":"https:////BPM856IHS.cn.ibm.com//rest//bpm//wle"," systemType":"SYSTEM_TYPE_WLE","indexName":"bpm170","systemID":"e2021188- db69-46e3-9f24-30c5e2ffb3db","version":"8.5.6.0"},{"indexRefreshInterval" :1000,"id":"bpm37","statusCode":200,"taskCompletionUrlPrefix":"https://// BPM8013IHS.cn.ibm.com //teamworks","restUrlPrefix":"https:////BPM8013IHS.c n.ibm.com //rest//bpm//wle","systemType":"SYSTEM_TYPE_WLE","indexName":"bp m37","systemID":"4998fd69-9e05-45c5-930e-ceb1829a6cf8","version" :"8.0.1.3"}],"systems":[{"systemID":"e2021188-db69-46e3-9f24- 30c5e2ffb3db","systemType":"SYSTEM_TYPE_WLE","version":"8.5.6.0","gro upWorkItemsEnabled":false,"resources": ["tasks","taskTemplates","processes"],"taskHistoryEnabled":false,"bui ldLevel":"BPM8560-20150127- 000101","substitutionEnabled":false,"workBasketsEnabled":false,"subst itutionManagementRestrictedToAdministrators":false,"businessCategorie sEnabled":false,"taskSearchEnabled":true,"notificationWebMessagingEna bled":false,"taskListWebMessagingEnabled":false,"apiVersion":"1.0","s upports":null,"hostname":"BPM856IHS.cn.ibm.com"}, {"systemID":"4998fd69-9e05-45c5-930e- ceb1829a6cf8","systemType":"SYSTEM_TYPE_WLE","version":"8.0.1.3","gro upWorkItemsEnabled":false,"resources": ["tasks","taskTemplates","processes"],"taskHistoryEnabled":false,"bui ldLevel":"BPM8013-20140814- 155433","substitutionEnabled":false,"workBasketsEnabled":false,"subst itutionManagementRestrictedToAdministrators":false,"businessCategorie sEnabled":false,"taskSearchEnabled":true,"notificationWebMessagingEna bled":false,"taskListWebMessagingEnabled":false,"apiVersion":"1.0"," supports":null,"hostname":"BPM8013IHS.cn.ibm.com"}]}
任务列表提供联合的任务列表。仅支持默认的任务列表 IBM.DEFAULTALLTASKSLIST_75
。返回每个任务的属性,这些属性依赖于联合的 IBM BPM 系统类型。属性中包括一个表示运行该任务的系统的系统 ID。响应数据中的 federationResult
部分包含一个针对每个系统 ID 的条目,该条目表示使用该系统时要使用的 URL。
示例基本 URL:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/tasks/query/IBM.DEFAULTALLTASKSLIST_75
部分响应:
{"entityTypeName":"TASK","federationResult": [{"statusCode":200,"id":"bpm170","indexRefreshInterval":1000,"taskCom pletionUrlPrefix":"https:////BPM856IHS.cn.ibm.com//teamworks","restUr lPrefix":"https:////BPM856IHS.cn.ibm.com//rest//bpm//wle","systemType" :"SYSTEM_TYPE_WLE","indexName":"bpm170","systemID":"e2021188-db69- 46e3-9f24-30c5e2ffb3db","version":"8.5.6.0"}, {"statusCode":200,"id":"bpm37","indexRefreshInterval":1000,"taskCompl etionUrlPrefix":"https:////BPM8013IHS.cn.ibm.com//teamworks","restUr lPrefix":"https:////BPM8013IHS.cn.ibm.com//rest//bpm//wle","systemTyp e":"SYSTEM_TYPE_WLE","indexName":"bpm37","systemID":"4998fd69- 9e05-45c5-930e-ceb1829a6cf8","version":"8.0.1.3"}],"totalCount" :5,"items":[{"TAD_DISPLAY_NAME":"Step: task3","AT_RISK_TIME":"20 15-02-11T10:49:01Z","STATE":"STATE_FINISHED","NAME":"task3","SNAPSH OT_NAME":"NN1","PRIORITY":30,"SNAPSHOT_ID":"2064.337e8aa9-f430- 4777-bb80-1fdf799385c4","DUE":"2015-02-11T10:55:01Z","STATUS" :"Closed","PI_DISPLAY_NAME":"bpd2:59","OWNER":"user1_2","CONTAINM ENT_CTX_ID":"59","PROCESS_INSTANCE.PIID":"59","PI_PIID":"59","TAD_DESCR IPTION":"Step: task3","PI_NAME":"bpd2:59","TKIID":"57","ORIGINATOR" :"bpmadmin","IS_AT_RISK":true,"PROCESS_APP_ACRONYM":"HT1","systemI D":"e2021188-db69-46e3-9f24-30c5e2ffb3db","ACTIVATED":"2015-02- 11T09:55:01Z","TASK.TKIID":"57","COMPLETED":"2015-02- 16T09:15:38Z","KIND":"KIND_PARTICIPATING","PT_PTID":"25.b489c0a8- 66fb-4f4e-817f-6df7601e9a28","ASSIGNED_TO_ROLE_DISPLAY_NAME":null}, {"TAD_DISPLAY_NAME":"Step: task5","AT_RISK_TIME":"2015-02- 11T11:03:02Z","STATE":"STATE_READY","NAME":"task5","SNAPSHOT_NAME": "OP2","PRIORITY":30,"SNAPSHOT_ID":"2064.b0cf716d-6a50-4b08-a6b7- 061a2321bbc2","DUE":"2015-02-11T11:09:02Z","STATUS":"Received","PI_DIS PLAY_NAME":"bpd3:62","OWNER":null,"CONTAINMENT_CTX_ID":"62","PROC ESS_INSTANCE.PIID":"62","PI_PIID":"62","TAD_DESCRIPTION":"Step: ta sk5","PI_NAME":"bpd3:62","TKIID":"58","ORIGINATOR":"bpmadmin","IS_AT_RI SK":true,"PROCESS_APP_ACRONYM":"HT1","systemID":"e2021188-db69- 46e3-9f24-30c5e2ffb3db","ACTIVATED":"2015-02-11T10:09:02Z","TASK.TKIID": "58","COMPLETED":null,"KIND":"KIND_PARTICIPATING","PT_PTID":"25.55622acd-50c3- 43c0-8651-227ab2636d9b","ASSIGNED_TO_ROLE_DISPLAY_NAME":"All Users"}, {"TAD_DISPLAY_NAME":"Step: required2","AT_RISK_TIME":"2015-02- 11T11:04:15Z","STATE":"STATE_READY","NAME":"required2","SNAPSHOT_NA ME":"OP2","PRIORITY":30,"SNAPSHOT_ID":"2064.b0cf716d-6a50-4b08- a6b7-061a2321bbc2","DUE":"2015-02-11T11:10:15Z","STATUS":"Receiv ed","PI_DISPLAY_NAME":"bpd3:62","OWNER":null,"CONTAINMENT_CTX_ID":"62","PRO CESS_INSTANCE.PIID":"62","PI_PIID":"62","TAD_DESCRIPTION":"Step: requ ired2","PI_NAME":"bpd3:62","TKIID":"59","ORIGINATOR":"bpmadmin","IS_AT_RI SK":true,"PROCESS_APP_ACRONYM":"HT1","systemID":"e2021188-db69-46e3- 9f24-30c5e2ffb3db","ACTIVATED":"2015-02-11T10:10:15Z","TASK.TKIID": "59","COMPLETED":null,"KIND":"KIND_PARTICIPATING","PT_PTID":"25.55622acd- 50c3-43c0-8651-227ab2636d9b","ASSIGNED_TO_ROLE_DISPLAY_NAME":"All Users"}
一个查询的示例 URL,其中包含交互过滤器和对包含词汇 ‘ Step ’ 的任务的全文搜索:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/tasks/query/IBM.DEFAULTALLTASKSLIST_75?interactionFilter=ASSESS_AND_WORK_ON&searchFilter=Step
部分响应:
{"entityTypeName":"TASK","federationResult":[{"statusCode":200,"id":"bpm3 7","indexRefreshInterval":1000,"taskCompletionUrlPrefix":"https:////BPM80 13IHS.cn.ibm.com//teamworks","restUrlPrefix":"https:////BPM8013IHS.cn.ib m.com//rest//bpm//wle","systemType":"SYSTEM_TYPE_WLE","indexName":"bpm37 ","systemID":"4998fd69-9e05-45c5-930e-ceb1829a6cf8","version":"8.0.1.3"}, {"statusCode":200,"id":"bpm170","indexRefreshInterval":1000,"taskCompletio nUrlPrefix":"https:////BPM856IHS.cn.ibm.com//teamworks","restUrlPrefix":"ht tps:////BPM856IHS.cn.ibm.com//rest//bpm//wle","systemType":"SYSTEM_TYPE_WL E","indexName":"bpm170","systemID":"e2021188-db69-46e3-9f24-30c5e2ffb3db","v ersion":"8.5.6.0"}],"totalCount":4,"items": [{"TAD_DISPLAY_NAME":"Step: task5","AT_RISK_TIME":"2015-02-11T11:03:02Z","ST ATE":"STATE_READY","NAME":"task5","SNAPSHOT_NAME":"OP2","PRIORITY":30,"SNAPS HOT_ID":"2064.b0cf716d-6a50-4b08-a6b7-061a2321bbc2","DUE":"2015-02-11T11:09: 02Z","STATUS":"Received","PI_DISPLAY_NAME":"bpd3:62","OWNER":null,"CONTAINME NT_CTX_ID":"62","PROCESS_INSTANCE.PIID":"62","PI_PIID":"62","TAD_DESCRIPTION ":"Step: task5","PI_NAME":"bpd3:62","TKIID":"58","ORIGINATOR":"bpmadmin","IS _AT_RISK":true,"PROCESS_APP_ACRONYM":"HT1","systemID":"e2021188-db69-46e3-9f24- 30c5e2ffb3db","ACTIVATED":"2015-02-11T10:09:02Z","TASK.TKIID":"58","COMPLETED" :null,"KIND":"KIND_PARTICIPATING","PT_PTID":"25.55622acd-50c3-43c0-8651-227ab2 636d9b","ASSIGNED_TO_ROLE_DISPLAY_NAME":"All Users"},{"TAD_DISPLAY_NAME":"Ste p: required2","AT_RISK_TIME":"2015-02-11T11:04:15Z","STATE":"STATE_READY","NA ME":"required2","SNAPSHOT_NAME":"OP2","PRIORITY":30,"SNAPSHOT_ID":"2064.b0cf716d- 6a50-4b08-a6b7-061a2321bbc2","DUE":"2015-02-11T11:10:15Z","STATUS":"Received","PI _DISPLAY_NAME":"bpd3:62","OWNER":null,"CONTAINMENT_CTX_ID":"62","PROCESS_INSTAN CE.PIID":"62","PI_PIID":"62","TAD_DESCRIPTION":"Step: required2","PI_NAME":"bp d3:62","TKIID":"59","ORIGINATOR":"bpmadmin","IS_AT_RISK":true,"PROCESS_APP_ACRON YM":"HT1","systemID":"e2021188-db69-46e3-9f24-30c5e2ffb3db","ACTIVATED":"2015- 02-11T10:10:15Z","TASK.TKIID":"59","COMPLETED":null,"KIND":"KIND_PARTICIPATING", "PT_PTID":"25.55622acd-50c3-43c0-8651-227ab2636d9b","ASSIGNED_TO_ROLE_DISPLAY_NA ME":"All Users"}
任务实例查询提供可用的任务查询列表。仅支持默认的任务列表 IBM.DEFAULTALLTASKSLIST_75。
示例 URL:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/tasks/queries
示例响应:
{"federationResult": [{"indexRefreshInterval":1000,"id":"bpm170","statusCode":200,"taskCom pletionUrlPrefix":"https:////BPM856IHS.cn.ibm.com //teamworks","restUrlPrefix":"https:////BPM856IHS.cn.ibm.com//rest//b pm//wle","systemType":"SYSTEM_TYPE_WLE","indexName":"bpm170","systemI D":"e2021188-db69-46e3-9f24-30c5e2ffb3db","version":"8.5.6.0"}, {"indexRefreshInterval":1000,"id":"bpm37","statusCode":200,"taskCompl etionUrlPrefix":"https:////BPM8013IHS.cn.ibm.com //teamworks","restUrlPrefix":"https:////BPM8013IHS.cn.ibm.com //rest//bpm//wle","systemType":"SYSTEM_TYPE_WLE","indexName":"bpm37", "systemID":"4998fd69-9e05-45c5-930e- ceb1829a6cf8","version":"8.0.1.3"}],"items": [{"authorizationType":"INSTANCE_BASED","kind":"FEDERATED","entityType Name":"TASK","systemIDs":["e2021188-db69-46e3-9f24- 30c5e2ffb3db","4998fd69-9e05-45c5-930e-ceb1829a6cf8"],"locales": ["zh","tr","sv","ru","ro","pl","no","nb","ko","ja","default","en","ar ","cs","da","de","el","es","fi","fr","iw","hu","it","zh_TW","pt_BR"], "name":"IBM.DEFAULTALLTASKSLIST_75","description":"This is the default tasks list. Define custom tasks lists to show selected business data.","displayName":"All","keyAttribute":"TASK.TKIID"}],"identifier" :"name"}
任务实例查询属性提供了默认任务列表中您可在任务列表查询中使用的属性名。
示例 URL:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/tasks/query/IBM.DEFAULTALLTASKSLIST_75/attributes
示例响应:
{"federationResult": [{"indexRefreshInterval":1000,"id":"bpm170","statusCode":200,"taskComp letionUrlPrefix":"https:////BPM856IHS.cn.ibm.com//teamworks","restUr lPrefix":"https:////BPM856IHS.cn.ibm.com//rest//bpm//wle","systemType ":"SYSTEM_TYPE_WLE","indexName":"bpm170","systemID":"e2021188-db69- 46e3-9f24-30c5e2ffb3db","version":"8.5.6.0"}, {"indexRefreshInterval":1000,"id":"bpm37","statusCode":200,"taskCompl etionUrlPrefix":"https:////BPM8013IHS.cn.ibm.com//teamworks","restUrl Prefix":"https:////BPM8013IHS.cn.ibm.com//rest//bpm//wle","systemType ":"SYSTEM_TYPE_WLE","indexName":"bpm37","systemID":"4998fd69- 9e05-45c5-930e-ceb1829a6cf8","version":"8.0.1.3"}],"totalSystemTypeCount":1, "items":[{"content":"instance.processinstancename.string", "sourceAttribute":"instance.processinstancename.string", "name":"PI_DISPLAY_NAME","sourceQueryTableIdentifier":"n//a", "type":"string","isArray":false},{"content":"process.processtemplateid.key", "sourceAttribute":"process.processtemplateid.key","name":"PT_PTID", "sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.duetime.date","sourceAttribute":"task.duetime.date", "name":"DUE","sourceQueryTableIdentifier":"n//a","type":"date","isArray":false}, {"content":"task.isatrisk.boolean","sourceAttribute":"task.isatrisk.boolean", "name":"IS_AT_RISK","sourceQueryTableIdentifier":"n//a","type":"boolean", "isArray":false},{"content":"task.status.key","sourceAttribute":"task.status.key", "name":"STATUS","sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.atrisktime.date","sourceAttribute":"task.atrisktime.date", "name":"AT_RISK_TIME","sourceQueryTableIdentifier":"n//a","type":"date", "isArray":false},{"content":"instance.processinstancename.string", "sourceAttribute":"instance.processinstancename.string","name":"PI_NAME", "sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.tkiid.key","sourceAttribute":"task.tkiid.key","name":"TKIID", "sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.groupid.key","sourceAttribute":"task.groupid.key","name":"GROUP_ID", "sourceQueryTableIdentifier":"n//a","type":"number","isArray":false}, {"content":"task.owner.key","sourceAttribute":"task.owner.key","name":"OWNER", "sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.completiontime.date","sourceAttribute":"task.completiontime.date", "name":"COMPLETED","sourceQueryTableIdentifier":"n//a","type":"date","isArray":false}, {"content":"task.priority.long","sourceAttribute":"task.priority.long","name":"PRIORITY", "sourceQueryTableIdentifier":"n//a","type":"number","isArray":false}, {"content":"task.description.string","sourceAttribute":"task.description.string", "name":"TAD_DESCRIPTION","sourceQueryTableIdentifier":"n//a","type":"string", "isArray":false},{"content":"instance.snapshotname.string", "sourceAttribute":"instance.snapshotname.string","name":"SNAPSHOT_NAME", "sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.userid.key","sourceAttribute":"task.userid.key","name":"USER_ID", "sourceQueryTableIdentifier":"n//a","type":"number","isArray":false}, {"content":"instance.piid.key","sourceAttribute":"instance.piid.key", "name":"PROCESS_INSTANCE.PIID","sourceQueryTableIdentifier":"n//a", "type":"string","isArray":false},{"content":"instance.snapshotid.key", "sourceAttribute":"instance.snapshotid.key","name":"SNAPSHOT_ID", "sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.activationtime.date","sourceAttribute":"task.activationtime.date", "name":"ACTIVATED","sourceQueryTableIdentifier":"n//a","type":"date", "isArray":false}, {"content":"task.state.key","sourceAttribute":"task.state.key","name" :"STATE","sourceQueryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.name.string","sourceAttribute":"task.name.string","name" :"NAME","sourceQueryTableIdentifier":"n//a","type":"string","isArray ":false}, {"content":"instance.piid.key","sourceAttribute":"instance.piid.key", "name":"PI_PIID","sourceQueryTableIdentifier":"n//a","type":"string","isAr ray":false}, {"content":"process.processappacronym.string","sourceAttribute":"proc ess.processappacronym.string","name":"PROCESS_APP_ACRONYM","sourceQue ryTableIdentifier":"n//a","type":"string","isArray":false}, {"content":"task.containmentcontextid.key","sourceAttribute":"task.co ntainmentcontextid.key","name":"CONTAINMENT_CTX_ID","sourceQueryTable Identifier":"n//a","type":"string","isArray":false}, {"content":"task.originator.key","sourceAttribute":"task.originator.k ey","name":"ORIGINATOR","sourceQueryTableIdentifier":"n//a","type":"s tring","isArray":false}, {"content":"task.tkiid.key","sourceAttribute":"task.tkiid.key","name" :"TASK.TKIID","sourceQueryTableIdentifier":"n//a","type":"string","is Array":false}, {"content":"task.assignedtoroledisplayname.string","sourceAttribute": "task.assignedtoroledisplayname.string","name":"ASSIGNED_TO_ROLE_DISP LAY_NAME","sourceQueryTableIdentifier":"n//a","type":"string","isArra y":false}, {"content":"task.kind.key","sourceAttribute":"task.kind.key","name":" KIND","sourceQueryTableIdentifier":"n//a","type":"string","isArray":f alse}, {"content":"task.displayname.string","sourceAttribute":"task.displayn ame.string","name":"TAD_DISPLAY_NAME","sourceQueryTableIdentifier":"n //a","type":"string","isArray":false}]}
可启动的实体提供可由当前登录的用户启动的进程、服务和任务的联合列表。返回每个可启动项的属性,这些属性依赖于联合的 IBM BPM 系统类型。属性中包括一个表示运行该实体的系统的系统 ID。响应数据中的 federationResult
部分包含一个针对每个系统 ID 的条目,该条目表示使用该系统时要使用的 URL。
示例 URL:
https://PFSIHS.cn.ibm.com/rest/bpm/federated/v1/launchableEntities
示例响应:
{"federationResult": [{"statusCode":200,"id":"bpm170","indexRefreshInterval":1000,"taskCom pletionUrlPrefix":"https://BPM856IHS.cn.ibm.com/teamworks","restUrlPr efix":"https://BPM856IHS.cn.ibm.com/rest/bpm/wle","systemType":"SYSTE M_TYPE_WLE","indexName":"bpm170","systemID":"e2021188-db69-46e3-9f24- 30c5e2ffb3db","version":"8.5.6.0"}, {"statusCode":200,"id":"bpm37","indexRefreshInterval":1000,"taskCompl etionUrlPrefix":"https://BPM8013IHS.cn.ibm.com/teamworks","restUrlPre fix":"https://BPM8013IHS.cn.ibm.com/rest/bpm/wle","systemType":"SYSTE M_TYPE_WLE","indexName":"bpm37","systemID":"4998fd69-9e05-45c5-930e- ceb1829a6cf8","version":"8.0.1.3"}],"items": [{"snapshotID":"2064.95c9fb3c-e4a2-48af- 91df-dbcda7a90a17","itemID":"1.36bdcc65-8d6a-4635-85cf- 57cab68a7e45","systemType":"SYSTEM_TYPE_WLE","processAppName":"Proces s Portal","isMobileReady":false,"launchableEntityType":"SERVICE","snaps hotCreatedOn":"2015-01-28T04:29:34Z","display":"Process Diagram","type":"service","startURL":"https://WIN2008R2X64RU.c n.ibm.com/teamworks/executecf?modelID=1.36bdcc65-8d6a-4635-85cf- 57cab68a7e45&branchID=2063.34a0ce6e-631b-465d-b0dc- 414c39fb893f","tip":true,"processAppID":"2066.23d3ecec-6fdb-4033- 9c57-e931aa13761f","branchID":"2063.34a0ce6e-631b-465d-b0dc- 414c39fb893f","isDefault":false,"snapshotName":"8.5.6.0","subtype":"u rl","itemReference":"/1.36bdcc65-8d6a-4635-85cf- 57cab68a7e45","ID":"2015.18","branchName":"Main","systemID":"e2021188 -db69-46e3-9f24-30c5e2ffb3db","processAppAcronym":"TWP"}, {"snapshotID":"2064.5327bc35-5faa-4052-9317- d2a4b6e96a28","itemID":"25.c904b3b1-afc1-4698-bf5a- a20892c20275","systemType":"SYSTEM_TYPE_WLE","processAppName":"Hiring Sample","isMobileReady":false,"launchableEntityType":"PROCESS","snaps hotCreatedOn":"2014-11-27T16:19:33Z","display":"Standard HR Open New Position","type":"process","startURL":"https://WIN2008R2X64RU.cn.ibm .com/rest/bpm/wle/v1/process?action=start&bpdId=25.c904b3b1-afc1-4698- bf5a-a20892c20275&branchId=2063.1a52abd6-b068-4f9e-91a9- ded9793eb34e","tip":true,"processAppID":"2066.9ab0d0c6-d92c-4355-9ed5-d8a05 acdc4b0","branchID":"2063.1a52abd6-b068-4f9e-91a9-ded9793eb34e","isDefault" :false,"snapshotName":"Standard Hiring Sample v8560","itemReference":"/25.c 904b3b1-afc1-4698-bf5a-a20892c20275","ID":"2015.37","branchName":"Main","sys temID":"e2021188-db69-46e3-9f24-30c5e2ffb3db","processAppAcronym":"HSS"}, {"snapshotID":"2064.b2076323-2a32-49a1-9e6f-570c3bf28935","itemID":"1.2a8bb2d0- 5038-43be-b17e-31a192f8847c","systemType":"SYSTEM_TYPE_WLE","processAppName":"T estApp","isMobileReady":false,"launchableEntityType":"SERVICE","snapshotCreat edOn":"2015-03-03T09:53:08Z","display":"HS_Service","type":"service","startURL" :"https://HollyIHS1.cn.ibm.com/teamworks/executeServiceByName? processApp=TEST1&serviceName=HS_Service&snapshot=ServiceExpose_1","ti p":false,"processAppID":"2066.5b5acd2d-0374-4a0a-b405- 50a14e2a8e7c","branchID":"2063.c2536580-fe7c-4feb-946e- 7078301b8608","isDefault":true,"snapshotName":"ServiceExpose_1","subt ype":"startable_service","itemReference":"/1.2a8bb2d0-5038-43be-b17e- 31a192f8847c","ID":"2015.109","branchName":"ServiceExpose_1","systemI D":"4998fd69-9e05-45c5-930e- ceb1829a6cf8","processAppAcronym":"TEST1"}, {"snapshotID":"2064.a4b8b434-29d2-4bd7-92ea- 7f3e30630b06","itemID":"1.04c8755c-b4fb-4f53-b0bc- c0816add8a02","systemType":"SYSTEM_TYPE_WLE","processAppName":"HollyT est1","isMobileReady":false,"launchableEntityType":"SERVICE","snapsho tCreatedOn":"2015-01- 29T02:50:34Z","display":"HT11","type":"service","startURL":"https://W IN2008R2X64RU.cn.ibm.com/teamworks/executeServiceByName? processApp=HT1&serviceName=HT11&snapshot=V11"," tip":false,"processAppID":"2066.c7603da0-1c6e-402f-b631- f54326c18ea5","branchID":"2063.60f8fbee-1282-4283-acd5- 4fa76f39a339","isDefault":false,"snapshotName":"V11","subtype":"star table_service","itemReference":"/1.04c8755c-b4fb-4f53-b0bc- c0816add8a02","ID":"2015.163","branchName":"Main","systemID":"e2021188- db69-46e3-9f24-30c5e2ffb3db","processAppAcronym":"HT1"} , {"snapshotID":"2064.fe64ffd7-eaf6-4671-8b40-ac57241bb4d3","itemID" :"25.ddd4df2a-09b7-4ab0-87f4-eede42a1f8c4","systemType":"SYSTEM_TYPE_ WLE","processAppName":"FailSysTask","isMobileReady":false,"launchableEnt ityType":"PROCESS","snapshotCreatedOn":"2015-03-07T08:34:47Z","display" :"FST","type":"process","startURL":"https://HollyIHS1.cn.ibm.com/rest/bp m/wle/v1/process?action=start&bpdId=25.ddd4df2a-09b7-4ab0-87f4- eede42a1f8c4&snapshotId=2064.fe64ffd7-eaf6-4671-8b40-ac57241bb4d3","ti p":false,"processAppID":"2066.00dfe332-f13a-46e2-b9e8-b81546a0f0e4","branchI D":"2063.24932202-8f85-4e8b-9215-6892f3be29cc","isDefault":false,"snapsho tName":"failedSysLinkProcess","itemReference":"/25.ddd4df2a-09b7-4ab0-87f4- eede42a1f8c4","ID":"2015.113","branchName":"failedSysLinkProcess","systemI D":"4998fd69-9e05-45c5-930e-ceb1829a6cf8","processAppAcronym":"FST"}]}
Process Federation Server 拥有一个处理 Process Federation Server 写入的消息的统一日志组件,还包含一个首次失败数据捕获 (FFDC) 功能。您可以配置 server.xml
文件中的 <logging>
元素来控制 trace.log
文件中的跟踪信息。
要使用为您的 Process Federation Server 设置的跟踪信息,可以完成以下步骤:
pfs_install_root
/usr/servers/server1/server.xml
配置文件。 traceSpecification
属性。查看下面这个示例: <logging consoleLogLevel="INFO" traceFormat="ENHANCED" traceSpecification="*=info:com.ibm.bpm.federated.*=all " />
请参阅 IBM 知识中心上的 IBM BPM 文档,了解 Process Federation Server 的故障排除细节。
请参阅下表,了解其他故障排除细节:
问题 | 可能的原因 | 行动计划 |
---|---|---|
无法访问 Process Federation Server REST API | 很有可能是因为 LDAP 未正确配置。 | 检查 messages.log 。 |
REST API 响应中的系统状态、任务和启动列表信息不正确。 | SSO 或 SSL 未正确配置,所以无法连接目标 IBM BPM。 | 启用以下轨迹: com.ibm.bpm.federated.rest.query.*=all:com.ibm.bpm.federated.config.*=all: com.ibm.bpm.federated.retriever.*=all |
Process Federation Server 集群未正常运行 | Process Federation Server 集群未正确配置或未正常运行。 | 启用以下轨迹: com.ibm.wbimonitor.partitioning.*=all |
新任务未建立索引 | Process Federation Server 任务和进程索引器未正常运行。 | 启用以下轨迹: com.ibm.bpm.federated.indexer.*=all |
在本教程中,您通过一个详细示例,学习了如何安装和配置 Process Federation Server 来访问两个后端 IBM BPM 系统。害学习了整体拓扑结构和如何配置您的环境。现在,您可以将所学的知识应用到自己的 IBM BPM 环境中。
感谢 Wu Mi Zhong 的评审和评价。