| Komunikacja synchroniczna i asynchroniczna |
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
|