Ewolucja aplikacji rozproszonych
- Marian Łakomy,
- 27.10.1997
Aplikacje w języku Java
Aplikacje korzystające z języka Java łączą wszystkie zalety Internetu z możliwościami aplikacji klient/serwer. Java pozwala na tworzenie zaawansowanych aplikacji takiego samego typu, jak tradycyjne aplikacje klient/serwer, a jednocześnie zapewnia łatwość rozpowszechniania na dowolną platformę sprzętową, dla której dostępna jest maszyna wirtualna Java.
Obecnie możliwe jest opracowanie aplikacji całkowicie w języku Java, zarówno w części przesyłanej do stacji klienta, jak i części uruchamianej na serwerze. Nowe narzędzia pozwalają na tworzenie aplikacji wielowarstwowych, w których aplikację uruchamia się na komputerze z serwerem Web, dane otrzymuje się z wielu systemów zarządzania bazami danych, a klientem może być dowolnego rodzaju komputer z maszyną wirtualną Java, niekoniecznie PC z przeglądarką Web.
Bogactwo możliwości języka nie ogranicza programisty w zakresie tworzenia interfejsu użytkowego, interakcji z serwerem, komunikacji między różnymi aplikacjami i dostępu do zasobów sieci Web.
Bardziej skomplikowane aplikacje w Javie mogą wymagać załadowania w momencie uruchamiania sporego kodu do stacji klienta, ale na ogół nie obciążają sieci bardziej niż typowe aplikacje klient/serwer. W konfiguracji trójwarstwowej, wykorzystującej specjalizowane serwery obliczeniowe lub komunikacyjne ruch w sieci jest jeszcze mniejszy. Czasem możliwa jest obsługa większej liczby użytkowników przez aplikacje Java niż przez równoważne tradycyjne aplikacje klient/serwer.
Co wybrać
Natura aplikacji decyduje o jej rozwiązaniach architektonicznych. Jeżeli czynnikiem decydującym jest małe pasmo przenoszenia między klientem a serwerem, najlepsze okazują się aplikacje HTML.
Jeżeli natomiast konieczna jest wyszukana aplikacja z dostępem do wielu baz danych, uruchamiana w sieci typu intranet/ekstranet/Internet, to najlepsze do jej tworzenia są język Java oraz nowe technologie obiektowe JavaBeans i ActiveX.
Jeżeli niezbędne jest rozpowszechnianie aplikacji na różne platformy sprzętowe (lub w nieznanym z góry środowisku), trzeba ograniczyć się do aplikacji napisanych w "czystej, 100% Javie" i wykluczyć komponenty ActiveX.
Zamiast opracowywać aplikację dla jednego centralnego komputera, programiści muszą tworzyć aplikacje, które trzeba dzielić (czasem nawet dynamicznie) na wiele komputerów.
Perspektywa „dostępu do informacji dla każdego, wszędzie i w dowolnej chwili”, dotąd odległa staje się codziennością.