ZAWWW-2st1.2-w11.tresc-1.0-Slajd39
Service Activator
W aplikacjach webowych większość wywołań usług i logiki biznesowej ma charakter synchroniczny: komponent wywołuje usługę i czeka na zwrócenie wyniku działania usługi. Istnieją jednak usługi biznesowe, które w naturalny sposób muszą być wywoływane w sposób asynchroniczny. Dotyczy to przede wszystkim usług zależnych od komponentów zewnętrznych względem całej aplikacji. Dwa popularne mechanizmy działania asynchronicznego obejmują model "publish-subscribe" (odbiorcy i nadawcy asynchronicznych komunikatów współdzielą listy tematów, do których mogą być publikowane komunikaty, np. wywołania usług biznesowych) oraz "point-to-point" (nadawca przekazuje komunikat tylko jednemu odbiorcy). Wzorzec Service Activator ułatwia włączenie komunikacji asynchronicznej do ogólnej architektury aplikacji. Na platformie Java EE istnieją dwie popularne implementacje komunikacji asynchronicznej: interfejs JMS (Java Messaging Service) oraz komunikatowe komponenty EJB. Obie implementacje oferują podobną funkcjonalność, przy czym przygotowanie własnej klasy zdolnej do prowadzenia nasłuchu JMS jest preferowane w przypadku mniejszych i prostszych systemów. Główną konsekwencją zastosowania wzorca Service Activator jest integracja JMS z aplikacją i umożliwienie komunikacji asynchronicznej.