Eseményalapú szoftver architektúra

A Wikipédiából, a szabad enciklopédiából

Az Eseményalapú szoftver architektúra (angolul Event-driven architecture - EDA) egy olyan szoftver architektú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ó szoftverfejlesztési keretrendszerek 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[szerkesztés | forrásszöveg szerkesztése]

  1. K. Mani Chandy Event-Driven Applications: Costs, Benefits and Design Approaches, California Institute of Technology, 2006

Források[szerkesztés | forrásszöveg szerkesztése]