1. Field of the Invention
The present invention relates to the field of event stream processing for business process management (BPM) and more particularly to event monitoring tools configured for visualizing complex event processing (CEP).
2. Description of the Related Art
Event Stream Processing (ESP) relates to a set of technologies designed to assist the construction of event-driven information systems. ESP technologies include event visualization, event databases, event-driven middleware, and event processing languages, or CEP. ESP long has enabled Internet-age applications including algorithmic trading in financial services, radio frequency identification (RFID) event processing in retail, inventory management and logistics, fraud detection for merchant and financial services, process monitoring, and location-based services in telecommunications.
Complex Event Processing (CEP) is an emerging form of ESP intended for use in building and managing information systems including (1) Business Activity Monitoring; (2) Business Process Management; (3) Enterprise Application Integration; (4) Event-Driven Architectures; (5) Network and business level Security; and (6) Real time conformance to regulations and policies. CEP embodies principles for building applications that enable enterprises to keep pace with the information flowing through respective information technology (IT) systems. CEP is primarily an event-processing concept addressing the task of processing multiple events in order to identify meaningful events within an event cloud. To that end, CEP employs techniques such as detection of complex patterns of many events, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing, and event-driven processes.
The goal of CEP is to enable the information contained in the events flowing through all layers of the enterprise IT infrastructure to be discovered, understood in terms of its impact on high level management goals and business processes, and acted upon in real time. The events handled by CEP include not only software driven events, but also events originating in hard sensors, such as those prevalent in technologies such as RFID. At present, CEP principally complements and contributes to technologies such as service oriented architecture (SOA), event driven architecture (EDA) and business process management (BPM).
Generally, the conventional event monitoring tool parses event logs in order to apply CEP to event information contained in the logs. Specifically, within the event monitoring tool, end users define business event logic including interaction sets, composed of interaction blocks, that orchestrate business processes between monitored systems or applications, known as touch points. The interaction blocks each include one or more event filters and corresponding actions associated with a received event. An event filter provides a condition that when evaluated with respect to the associated event can trigger a corresponding action. An interaction set, in turn, is a collection of interaction blocks all associated with the same event. Finally, an action identifies an activity that will occur in a touch point when one or more rules in an interaction set evaluate true.
In operation, a run-time portion of the event monitoring tool obtains events from a message queue placed on the queue by event connectors, evaluates those events against the business event logic defined in interaction sets, and places actions on the message queue to be utilized by action connectors and passed to the associated touch points so that the appropriate actions can be performed. Of note, a dashboard view can be provided within the tool. The dashboard view provides a visual rendering of activities occurring in one or more touch points. The dashboard view, however, only provides an indication of activity counts in a touch point. The dashboard view lacks the display richness requisite to show activities across independent interactions and the flexibility to analyze specific streams, or common data fields in different events.