Event point key and filter
When events are emitted to IBM® Business Monitor, they include an event point key as part of the XML. The event point filter defines which events are included in the subscription when a monitor model is deployed. Events that use the Dynamic Event Framework are only emitted to a monitor model if the events are defined in the event point filter.
When you are using IBM BPM, BPMN and BPEL applications can generate monitor models. The event point keys in a generated monitor model must not be changed. If you are manually crafting a business activity model, you can define the event point filter to emit a few specific events or a broad range of events to the monitor model.
If the application you are monitoring runs in an environment other than IBM BPM, you send events in XML format to one of the event services (JMS or REST). The event service then delivers the event to the monitor model table. You also create a monitor model. When you create the monitor model, you specify the attributes from the event point key that you want to monitor and provide an event point filter as part of the event description. The Dynamic Event Framework uses the filter values to route events directly to your monitoring model event processing.
Event point filters specify which events are emitted. If you are using IBM BPM, the event point filter can tell the BPMN engine to emit events only if the process application name is MortgageLending, the snapshot version is 1.0, the process name is LoanProcessing, and the activity name is LoanApproval. In the past, you specified what events to emit as part of authoring your emitting application (the events were specified in a .mon file inside the process application). To change the events that were emitted, you had to publish a new snapshot of that process application. Now, it is all dynamic; events are sent only if something such as a monitor model subscribes to them. New subscriptions take effect dynamically. The event point filter is where that subscription is specified.
Attribute | Possible values | Example |
---|---|---|
Application name | The name of the application that is the source of the events that are to be monitored | PROCESS1 |
Version | The version of the application that is to be monitored. | 2064.add1501f-0935-4af4-a205-cff82c36ed1aT |
Component type | The type of the component that is to be monitored | BPD |
Component name | The name of the component that is to be monitored | MyProcess |
Element type | The type of element that is to be monitored.
BPMN types are
|
ACTIVITY |
Element name | The name of the element that is to be monitored | LoanActivity01 |
Nature | The nature of the event. One element can
send various events, such as STARTED, ACTIVE, COMPLETED. BPMN nature
categories are
|
STARTED |
The event point filter is different from the filter condition. The filter condition is an arbitrary XPath expression that must evaluate to true for the outbound event to be emitted. Now, there is another filter, which is based on the seven parts of the event point key that uniquely identify any kind of event. If you are defining a filter rather than using generated values, every field in the event point filter must have a valid value or an asterisk (*) to indicate that the field does not need to be used. So the filter might subscribe to an application named "MortgageLending" and an element name "LoanApprovalActivity". The monitor model would use all events in that matched that combination.
Application name: myPA
Version: *
Component type: BPD
Component name: HelloWorld
Element type: ACTIVITY
Element name: sayHello
Nature: STARTED
Another inbound event would have the same
first six values and Nature: "COMPLETED" for tracking when the process
ends.