Eseményalapú szoftverarchitektúra

Innen: Hungaropédia
A lap korábbi változatát látod, amilyen imported>WikiPszi 2023. április 19., 13:31-kor történt szerkesztése után volt. (Stb. előtti vesszőt töröltem.)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhozUgrás a kereséshez

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

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

Források