| By Prabhu Balashanmugam, Yanbing Lu | Article Rating: |
|
| August 28, 2008 12:45 PM EDT | Reads: |
4,735 |
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:
- Listen to streams* *of events from multiple sources over time
- Filter, sort, correlate, aggregate, and process to identify items of interest
- Take outbound actions when necessary. Outbound actions include updating a dashboard, sending alerts, and triggering a service (see Figure 1)
Published August 28, 2008 Reads 4,735
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- Oracle To Keynote Cloud Computing Expo
- Is the PR Business Extinct? Yes
- The Difference Between Web Hosting and Cloud Computing
- GovIT Expo Highlights Cloud Computing
- The End of IT 1.0 As We Know It Has Begun
- Cloud Computing Best Practices
- Gang of Four Creates Cloud BI Stack
- The Case for Single-Purpose Services
- VIP Invitation For the GovIT Panel October 6, Washington DC
- Product Evaluation: JBoss TCO Calculator
- Oracle To Keynote Cloud Computing Expo
- How to Diagnose Java Resource Starvation
- Is the PR Business Extinct? Yes
- Anatomy of a Java Finalizer
- IBM & Cloud Computing: Exclusive Q&A
- IBM & Cloud Computing: How "SOA in the Cloud" Can Produce Real Change
- SOA & Cloud Bootcamp: Comparing Cloud Computing Providers
- WebSphere Guru to Keynote at SOA World
- IBM Researcher Solves In-Cloud Data Encryption Puzzle
- The Difference Between Web Hosting and Cloud Computing
- Java vs C++ "Shootout" Revisited
- Where Are RIA Technologies Headed in 2008?
- WebSphere Application Server Java Dumps
- Breaking News: New Internal IBM Report Says "Another Flawed Study"
- Last Exclusive JDJ Interview With "IBM's" John A. Swainson, Now CA's Newly Appointed CEO
- How To Deploy Scalable WebSphere Applications Using "Maven" Build Tool
- Your Guide to Portal Clustering in WebSphere Portal Server 5.1
- Developing Java and Web Services Applications on Rational Application Developer V6
- Automated Deployment of Enterprise Application Updates
- Putting IBM's WAS On Unix - WebSphere Application Server


































