BPM specific configuration within server.properties
Once the "Informatica BPM" instance is up and running it's time to do the necessary configuration on Product 360 side. The configuration has to be done in the <P360_SERVER_INSTALLATION_ROOT>\configuration\HPM\server.properties file of the Product 360 server application.
The integration supports two communication strategies: REST and message queue. The direct REST communication is deprecated and will be removed in future versions. The message queue communication mode should be used for new installations.
The configuration properties of both strategies are different and documented in the following sections.
Message queue communication properties
Property name |
Required |
Default value |
Description |
infa.bpm.trigger.queue.ids |
Yes |
bpm |
Comma separated list of queue ids, which are available in the trigger configuration. The first entry of this list represents the default response queue, which is used e.g. if a message from BPM does not specify any response queue id. |
infa.bpm.consumer.serviceapi.queue.ids |
Yes |
serviceapi |
Comma separated list of queue ids, for which a service API consumer is applied. This allows to define multiple service API consumer instances with different thread count and message selectors on the same physical queue. |
com.heiler.ppm.bpm.server/proxy |
No |
Allows to track service API consumer requests using a proxy like Fiddler web debugger, example is localhost:8888 This property is disabled by default. |
Message queue settings:
Property name |
Required |
Default value |
Note |
queue.bpm.type |
Yes |
${queue.default.type} |
|
queue.bpm.writer.count |
Yes |
${queue.default.writer.count} |
Number of threads which puts events on the physical message queue |
queue.bpm.consumer.count |
Yes |
${queue.default.consumer.count} |
|
queue.bpm.url |
Yes |
${queue.default.url} |
|
queue.bpm.username |
Yes |
${queue.default.username} |
|
queue.bpm.password |
Yes |
${queue.default.password} |
|
queue.bpm.message.format |
Yes |
XML |
XML is the only message format possible at the moment |
Yes |
P360_BPM |
Physical queue name with the system.name property as prefix |
|
queue.bpm.label |
Yes |
BPM |
Label shown in the trigger configuration view |
queue.serviceapi.type |
Yes |
${queue.default.type} |
|
queue.serviceapi.writer.count |
Yes |
${queue.default.writer.count} |
|
queue.serviceapi.consumer.count |
Yes |
${queue.default.consumer.count} |
Number of queue consumer threads which process events from the message queue |
queue.serviceapi.url |
Yes |
${queue.default.url} |
|
queue.serviceapi.username |
Yes |
${queue.default.username} |
|
queue.serviceapi.password |
Yes |
${queue.default.password} |
|
queue.serviceapi.message.format |
Yes |
XML |
Can be JSON/XML |
Yes |
P360_SERVICE_API |
Physical queue name with the system.name property as prefix |
|
queue.serviceapi.label |
Yes |
Service API |
It is possible to define own queue configurations with custom queue ids. The syntax is queue.[queue id].*
To disable the prefix of physical queue names by the system.name property add following setting:
com.heiler.ppm.messagequeue.server/useSystemNamePrefix = false
General properties
Property name |
Required |
Default value |
Description |
infa.bpm.taskRefreshInterval |
No |
10 |
Time interval in seconds in which task update events are executed. This relates to task update events which are triggered by a call to workflow status updates. |
REST communication properties
Property name |
Required |
Default value |
Description |
infa.bpm.base.url |
Yes |
The base url to the Informatica BPM instance in the form |
|
infa.bpm.workflows.path |
Yes |
services/REST |
The workflows path. Will be used together with the property infa.bpm.base.url to find the endpoints |
infa.bpm.user |
No |
The username for accessing the Informatica BPM instance. Only required if basic authentication on BPM side is configured |
|
infa.bpm.password |
No |
The password for accessing the Informatica BPM instance. Only required if basic authentication on BPM side is configured If you want to encrypt the password please refer to chapter Encryption of secure information in the Server Installation manual. |
|
com.heiler.ppm.bpm.server/proxy |
No |
Allows to track any call from the server to the Informatica BPM system using a proxy like Fiddler web debugger, example is localhost:8888 This property is disabled by default |
|
infa.bpm.serviceendpoint.filter |
No |
Comma separated list, possibility of filtering out specific service endpoints, e.g.:serviceEndpoint1, serviceEndpoint2 |
|
infa.bpm.maxRequestRate |
No |
unlimited |
Maximum rate of requests per second which are run against the BPM backend. |
infa.bpm.taskRefreshInterval |
No |
10 |
Time interval in seconds in which task update events are executed. This relates to task update events which are triggered by a call to workflow status updates. |
infa.bpm.serviceEndpointListPollInterval |
No |
5 |
Time interval in seconds in which the list of endpoints is retrieved from BPM. |
infa.bpm.queue.jms.connection.url |
No |
uses the Audittrail configured JMS connection url |
Connection url to the JMS queue. By default this is the same as for Audittrail. |
infa.bpm.queue.threadpool.size |
No |
Number of processor cores |
Number of threads which are consuming the internal queue and do call BPM with messages. |
infa.bpm.queue.inMemoryBackupSize |
No |
10000 |
The number of in memory queued messages, which are stored if no JMS queue is available. |
infa.bpm.queue.throttlingDelayMiliseconds |
No |
10000 |
The delay in milliseconds which the dispatch of messages is hold before the next try, if BPM is not available anymore. |
infa.bpm.queue.messageLifetimeHours |
No |
96 |
The duration of messages that are queued in hours. If the duration is exceeding the defined time the messages will be deleted. |
infa.bpm.logAccumulationDurationInSeconds |
No |
3600 |
The time period in which the same exceptions regarding the connection and bpm messages are accumulated before being logged out again |
Some of the properties are also responsible for the fail-over handling, for details of these configuration properties please refer to Failsafe handling of calls to Informatica BPM .
Simple connectivity test
After installing the Informatica BPM service and configuration of the required properties on Product 360 side a first connectivity test can be done by opening the rich client with the "Business process management" perspective. In this perspective a new workflow trigger can be defined and available service endpoints can be assigned.
The drop-down list "Service endpoints" contains all service endpoints deployed to the Informatica BPM instance.
Service endpoints and partner links within Informatica BPM workflows
Service endpoints of Informatica BPM workflows have to be defined in form of so called partner links in the PDD file of the respective workflow.
The communication between Informatica BPM and Product 360 is performed via Product 360's REST service. The Product 360 server over which the communication should take place has to be made available also by means of a partner link in the workflow's PDD file.