Services: Difference between revisions

From IBM BPM
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:


With the new release of IBM BPM 8.5.5, the implementation of Human Services has changed quite a bit. The new version introduced a new kind of Human Service called "Client-Side Human Services." The previous implementation was then renamed to "Heritage Human Services" to preserve the backward compatibility of solutions developed before 8.5.5.
With the new release of IBM BPM 8.5.5, the implementation of Human Services has changed quite a bit. The new version introduced a new kind of Human Service called "Client-Side Human Services." The previous implementation was then renamed to "Heritage Human Services" to preserve the backward compatibility of solutions developed before 8.5.5.
'''<u>Exposing of Human Service</u>'''
In the Overview panel of the Human Service definition, under the Exposing section, you will define how the service will be exposed for initiation through other means than it being explicitly called by a BPD.
You can also set several options for how the Human Service may be accessed, like exposing as an URL, making it available as a Dashboard, or allowing to be started from Launch from Process Portal. The options make the service very flexible in terms of how it might be triggered—for example, integration with some external systems or simply to let users start a service from outside the standard flow of BPDs.

Revision as of 22:58, 15 August 2024

Events in relation to a BPD characterize the general process flow and can be visualized from the diagram for a clean and readable perspective. Conversely, a BPD indicates huge amounts of information but does not provide the functionalities concerning the actual implementation of the process. Consider a very simple process of how you prepare your cup of tea in the morning.

Each step is executed using the idea of a service in IBM BPM. A service can be thought of as a reusable implementation of some specific function of which the caller is ignorant of its completion. Within BPDs, every activity in a diagram is mapped to a service and, at runtime, the corresponding service is triggered as soon as that step in the process is reached.

Services are typically invoked from the activity step of a BPD, with the service to be invoked within the confines of a given activity defined in the Implementation tab.


Events in relation to a BPD characterize the general process flow and can be visualized from the diagram for a clean and readable perspective. Conversely, a BPD indicates huge amounts of information but does not provide the functionalities concerning the actual implementation of the process. Consider a very simple process of how you prepare your cup of tea in the morning.

Each step is executed using the idea of a service in IBM BPM. A service can be thought of as a reusable implementation of some specific function of which the caller is ignorant of its completion. Within BPDs, every activity in a diagram is mapped to a service and, at runtime, the corresponding service is triggered as soon as that step in the process is reached.

Services are typically invoked from the activity step of a BPD, with the service to be invoked within the confines of a given activity defined in the Implementation tab.

Result caching in a service

A service executed with a set of parameters returns a result set. If the same service with the same input parameters is run several times, chances are it is going to return the same output, but behind the scenes, the logic of the service will be processed every time. We can turn on a feature that will let the service cache its results for better performance. It means that once a service has been executed with some given input, the results are cached. If the same service is requested again and the same inputs are given exactly, the previously stored results are returned and the logic of the service does not have to be executed again.


This can be enabled or disabled on a per-service basis. In the Overview tab of any service definition, there will be an entry called "Service Result Cache."

By default, service caching is turned off. The results of the service are cached when this option is checked, and you can further specify for how long a cached result is valid before it is considered "stale". You can set an interval of your choice so that once the specified time has passed, a previously returned entry is considered outdated and the actual service is run once again.

By default, the caching mechanism in IBM BPM supports 4096 entries in the cache. One could do this by modifying the property <service-result-cache-size> in the configuration files.

Human Service

The Human Service is arguably the most significant service type in IBM BPM. This is a component whose execution creates a task for a human end-user to accomplish, with the BPD process having paused until this task is completed. Human Services also allow for including Coach components that define both what screen data will be presented to users, and how the data will be collected from them.

With the new release of IBM BPM 8.5.5, the implementation of Human Services has changed quite a bit. The new version introduced a new kind of Human Service called "Client-Side Human Services." The previous implementation was then renamed to "Heritage Human Services" to preserve the backward compatibility of solutions developed before 8.5.5.

Exposing of Human Service

In the Overview panel of the Human Service definition, under the Exposing section, you will define how the service will be exposed for initiation through other means than it being explicitly called by a BPD.

You can also set several options for how the Human Service may be accessed, like exposing as an URL, making it available as a Dashboard, or allowing to be started from Launch from Process Portal. The options make the service very flexible in terms of how it might be triggered—for example, integration with some external systems or simply to let users start a service from outside the standard flow of BPDs.