Eseményalapú szoftverarchitektúra

(Eseményalapú szoftver architektúra szócikkből átirányítva)

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 szerkesztés

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

Források szerkesztés