HOME

TheInfoList



OR:

The staged event-driven architecture (SEDA) refers to an approach to software architecture that decomposes a complex, event-driven
application Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
into a set of stages connected by queues. It avoids the high overhead associated with
thread Thread may refer to: Objects * Thread (yarn), a kind of thin yarn used for sewing ** Thread (unit of measurement), a cotton yarn measure * Screw thread, a helical ridge on a cylindrical fastener Arts and entertainment * ''Thread'' (film), 2016 ...
-based concurrency models (i.e. locking, unlocking, and polling for locks), and decouples event and thread scheduling from application logic. By performing
admission control Admission control is a validation process in communication systems where a check is performed before a connection is established to see if current resources are sufficient for the proposed connection. Applications For some applications, dedicated ...
on each event queue, the service can be well-conditioned to load, preventing resources from being overcommitted when demand exceeds service capacity. SEDA employs dynamic control to automatically tune runtime parameters (such as the scheduling parameters of each stage) as well as to manage load (like performing adaptive load shedding). Decomposing services into a set of stages also enables modularity and code reuse, as well as the development of debugging tools for complex event-driven applications.


See also

*
Event-driven architecture Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events. Overview An ''event'' can be defined as "a significant change in state". For example, when a consume ...
(EDA) * Service-oriented architecture (SOA) * Pipeline (computing)


References


Bibliography

*


External links


Apache ServiceMix
provides a Java SEDA wrapper, combining it with related message architectures ( JMS, JCA & straight-through flow).
JCyclone
Java open source implementation of SEDA
Mule ESB
is another open-source Java implementation
SEDA: An Architecture for Highly Concurrent Server Applications
describing the PhD thesis by Matt Welsh from Harvard University

by Matt Welsh, July 26, 2010 {{DEFAULTSORT:Staged Event-Driven Architecture Events (computing) Software architecture