Sunday, September 28, 2008

CEP vs. Traditional Databases

Complex Event Processing systems and Databases have many things in common. Both CEP systems and Databases are used to retrieve useful information from a large set of data. CEP systems and Databases use query languages in order to perform various operations on data. Each CEP or Database query defines an operation on a subset of relations within the Database or the CEP system.

However, the two paradigms are quite different in their implementation and usefulness. First of all, a CEP acts upon transient data whereas a Database acts upon persistent data. A CEP system performs operations on a specific time interval whereas a Database performs an operation which does not depend on time. Also, a CEP system operates on a fixed query whereas a Database operates on querys that vary according to the transaction performed.

The CEP system can therefore be thought of as an inversion of concept of Database system. And, the final outcome is rather more or less the same. The benefit of having a CEP system in certain situations is very high when compared to a Database system, and thus the popularity of the CEP concept.

Situations in which a CEP plays a better role compared to databases are occasions in which large volumes of transient data are present and require real-time processing, which most modern Databases can't afford unless otherwise expensive hardware is being used. Others are situations such as deriving useful events from an event cloud, or tagging events as they pass by.

Saturday, September 27, 2008

Complex Event Processing

Currently we are involving in a project which is mainly responsible for making CEP usable in SOA. In case of achieving this stuff we first need to clarify what CEP is and what SOA is. Here I am going to emphasize what CEP is and for what it is standing and further how it serve the business world etc.

What is CEP….

Complex event processing (CEP) is a new technology. It can be applied to extracting and analyzing information from any kind of distributed message-based system. It is developed from the Rapid concepts of (1) causal event modeling, (2) event patterns and pattern matching, and (3) event pattern maps and constraints. Complex event processing can be applied to a wide variety of Enterprise monitoring and management problems, from low level network management to high level enterprise intelligence gathering.

Applications of Complex Event Processing:

  • Business Activity Monitoring
  • Business Process Management
  • Enterprise Application Integration
  • Event-Driven Architectures
  • Network and business level Security
  • Real time conformance to regulations and policies.

CEP embodies principles for building applications that enable enterprises to keep pace with the information flowing through their IT systems. The goal of CEP is to enable the information contained in the events flowing through all of the 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. This includes the events created by technologies such as RFID. CEP employs techniques such as detection of complex patterns of many events, event streams processing, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing. CEP can complement and contribute to technologies such as service oriented architecture (SOA), event driven architecture (EDA) and business process management (BPM).

Wednesday, September 10, 2008

ESB as an SOA component

An Enterprise Service Bus (or ESB) is a device operating as an enterprise messaging middleware which provides capabilities of providing an array primitive services and thereby interconnecting a number of complex applications that thrive through event driven or service oriented architectures. An ESB is not essentially a component of an SOA but has increasingly become one of the most popular components of an SOA. It is also important to understand that an ESB itself cannot implement an SOA.

In an SOA environment, an ESB sits in the right middle or at the very edge of a cloud of messages having vested with the capabilities of managing and routing them to their relevant destinations. The capabilities of an ESB puts it in the place of a simple multi-point connector which is capable of serving many types of requirements that may arise in an SOA world of communication with the help of several interconnected resources.

Another major advantage of an ESB is the no-code approach it uses. Most modern ESB developers introduce a concept of plug & play adaptors to which you simply can connect one or more distinct resources capable of servicing incoming requirements. Thus, an ESB makes an SOA easy to implement.

Analogous to a bus found inside a computing system, an ESB serves as a medium through which resources are exposed. Thus, in an SOA environment, the most traditional use of an ESB will be to provide a front-end to a specific resource which then can be accessed via multiple mechanisms over a number of different transports.

In a modern SOA environment the most important aspects of an ESB are it's
  1. Speed
  2. Ease of use
  3. Features
  4. Maintenance & Support