Ewolucja aplikacji rozproszonych

Aplikacje klient/serwer

Aplikacje klient/serwer są już od wielu lat i zapewne nie znikną szybko. Graficzny interfejs użytkowy i ścisła współpraca z użytkownikiem są tworzone za pomocą popularnych narzędzi, takich jak PowerBuilder, Visual Basic, Delphi czy Progress. Interfejs użytkowy przypomina najczęściej typowe aplikacje na biurko, z rozwijanymi menu, listami, okienkami dialogowymi; czasem z "wodotryskami", dodawanymi bardziej dla efektu niż z rzeczywistej potrzeby.

Aplikacje te, korzystając z zaawansowanych możliwości serwerów baz danych leżących u ich podłoża oraz dużej mocy obliczeniowej PC, zapewniają użytkownikowi bardzo rozbudowane możliwości przetwarzania danych. Serwer jest stale połączony ze stacją klienta (sesja połączeniowa), zna on aktualny "stan" klienta, często nawet tworzy oddzielny proces systemowy do jego obsługi; klient może więc przesyłać do serwera i pobierać z niego dowolne dane, bez obawy że przez przypadek przejdą one do innej aplikacji. Często do dodatkowej analizy danych na biurku wykorzystuje się arkusz obliczeniowy lub pakiet statystyczny.

Aplikacje klient/serwer powodują obciążenie sieci lokalnej, związane z koniecznością przesyłania dużej ilości danych między serwerem a stacją klienta. Z tego powodu pojawiły się aplikacje trójwarstwowe, z oddzielnym serwerem aplikacyjnym lub obliczeniowym, wykonującym specjalistyczne obliczenia lub służącym do uruchamiania części aplikacji nie związanej bezpośrednio z pobieraniem danych z bazy ani z prezentacją. Do stacji klienta trafia tylko wynik końcowy. Czasem na oddzielnym serwerze uruchamia się pakiet programów koordynujący pobieranie i zapis danych z/do wielu serwerów baz danych; jest to na ogół monitor transakcji lub oprogramowanie komunikacyjne typu middleware.

Zrzucanie dużej części przetwarzania na stację klienta powoduje, że aplikacje stają się "grube", wymagają dużo pracy przy ich instalowaniu na wszystkich stacjach klienta, są trudne do poprawiania i modyfikowania oraz wymagają coraz większej mocy obliczeniowej na stacji klienta.

Aplikacje HTML w sieci Web

Wiele aplikacji do rozpowszechniania przez sieć Web tworzy się w języku HTML i dynamicznym, wspomaganych przez JavaScript, VBScript oraz skrypty CGI dostępu do baz danych. W miarę dojrzewania narzędzi do tworzenia aplikacji dla Web pojawiły się lepsze możliwości języków skryptowych wyższego poziomu i dostępu do baz danych, bardziej powiązane z właściwościami serwerów Web.

Podstawowe zalety aplikacji Web napisanych w HTML to:

  • łatwość rozpowszechniania

  • dostępność z każdej przeglądarki Web

  • rozbudowane możliwości prezentacji z dołączaniem grafiki, dźwięku oraz tworzeniem połączeń (link) do innych dokumentów

  • niewielkie wymagania na pasmo łącza użytkownik-serwer

  • prostota dokumentów.

    Ponieważ aplikacje tworzone za pomocą HTML są przechowywane na serwerze Web, problem konserwacji i utrzymywania aplikacji jest ograniczony do jednego miejsca. Rozmiar aplikacji HTML jest na ogół niewielki co ma zasadnicze znaczenie dla użytkowników mających ograniczone pasmo komunikacyjne.

    Internet i aplikacje HTML to idealna metoda do publikowania katalogów oraz dokumentacji technicznej, marketingowej i handlowej. Możliwość dołączania grafiki ułatwia objaśnianie problemów, a skrypty na stronie HTML pozwalają na zebranie informacji od klienta oraz prezentowanie mu raportów z bazy danych, uzyskanych za pomocą wstępnie przygotowanych zapytań uruchamianych poprzez skrypt CGI.

    Mogłoby się wydawać, że język HTML spełnia wszystkie wymagania użytkowników. Ma on jednak kilka wad. Język HTML (HyperText Markup Language) służy do formatowania dokumentów; aplikacje HTML mają więc charakter dokumento-centryczny. Ograniczenia języka nie pozwalają na tworzenie skomplikowanych interfejsów użytkowych i zaawansowanych możliwości współpracy z serwerem. Włączenie do aplikacji obiektów typu komponenty JavaBeans lub ActiveX pozwoli na obejście tych ograniczeń, ale wywołuje ryzyko ograniczenia aplikacji do konkretnej platformy (ActiveX działa tylko w Windows).


  • TOP 200