WebSphere MQ - Komunikacja synchroniczna i asynchroniczna

Autor: Marcin Kasiński
24.04.2012 12:59:49 +0200

Ze względu na specyfikę możemy rozróżnić dwa sposoby komunikacji, komunikacja synchroniczna i asynchroniczna. Komunikacja synchroniczna, to standardowy sposób komunikacji, kiedy to wysyłając zadanie blokując czekamy ze zwróceniem interfejsu do klienta, aż zadanie zostanie przetworzone. W przypadku krótkich transakcji taka sytuacja jest do przyjęcia, jednak w przypadku bardzo długich transakcji nie ma ona racji bytu. Weźmy na przykład zadanie wygenerowania raportu, którego przetworzenie trwa długi czas. W takiej sytuacji nie miałoby sensu aby użytkownik systemu przez ten okres nie mógł nic zrobić w aplikacji. W takich właśnie sytuacjach stosuje sie komunikacje asynchroniczna.

Polega ona na tym ze wysyłane jest tylko zadanie wykonania zadania ( w naszym przypadku będzie ta zadanie wykonania raportu ) i zaraz potem następuje zwrócenie interfejsu do klienta, a wtedy można wykonywać inne operacje w aplikacji. Oczywiście należałoby tu zapewnić funkcjonalność pozwalającą na stwierdzenie, jaki jest status zadania, czy też, w przypadku zakończenia przetwarzania pozwalającą na pobraniu wygenerowanych danych. Wybór odpowiedniej metody komunikacji ma duże znaczenie przy integracji aplikacji, jak również na kwestie wydajnościowe. Będąc w temacie integracji warto tu zauważyć, że poza ustaleniem typu komunikacji (synchroniczna, czy asynchroniczna) ważnym elementem jest dobranie formy transportu danych. Mamy tu szeroki wachlarz możliwości: FTP, baza danych, płaski plik, połączenie TCP/IP, itp. W tej całej gamie możliwości wskazane jest aby wybrać jeden, góra dwa standardowe sposoby integracji. Skraca to czas tworzenia aplikacji a co za tym idzie obniża koszty. Dzieje sie tak dlatego, że jeśli ograniczymy ilość sposobów integracji nie będziemy musieli przy nowych aplikacjach tworzyć modułów odpowiadających za komunikacje, ponieważ będą one już gotowe. Dla aplikacji J2EE takim sposobem komunikacji może być technologia Web Services lub JMS. Oczywiście nie należy popadać w skrajność i do każdego rodzaju komunikacji używać wybranego standardu. Mogą istnieć nietypowe wymagania, gdzie okaże się, że lepszym rozwiązaniem jest wykorzystanie innego sposobu przesyłania danych. Jako przykład można tu przytoczyć przesłanie bardzo dużej ilość danych. W takim przypadku może się okazać, że lepszym i bardziej wydajnym rozwiązaniem może być np. FTP.


powrót
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

ok

Bardzo w porządku artykuł, krótki, zwięzły i na temat.

2015-03-11 15:32:00

Widzę , że neostrada w Jedrzejowie w świętokszyskiem działa sprawnie, ale wolałbym tu zobaczyć konstruktywną krytykę, a nie takie komentarze. PS. Wiem, że Internet może powodować, że komuś się wydaje , że jest anonimowy, ale wystarczy chwila zastanowienia aby dojść do wniosku, że to nie prawda.

Marcin 2014-10-27 09:32:12

Ola

buahahahahaha

2014-10-27 09:12:24

lol

debilne jest napewno !!!!!!!

2014-10-27 09:10:41

za mądre to to nie je

2014-10-08 09:10:13

Dodaj Komentarz