What is event-driven architecture?
One of the few instances in which the real-world benefits of a technology came before the hype. The term "event-driven architecture" refers to any applications that react intelligently to changes in conditions, whether that change is the impending failure of a hard drive or a sudden change in stock price.
Is it a product?
Not yet. Companies such as Rhysome and Neon Systems sell development tools designed to help programmers build event-driven software; more powerful tools are on the way from IBM, BEA Systems, Microsoft and others that will make it easier for event-driven applications to communicate using standardized protocols. Event-driven architecture is more a set of guidelines than a product. The active ingredient: a small piece of software called an agent that can sit on a particular machine and watch for something to happen. In a systems-management system, it could be watching for a hard drive to fail. On a Web server, it could be waiting for a customer to push the "Buy" button.
Cant any application do that?
Probably, but most application techniques rely on a request-reply process in which they send a message to other applications asking for some action or data, then have to wait for the reply before doing anything. Rather than wait for one activity, agents can launch several responses, each of which can be completed independently, often with no further action from the agent. Agents can also be told to watch for a range of events that may or may not happen, and may happen in an order thats hard to predict. "You could do this before, but it took a heroic effort," says Ray Schulte, vice president and research team leader for application integration at Gartner Inc. "So that was limited to a few high-payback applications like trading."