Part 4: Development of measurable composite applications using public event infrastructure
This article is the 4th part of this series that discusses how to develop composite applications to support business services. To determine whether a composite application meets the defined business objectives, the application needs to be measurable. This article discusses how to develop measurable composite applications with the help of three reusable artifacts based on the public event infrastructure. We'll find out why artifacts are needed and how to use them to measure composite applications.
Introduction
Websphere®integration Developer and WebSphere Process Server introduce the common event infrastructure (Common event infrastructure,cei) as a way to provide basic event management services. CEI handles common base events (Common base EVENT,CBE) as defined by the CBE specification. CEI provides an event format based on standard XML to support the adoption of common mechanisms for recording and querying events. The CBE event can be generated in the WebSphere integration Developer built-in CEI support. For example, you can select the Orchestration execution language (Business process Execution Language,bpel) activity, and then select an activity start or activity stop event, which automatically generates a CBE. However, you may need to generate a business-level event that does not correspond to the WebSphere integration Developer event. You can do this using the business process engine (Business process Engine, BPE) API. However, because this API exposes the CBE format and other CEI-specific properties, the API-related portions are contained in a very handy widget set that enables logging, querying, and viewing of events. These artifacts are described in this article and will show you how to use them in a composite application.
Capturing Business-level events
In order to measure a composite application, you need to capture business-level events. Business-level events are events that capture business-related information. For example, when bank funds are transferred from one account to another account, an event is logged. Business-level events can help us understand and improve the way business is done. Once business events are documented, they can be aggregated to identify business trends, which in turn provide the measurement results needed to improve the business. However, business-level events are not necessarily related to any specific WebSphere integration Developer activity. The WebSphere integration activity corresponds to a series of WebSphere integration Developer steps. Figure 2 shows some of the typical WebSphere integration Developer activities. Business-level events can correspond to a series of WebSphere integration Developer activities.
Another requirement that is fully measurable is the ability to save arbitrary data in an event. This arbitrary data has meaning at the business level. The CBE specification supports the use of the extendeddataelement portion of the CBE to hold arbitrary data. This section formats application-specific data as a set of name-value pairs.
To generate a CBE event
Each type of monitoring component, such as business processes, business rules, and so on, has a set of predefined business events in the WebSphere integration Developer (see table 1). However, sometimes these predefined events do not provide the flexibility required to generate business-level events. Therefore, to provide a fully measurable capability for composite applications, business-level events need to be generated at any time.
Table 1. Monitored elements for each editor
Editor |
can monitor elements |
Assembly Editor (CEI only) |
Operation |
Business Process Editor (CEI and Audit Log) |
Assign, compensate, Empty, flow (parallel activity), Invoke, Pick (Receive selection), Process, Receive, Reply, Rethrow, Scope, Script, Sequence, Staff , Switch (selection), Template (not shown), Terminate, Throw, Variable, wait, while loop |
Business object-mapping Editor (CEI only) |
Map, transformation (all types) |
Business Rule-group Editor (CEI only) |
Operation |
Business State Machine Editor (CEI only) |
Action, Entry, Exit, Guard, states, State Machine Definition (status machine), Timer, Transition |
Human Task Editor (CEI and audit log) |
Escalation, task, task Template (not shown) |
Interface-mapping Editor (CEI only) |
Operation Binding, Parameter mediation (all types) |
Selector Editor (CEI only) |
Operation |
Note: In table 1, the audit log event is identified as an audit event in the process choreographer database. Events identified as CEI are generated in the CEI data repository.