CEP Breaking News, Articles, Feature Stories and Blog Posts

CEP on Ulitzer

Subscribe to CEP on Ulitzer: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get CEP on Ulitzer: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

cep Authors: Tony Shan, Liz McMillan, Bob Gourley, Charles Rich, AppDynamics Blog

Related Topics: SOA & WOA Magazine, CEP on Ulitzer

SOA & WOA: Article

The Role of Event-Driven Architecture in Business Applications

A proven paradigm

Three-letter acronyms (TLAs) are hardly new in Information Technology: EAI, ESB, SOA, BPM, BAM, ETL, MDM; the list goes on and on. This article is about yet another three-letter acronym, EDA, which stands for Event-Driven Architecture. EDA is not a brand new technology, but rather a proven paradigm in system-level programs, war and military simulator applications, gaming, and other areas. EDA has started to shape how general-purpose business applications are architected.

This article explores the relationship between EDA and business applications, explains the technical background, and provides implementation details of a sample use case.

Business Applications and EDA
Despite efforts to simplify the IT infrastructure for medium and large enterprises, this area often becomes fragmented and disparate. This problem is prevalent in fast-growing business environments, as the rate at which new business functions and business decisions are automated surpasses the rate at which the infrastructure evolves. In some cases, the evolution of the infrastructure creates new opportunities to enhance alignment with business operations. These challenges are usually positive, because they indicate the growth and increasing relevance of IT with business.

Business intelligence is one of the tools used by businesses to differentiate themselves from the competition and to understand threats. Traditionally, business intelligence was generally gathered by analyzing past business data to predict business opportunities or threats and necessary adjustments were made to the system. Although the need for traditional approaches is not going away, a new set of challenges has emerged where the timing of the business intelligence is more important than its accuracy. In other words, the value of any given intelligence significantly erodes with time, in some cases in seconds. This development creates the need for a system that can process business events as they occur and respond to opportunities and threats in real-time.

This system should be based on an event-driven architecture that receives and analyzes events from multiple sources in real-time and takes outbound actions as needed. This system should be layered alongside a variety of existing architectures and systems: SOA, ESB, EAI, packaged applications, and so forth.

Technical Overview
Traditional applications follow a simple "Request Response" model, where a new thread or process instance is created to process every incoming request, and a response is sent back either immediately (synchronous mode) or at an indeterminate point in the future (asynchronous mode). Event-driven applications follow a radically different model for processing messages: The Event Processing model discussed in this article processes messages from multiple sources received over a period of time in a single engine and respond based pre-defined business logic. This model is suitable for processing event streams, and applications following this model are sometimes called event stream processors. Event-driven applications perform three broad types of functions:

  1. Listen to streams* *of events from multiple sources over time
  2. Filter, sort, correlate, aggregate, and process to identify items of interest
  3. Take outbound actions when necessary. Outbound actions include updating a dashboard, sending alerts, and triggering a service (see Figure 1)

More Stories By Prabhu Balashanmugam

Prabhu Balashanmugam is a Product Manager for SOA and Business Integration software at Sun Microsystems. He is currently responsible for managing Business Process Management, Event Processor, and Data Integrator products. He has more than 10 years of experience in the software industry in roles that include product management, development, pre-sales, and technology consulting.

More Stories By Yanbing Lu

Yanbing Lu is the architect for Complex Event Processing at Sun Microsystems, Inc. He has more than 15 years of experience in the Enterprise Software industry in technical leadership and architectural roles.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.