| By Prabhu Balashanmugam, Yanbing Lu | Article Rating: |
|
| August 28, 2008 12:45 PM EDT | Reads: |
10,072 |
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 10,072
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.
- Microsoft Tries Hadoop on Azure
- Asynchronous Logging Using Spring
- StorSimple Supports OpenStack
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- AT&T Joins OpenStack, Floats Cloud Architect
- Linux Virtualization and Tired Open Source Myths
- Red Hat Sets Up GlusterFS Advisory Board
- OpenOffice.com Lives
- Selecting a Business Intelligence Solution
- Cloud Computing: A Platform-First Approach
- Forrester Wave: Open Source Business Intelligence
- Adobe Sends Flex to the Apache Foundation
- i-Technology in 2012: Five Industry Predictions
- Microsoft Tries Hadoop on Azure
- OpenXava 4.3: Rapid Java Web Development
- Asynchronous Logging Using Spring
- StorSimple Supports OpenStack
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- AT&T Joins OpenStack, Floats Cloud Architect
- More Use Cases for Big Data Analytics
- Linux Virtualization and Tired Open Source Myths
- Red Hat Sets Up GlusterFS Advisory Board
- After Ubuntu, Windows Looks Increasingly Bad, Increasingly Archaic, Increasingly Unfriendly
- SCO CEO Posts Open Letter to the Open Source Community
- Simula Labs Launches Hosted Delivery Platform To Enable Enterprise Open Source Adoption
- Where Are RIA Technologies Headed in 2008?
- Source Claims SCO Will Sue Google
- How Open Is "Open"? – Industry Luminaries Join the Debate
- Latest SCO News is Plain Weird
- SCO Claims Linux Lifted ELF
- IBM Tells SCO Court It Can't Find AIX-on-Power Code
- Flashback: Investing in 'Professional Open Source' - Exclusive 2004 Interview with David Skok, Matrix Partners
- Developing an Application Using the Eclipse BIRT Report Engine API
- HP Starts Pushing Desktop Linux
















