Komunikacja w Javie

Progress Software oferuje środowisko SonicMQ do integracji rozproszonych aplikacji Java.

Progress Software oferuje środowisko SonicMQ do integracji rozproszonych aplikacji Java.

Firma JavaSoft, będąca częścią Sun Microsystems, stworzyła specyfikację Message Service (JMS), określającą sposoby i warunki asynchronicznego wysyłania i otrzymywania informacji o zdarzeniach (komunikatów) przez aplikacje rozproszone. JMS nie jest nową technologią, ale rozszerzeniem platformy Java 2 Enterprise Edition (J2EE) o zestaw funkcji programistycznych API, umożliwiających integrację aplikacji za pośrednictwem komercyjnych produktów do komunikacji asynchronicznej.

Kilka miesięcy temu Progress Software demonstrował możliwości komunikacji JMS wbudowane w serwer aplikacyjny Progress Application Server. Jednak firma zdecydowała się wprowadzić na rynek oddzielny produkt SonicMQ oparty na JMS.

Komunikacja to podstawa

Wczesne były projektowane w celu realizowania specyficznych funkcji: zapewnienia bezpiecznej obsługi transakcji, dostępu i przetwarzania danych itp. Obecnie dąży się do "uniwersalizacji" aplikacji polegającej na tym, że te same funkcje realizuje się w niejednorodnym, nieprzewidywalnym i znacznie bardziej wymagającym rozproszonym środowisku.

W szczególności coraz częściej wymaga się, aby aplikacje tworzyły solidną, choć luźno połączoną infrastrukturę komunikacyjną, niezbędną do obsługi pracowników posługujących się urządzeniami przenośnymi czy do obsługi klientów w Internecie, opartą na takich modelach, jak komunikacja punkt-punkt, publikowanie-prenumerowanie czy niezawodne dostarczanie komunikatów, niezależnie od jakości połączenia sprzętowego.

SonicMQ integruje aplikacje

SonicMQ to jedna z najwcześniejszych implementacji JMS, zawierająca liczne możliwości komunikacyjne, niezależne od środowiska sprzętowego i używanych serwerów aplikacyjnych Java. Zawiera też rozszerzenia specyfikacji JMS, umożliwiając obsługę komunikatów XML, szczególnie ważnych dla tworzenia aplikacji handlu elektronicznego. Łączenie w klastry brokerów obsługi komunikatów, komunikujących się między sobą, umożliwia tworzenie elastycznej struktury aplikacji, w której swobodnie można zmieniać adresy serwerów i klientów, bez utraty komunikacji. SonicMQ pozwala również na tworzenie hierarchicznych, tematycznych kolejek komunikatów.

Umożliwia też integrację aplikacji COM z Windows, gdyż zestaw API pakietu jest dostępny w formie komponentu ActiveX. W obecnej wersji ten zestaw API nie jest dostępny jako komponent JavaBean. SonicMQ istnieje w dwóch wersjach: bezpłatnej wersji dla programistów SonicMQ Developer Edition o ograniczonej liczbie połączeń i bez możliwości tworzenia klastrów oraz SonicMQ Enterprise Edition do komercyjnej integracji aplikacji Java.

Strukturę komunikacyjną aplikacji SonicMQ można tworzyć za pomocą dowolnych narzędzi programistycznych Java, chociaż Progress Software zaleca własny zestaw narzędziowy Apptivity.

Najważniejsze cechy SonicMQ

  • komunikacja punkt-punkt jedynie między nadawcą i odbiorcą komunikatu

  • mechanizmy publikowania i prenumerowania, pozwalające na stworzenie kolejek komunikatów "tematycznych"

  • broker komunikacyjny do przesyłania publikowanych komunikatów na podstawie ich zawartości, nie zaś adresu

  • transakcyjna obsługa grup komunikatów: wszystkie komunikaty są dostarczone i pojawia się oczekiwana odpowiedź lub całość operacji jest wycofywana

  • trwałość komunikatów zapisywanych do bazy danych w celu uniknięcia problemów związanych z awariami sprzętowymi.