Zprávy založené na událostech - Event-driven messaging

The zprávy založené na událostech je návrhový vzor, aplikované v rámci orientace na služby paradigma designu umožnit spotřebitelům služeb, kteří se zajímají o události, ke kterým dochází na periferii poskytovatele služeb, dostávat oznámení o těchto událostech, jakmile k nim dojde, aniž by se uchýlili k tradiční neefektivní hlasování založený mechanismus.[1]

Odůvodnění

Interakce mezi a spotřebitel služeb a a Poskytovatel služeb je obvykle iniciován spotřebitel služeb protože potřebuje reagovat na událost, ke které dojde na hranici samotného zákazníka služby, např. vyžadování některých údajů od externího zdroje (tj. poskytovatele služeb) za účelem provedení výpočtu, jehož výsledky je třeba předat zpět do uživatelské rozhraní v reakci na akci provedenou uživatelem. Existují však situace, kdy spotřebitel služby musí počkat na výskyt události v rámci samotného poskytovatele služby. Za těchto okolností musí být spotřebitel služby nějak informován o události, jakmile k ní dojde. Jedním ze způsobů je naprogramovat spotřebitele služby, aby v pravidelných intervalech dotazoval poskytovatele služeb, aby mohl zkontrolovat, zda k události došlo, či nikoli. Tento přístup nejen projevuje neúčinnost, ale také nepředvídatelnost chování. Neúčinnost, protože spotřebitel služeb a poskytovatel služeb jsou zapojeni do neproduktivních interakcí a nespolehliví, protože by se mohlo stát, že k události skutečně došlo více než jednou, než by spotřebitel služby mohl vyzvat spotřebitele služby, čímž by chyběly předchozí události a jejich související data. Kromě těchto problémů taková technika také zavádí latenci, protože interval, s nímž zákazník služby provádí dotazování, je pevný, a proto by pouze načetl data události v té době a ne, když k události skutečně došlo. Celý tento scénář se zhoršuje ještě více, pokud je více spotřebitelů služeb závislých na konkrétním poskytovateli služeb.

Za účelem řešení tohoto problému navrhuje návrhový vzor zasílání zpráv založený na událostech a mechanismus komunikace vydavatel-odběratel který zajistí včasné oznámení údajů o událostech spotřebiteli služby,[2] čímž se eliminuje neefektivnost spojená s tradičním komunikačním mechanismem založeným na hlasování.

Používání

Diagram A
Diagram A
Chcete-li zjistit, zda ke konkrétní události došlo, či nikoli, spotřebitel služby dotazuje poskytovatele služby v pravidelných intervalech, což má za následek neefektivní interakce služby.
Diagram B
Diagram B
Správce událostí automaticky upozorní všechny zúčastněné spotřebitele služeb na výskyt konkrétní události v okamžiku, kdy se skutečně stane.

Aplikace návrhového vzoru zasílání zpráv řízeného událostmi vyžaduje správce událostí, u kterého poskytovatel služeb registruje své události. Spotřebitelé služeb poté zaregistrují svůj zájem o několik nebo všechny inzerované události. Při výskytu události informuje poskytovatel služeb správce událostí, který poté okamžitě informuje všechny registrované spotřebitele služeb.[3] Tento komunikační mechanismus sdílí své kořeny s Vzor pozorovatele aplikované tradičně v rámci objektově orientovaný svět.[3] Tento návrhový vzor si také vypůjčuje některé koncepty z Architektura založená na událostech protože základním důvodem tohoto návrhového vzoru je reagovat na události.[4]

Skutečná implementace takového komunikačního mechanismu mezi vydavatelem a odběratelem vyžaduje architektonická rozšíření, aby poskytla takový komplexní mechanismus sledování a předávání zpráv. Dospělý ESB produkt by měl být za normálních okolností schopen poskytovat takové funkce. Použití tohoto vzoru pomáhá dále oddělit[5] spotřebitelé služeb od poskytovatelů služeb a zvyšuje celkovou spolehlivost složení služby.

Úvahy

Použití tohoto modelu závisí na existenci základních rozšíření platformy, která, pokud již nejsou k dispozici, by způsobila dodatečné náklady, a proto by měla dopad na rozpočet IT. Je třeba také poznamenat, že model vydavatele a předplatitele je založen na asynchronní zasílání zpráv, takže k přenosu zprávy od správce událostí může dojít kdykoli, což by mohlo znamenat, že pokud správce událostí vysílá zprávu s upozorněním na událost, není nutné, aby byl spotřebitel služby online pro její příjem. Aplikace tohoto návrhového vzoru tedy nevyřeší problémy s nedostupností. To by však bylo možné vyřešit dalším uplatňováním asynchronní řazení do fronty[6] a spolehlivé zasílání zpráv[7] návrhové vzory, které zaručují, že přenášená zpráva je vždy přijímána zamýšleným přijímačem spolu s potvrzovacími zprávami.

Zavedení architektonických rozšíření by ovlivnilo současnou architekturu inventáře služeb a způsob, jakým jsou kompozice služeb navrženy, a proto také ovlivnilo architektury složení služeb.

Reference

  1. ^ Wajid Khattak, Vijay Narayanan.Zprávy založené na událostech [Online]. Datum přístupu: 27. dubna 2010.
  2. ^ Mauro. et al. Integrace zařízení orientovaná na služby - analýza návrhových vzorů SOA. Archivováno 1. února 2011 v WebCite [Online], s. 1–10, 2010 43. Havajská mezinárodní konference o systémových vědách, 2010. Datum přístupu: 4. dubna 2010.
  3. ^ A b Mauro a kol. Standardizované služby zařízení - návrhový vzor pro integraci zdravotnických zařízení orientovanou na služby [Online]. Datum přístupu: 4. dubna 2010.
  4. ^ Thomas Erl.Představujeme návrhové vzory SOA [Online]. Datum přístupu: 4. dubna 2010.
  5. ^ Typy spojek
  6. ^ Asynchronní řazení
  7. ^ Spolehlivé zasílání zpráv
  • Erl et al., (2009).SOA návrhové vzory. Prentice Hall. ISBN  0-13-613516-1.
  • Michael Stal.Použití architektonických vzorů a plánů pro architekturu orientovanou na služby [Online]. Datum přístupu: 1. května 2010.

externí odkazy