Every business can be understood as sequences of events whether the business delivers packages, provides patient care, processes complicated financial trades, or manufactures a product. However, events, whether planned or unplanned, often disrupt the best-designed and managed business processes, which then impact the business results.
Management of events is becoming thoroughly ingrained in business processes. Often it is addressed under different labels: business activity monitoring (BAM), complex event processing (CEP), event stream processing (ESP), event-driven architecture (EDA), and more. Although companies already do event processing every day, the effort is often disjointed, fragmented and improvised.
To be more responsive, businesses must be able to identify events when they happen and take appropriate action. Increasingly, business rules built into integrated information systems are used to manage how events are handled.
Event Stream Processing (ESP) is a set of technologies designed to build event-driven information systems. ESP technologies include event visualization, event databases, event-driven middleware, and event processing languages, or complex event processing (CEP). The terms ESP and CEP are often used interchangeably, although CEP seems to now be the more fashionable term CEP focuses on the task of processing multiple streams of event data with the goal of identifying the meaningful events within those streams, employing techniques such complex pattern recognition, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing, and event-driven processing. CEP enables applications such as algorithmic trading in financial services, RFID event processing applications, fraud detection, process monitoring, and location-based services in telecommunications.
Complex event processing software aggregates information from distributed systems in real time and applies rules to discern patterns and trends that would otherwise not be detected. This provides companies the capability to identify and anticipate problems or opportunities represented by seemingly unrelated events. Many businesses use CEP to map discrete events to expected outcomes and relate series of events to Key Performance indicators (KPIs). CEP gives businesses insight into which events will have the greatest operational impact so they can focus their resources to seize opportunities and mitigate risks.
With the pace of business change accelerating, there are potentially significant bottom-line gains to be made from optimizing how the organization handles events. Improved customer responsiveness, increased usage of physical assets and better management of complex value chains all benefit from improvements in event processing. Similarly, Business Event Processing can help ensure better customer service and higher customer satisfaction.
One of the challenges for organizations investigating event processing technologies is “how do we get started and how do we know what is important?” Below is a list of questions that can be used in evaluating this technology.
- What are the business drivers for implementing CEP?
- What are the business objectives we expect to achieve?
- What business processes will be impacted?
- What business events will be captured?
- What automated analysis needs to take place of business events?
- What is the response required for changing situations?
- What are the event streams?
- How are business rules implemented in the solution?
- Will business events be linked to KPIs?
- What dashboard capabilities are needed?
- What real-time data computation is required?
- When an event is identified, what needs to happen?
- What complex event pattern triggering mechanisms are needed?
- Is event pattern abstraction needed? If so, how will it be used?
- How will users be notified of events?
- How will events be classified and prioritized?
- What event channels are supported?
- What modeling capabilities are needed (Event Models, State Model and Flow, Object Modeling)?
- How will the solution be integrated with our existing environment?
- What are the requirements for processing and management? Is in-memory support needed?
- What is needed in terms of the development environment (GUI Environment, verification and validation tools, debugging, team features)?
- What controls and security are needed?
- What infrastructure platform capabilities are required (Scalability, failover, etc.) ?
- Is hot deployment of upgrades required?
- What operation management capabilities are required?
We will continue to see more examples of complex event processing in future applicaitons. For example, many software companies are using complex event processing for monitoring and responding to social medida events and trends. At Enfocus Solutions, we are currently analyzing this area to determine the best methods to use for defining requirements for this area.