Avaya DevConnect Center
Home IP Communications Contact Centers Unified Communications Communications Enabled Business Processes Avaya DevConnect Portal RSS Feed
Register to join the Avaya DevConnect Program to gain access to Avaya APIs & SDKs, purchase Avaya products for development at discounted prices, and receive a discount on training and certification. More information
Sign up for your free email newsletter today!
Avaya Developer News

More Newsletters

Deep Dive: Avaya Event Processor Offers Familiar Tools for Creating Event-Driven SOA Applications
Acting on fast moving events can be difficult without the right tools. But with Avaya's Event Processor and SQL-like Event Processing Language (EPL), it's easy for you to create the logic to handle real-time events. 

More Resources
  • Part 1: Event Processing Demands Real-Time Response for Communications-Enabled Business Applications


  • Free Download: Event Processor Developer Edition


  • On Demand Presentation: An Introduction to the Event Processing Language


  • Avaya Communications Enabled Business Processes (CEBP) Evaluation Kit Fact Sheet (PDF)


  • Avaya Event Processor: Real-Time Detection of Critical Business Events (PDF)
  • In part one of this two-part series, we took a high-level view of event processing the Avaya way, which is driven by the need for faster application development and rapid event response. Service-Oriented Architecture (SOA) and Event-Driven Architecture (EDA) complement one another by events driving service invocation, making it an event-driven SOA, and services acting as event generators. Now, let's delve deeper into how you can use Avaya's Event Processor to more quickly develop applications that take advantage of the benefits of an event-driven SOA, providing more rapid event response.

    Just to recap, Avaya's event processing software solution allows Avaya communications applications to be integrated into your company's business processes through customizable Web Services. The Event Processor is able to receive data from multiple streams and correlate them using the queries you have written using Avaya's query language, called EPL. It is also able to pull in data from databases to enhance the dynamic data from the streams. When significant events are detected, it fires off sophisticated scripts in the Communications Process Manager, which in turn orchestrates your company's business processes and other communications resources like the Communications Manager and Voice Portal. The result is rapid event detection and response.

    The components of the Avaya Event Processor allow you to create applications that provide such functionality as event-driven customer management, portfolio management and monitoring of suspicious activities. The components of the Event Processor include the Avaya Event Processor Server, the Event Processing Language (EPL), EPL Studio for development, runtime tools such as the EPL Console, the Event Processor Software Development Kit (SDK) and Event Processor Input/Output Adapters.

    The Event Processor contains its own visual editor for EPL files, called the EPL Studio. EPL files, however, can be edited in any text editor. The Event Server is the runtime environment, and it loads itself from EPL files.

    The EPL Console provides a Web-based user interface for the Event Server. It provides browser-based access to a running Event Server for development, testing and administration.

    Finally, you can use the Event Processor SDK to access the Application Programming Interface (API) as well as EPL+ command line tool. The I/O Adapters connect a stream to the outside world, push events to a stream and send events from a stream.

    Now, let's delve a little deeper into how you can use each of these components to rapidly deliver event driven applications.

    Using the Event Processor Server
    The Avaya Event Processor Server comprises the heart of the Avaya Event Processor. It provides high speed and high throughput at hundreds of thousands of events per second. The Avaya Event Processor Server pre-compiles EPL statements into Java byte code. It evaluates rules on data flowing through memory and fires output events on match detection.

    The Event Server contains a rich library of operations that can be used in event definitions. These are defined in the core language itself, views, functions and data providers.

    The Event Processor Server uses time-based analysis. The Event Server contains a variety of methods to aggregate and correlate data over time.

    Filters provide a simple and quick means of reducing noise and isolating data. Further, the system is extensible, so you can add more language constructs to EPL, be it a simple static function call or a time sensitive data structure.
    Figure 1. How the Event Processor Server Works

    Figure 1 shows how the Event Processor Server works.

    Streams are the core data structure of the Event Server, just as tables are the core data structure in a database. Unlike database tables, event streams are "insert only". Conceptually, events never leave a stream; they are immutable records of events that have happened in time. Streams provide a data model for the time-ordered sequence of events of a particular schema. All events in a given stream have the same schema, just as all rows of a database table share the same schema.

    IO Adapters provide connection from event stream to outside world events, using different integration mechanisms, such as JMS and SOAP.

    Data Providers in the Event Server provide an interface to external, persistent data sources, such as a database, table and persistent java objects.

    Event definitions are persistent queries which are written in EPL. This provides the developer with the capability to define conditions ranging from simple event filters to complex multi-channel event specifications. An event definition will also specify the action taken when the condition is met.

      Next Page: Using the Event Processing Language
    Page 1: Using the Event Processor ServerPage 3: Using EPL Studio
    Page 2: Using the Event Processing Language 



    JupiterOnlineMedia

    internet.com earthweb.com Devx.com mediabistro.com Graphics.com

    Search:

    Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

    Jupitermedia Corporate Info

    Copyright 2008 Jupitermedia Corporation All Rights Reserved.
    Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

    Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers