On this page:
IBM® Business Process Manager (IBM BPM) is a comprehensive business process management platform. It provides tools to enable authoring, testing, and deployment of business processes, as well management capabilities. For more information see, IBM documentation.
IBM BPM version 8.5.7 is used to define and execute Business Process Definitions (BPDs) which combine elements of human interaction Client-Side Human Services (CSHS) or 'user tasks' for example, manual loan approvals and so on with elements of system integration system tasks, for example, registering a loan approval in a CRM system and so on. These processes are critically important and it is therefore natural to use AppDynamics Business Transactions to monitor the system integration elements of the processes to ensure performance and reliability of these technical integrations. You can also use the AppDynamics Business Journeys capability to monitor the end to end progress of the processes, including the elements of human interaction.
In order to facilitate these monitoring use cases, the AppDynamics agent comes with out-of-the-box configuration necessary to:
IBM BPM runs in WebSphere, see IBM WebSphere and InfoSphere Startup Settings for more details.
A BPD process consists of the flow of a business process which may involve user interactions. It consists of User Tasks, System Tasks, and other logic.
The screenshot displays a sample process within the BPD designer:
User tasks in turn break down into one or more user interactions, such as submit a form and approve a decision. They can be implemented as a CSHS, one of which is shown below:
A CSHS always starts with a start event, and consists of one or more activities each of which uses a system service as the underlying implementation, and one or more Coaches, which define the user interactions.
All Business Transactions detected within a CSHS are detected as servlet type transactions, and their naming can be configured using custom servlet naming rules. The default servlet naming rule uses only the first two segments of the URL for naming, hence, without custom naming configuration the Business Transactions will be detected as –
To disable the IBM BPM specific naming for CSHS Business Transactions use the
Since the Business Transaction is designed to monitor technical activity only, one CSHS may spawn multiple Business Transactions:
Any element inside a CSHS is associated with the following identifiers:
Additionally, for Activity (Service), the activity has a service as its implementation which has its own identifier (Service Name).
These are annotated on screenshots of the IBM design tools:
Within a CSHS, there can be one or more activity-services involved in the flow. Each of this hits a specific REST URL. Hence, an HTTP entry point is defined for each of these services.
Business Transactions originating from the start of a user task are detected as servlet Business Transactions and are named according to the following scheme:
/<Project Name>/<BPD Name>/<Task Name>/<CSHS Name>/Start:Event
For example (corresponding to the images shown above, BPD image and CSHS image), the Business Transactions would be named –
/My Hiring Sample/Standard HR Open New Position/Step: Submit job requisition/Client-Side Http Service/Start:Event
/My Hiring Sample/Standard HR Open New Position/Step: Submit job requisition/Client-Side Http Service/End:Event
Each user task in the BPD process has a CSHS as its implementation. Within a CSHS, there can be one or more activity-services involved in the flow. Each of them hits a specific REST URL. Hence, HTTP entry point is defined for each of these services.
For example, the default URL is –
Business Transactions originating within a CSHS activity service are detected as servlet Business Transactions and are named according to the following scheme:
/<Project Name>/<BPD Name>/<Task Name>/
<Activity Name>/<Implementation Service Name>:Service
For example (corresponding to the images BPD image and CSHS image), the Business Transactions would be named:
/My Hiring Sample/Standard HR Open New Position/Step: Submit job requisition/Client-Side Http Service/Activity1/HttpClient IService:Service
A User Task in a BPD process has a CSHS as its implementation. Within a CSHS, there can be one or more UI Coach(es) involved in the flow. Each UI Coach represents the UI page(s) which opens up for the user to perform some actions (like completing a form, approving something, and so on). Each of these hits a specific REST–URL. Hence, the servlet entry point is used for the naming of the UI Coach.
For example, the default URL for this Business Transactions is –
The Business Transactions originating on entry to a UI coach are detected as Servlet Business Transactions –
/<Project Name>/<BPD Name>/<Task Name>/<CSHS Name>/<Coach Name>:Coach
For example (corresponding to the images BPD image and CSHS image), the business transaction would be named:
/My Hiring Sample/Standard HR Open New Position/Step:Submit job requisition/Client-Side Http Service/UI Coach:Coach
There can be more than one element involved within a User Task (CSHS) with no user interaction in between them. These form a part of the same business transaction. Service Endpoints give visibility of the individual steps within the resulting business transaction as illustrated below:
POJO business transactions are generated for System Tasks within a BPD process.
The POJO business transactions are named using four identifiers:
If any identifier's value is not available, it is replaced with <UNKNOWN> in the resulting transaction name.
For example, a business transaction detected for default configuration (<project-name> / <bpd-name> / <task-name> / <implementation-name>) is:
The default naming scheme can be customised using the ibmbpm-systemtask-bt-naming node property.
The property value is comma-separated identifiers chosen from project, bpd, task, implementation, and is order sensitive.
For example if,
value = "project, task" means POJO Business Transactions are named as: <project-name>/<task-name>
value = "task, project" means POJO Business Transactions are named as: <task-name>/<project-name>
value = "none" means POJO Business Transactions are not detected (disabled)
value = "default" means all the identifiers are used for Business Transactions naming in a default order, that is, they are named as
Set ibmbpm-systemtask-bt-naming property to "none" to disable detection of Business Transactions for system tasks.
To disable the out of the box data collectors use the
For a System Task or a User Task, the following data collectors are available:
In addition to these, for a CSHS implementation of a User Task, if the IBM BPM specific naming Business Transactions naming scheme is enabled, an additional data collector, ACTUAL URL, will also be present, populated with the actual url hit when the business transaction is initiated.
Additional data collectors defined for a User Task depending upon the element of the CSHS being called can be:
EVENT TYPE for Start and End (value is either Start or End depending upon on the event)
You can view the snapshot data collectors as –
There are some other configuration settings that may be helpful when implementing AppDynamics for IBM BPM monitoring:
max-business-transactionsif necessary, to accommodate the number of tasks involved in the BPD process (the default = 50).
framework-supportwith value none to disable CometD and GWT POJO Business Transactions a large number of which otherwise get detected. These correspond to activity within the IBM tooling and are not valuable for BPM monitoring.
/webasset/..,which are not valuable for BPM monitoring.
Node Properties available when using IBM-BPM support: