Eseményalapú szoftverarchitektúra
Az eseményalapú szoftverarchitektúra (angolul Event-driven architecture, EDA) egy olyan szoftverarchitektúra, amely az eseményeket tekinti a komponensek közötti interakció alapjainak.
Egy eseményt definiálhatunk úgy, mint az állapotok jelentős megváltozását.[1] Például amikor a vevő vásárol egy autót, az autó állapota „eladva” lesz a korábbi „eladó”-val szemben. Egy autókereskedő nyilvántartó rendszere kezelheti ezt a változást úgy, hogy egy eseményt kell előállítania, közzétennie, érzékelnie és kezelnie a rendszerbe tartozó különböző alkalmazások között.
Az események feldolgozása az alábbi kategóriákba csoportosítható:
- Egyszerű események feldolgozása: ez esetben egy atomi esemény beérkezése indít el egy feldolgozási folyamatot. Egy példa erre a különböző felhasználói interakciókat támogató szoftverkeretrendszerek eseménykezelése (pl. SWING JSF stb.)
- Eseményfolyamok feldolgozása (angolul Event Stream Processing - ESP): ez esetben eseményfolyamokat szűrnek egyszerű feltételek alapján, és az érdekes eseményekre feliratkozott vevőknek küldik ki a szűrt eseményeket. Példa lehet erre, amikor a naplózásnál csak adott szintet elérő eseményeket továbbítunk.
- Komplex esemény feldolgozás (angolul Complex Event Processing - CEP): ez esetben a valós idejű eseményfolyamon értékelünk ki olyan szabályokat, melyek figyelembe vehetik az események sorrendiségét, bekövetkeztét, számosságát és számos egyéb tulajdonságát. Erre lehet egy példa a Drools.
Jegyzetek
- ↑ K. Mani Chandy Event-Driven Applications: Costs, Benefits and Design Approaches, California Institute of Technology, 2006
Források
- Programrendszerek fejlesztése - Bilicki Vilmos (SZTE)
Informatikai portál • összefoglaló, színes tartalomajánló lap