Technologia cienkiego klienta oraz serwery aplikacji

Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200

Popularność oprogramowania pracującego w architekturze Klient-Serwer powoduje, że często spotykamy się z instalacjami, w których Uniwersalne Końcówki Sieciowe (zwane także cienkimi klientami lub komputerami sieciowymi) muszą współpracować z takimi programami. Klasycznymi przykładami są rozwiązania oparte o interfejs oparty o przeglądarkę WWW - chociażby system bankowości elektronicznej dla biznesu niektórych banków lub popularny zintegrowany system SAP. Architektura Klient-Serwer wymaga współpracy 2 modułów programowych - serwera, który zazwyczaj pracuje na dedykowanym silnym komputerze i komunikuje się z innymi jednostkami za pośrednictwem sieci lokalnej lub rozległej oraz klienta, którego zadaniem jest realizacja interfejsu użytkownika oraz oczywiście komunikacja z serwerem.

Architektura oparta o model serwera aplikacyjnego pozwala na zabezpieczenie poziomu niezawodności, dostępności, łatwości naprawy i skalowalności wymaganej w intranetach przedsiębiorstw i rozwiązaniach internetowych.

Architektura obejmująca serwer aplikacyjny pozwala:

  • obsługiwać duże ilości zapytań
  • obsługiwać nieprzewidywalne obciążenia
  • utrzymywać wysoką dostępność i niezawodność usług

Architektura sieciowa.

Sieć może być zaprojektowana w dwóch, trzech lub więcej warstwach w zależności od środowiska. W przedsiębiorstwie, w którym większość dostępu do informacji jest realizowana wewnątrz firmy, z reguły spotkamy architekturę dwuwarstwową. Do środowiska wymagającego dostępu z zewnątrz, jak np. w przypadku handlu elektronicznego, bardziej pasuje architektura trójwarstwowa. W dwuwarstwowej architekturze serwery aplikacyjne stanowią warstwę pierwszą, a serwery baz danych - drugą. Interfejs użytkownika znajduje się na serwerach aplikacyjnych a dane na serwerach baz danych. W trzywarstwowej architekturze serwery aplikacyjne ustawione są w drugiej warstwie, z reguły pomiędzy serwerami WWW stanowiącymi pierwszą warstwę, a serwerami baz danych stanowiącymi warstwę trzecią. Druga warstwa bywa określana również warstwą aplikacyjną.

W takim modelu interfejs użytkownika znajduje się na platformach pierwszej warstwy, cała logika aplikacji biznesowych na drugiej warstwie, a dane przechowywane są na warstwie trzeciej.

Serwery aplikacji

Termin "serwer aplikacyjny" może odnosić się tak do sprzętu, jak i oprogramowania. Oprogramowanie serwera aplikacyjnego stanowi platformę do świadczenia wysokiej jakości usług aplikacyjnych dla różnorakich serwerów, klientów i urządzeń.

Wykorzystanie oprogramowania serwerów aplikacyjnych pomaga zmniejszyć stopień komplikacji i rozmiary oprogramowania klientów, oraz zwiększyć wydajność poprzez buforowanie danych i kontrolę nad ich przepływem. Również umożliwia zagwarantowanie bezpieczeństwa danych i użytkowników. Serwer aplikacyjny w ujęciu sprzętowym stanowi bazę do przetwarzania danych niezbędnych dla zagwarantowania dostępu klientów do aktualnej informacji. W architekturze sieciowej serwery aplikacyjne znajdują się pomiędzy serwerami sieciowymi a serwerami obsługującymi bazy danych lub aplikacje produkcyjne, umożliwiając dostęp do tych ostatnich z poziomu przeglądarek.

Zaprojektowanie architektury sieci z wykorzystaniem serwerów aplikacyjnych w drugiej warstwie jest idealnym rozwiązaniem kwestii dużego ruchu na wejściu-wyjściu, nieprzewidywalnych obciążeń, oraz konieczności zapewnienia stałej dostępności.

Zalety serwera aplikacyjnego.

Serwer aplikacyjny pozwala rozwiązać problemy związane z dostarczaniem usług on-line niezależnie od tego, czy dostęp następuje w ramach intranetu przedsiębiorstwa, czy też z zewnątrz, przez internet, jak w przypadku handlu elektronicznego, czy usług świadczonych przez usługodawców. Zbudowanie architektury zawierającej warstwę serwerów aplikacyjnych pozwala na zwiększenie skalowalności, co z kolei umożliwia zredukowanie negatywnego wpływu nagłych skoków w obciążeniu wejścia-wyjścia na dostępność usług. Oznacza to, że klienci mogą szybciej dokonać swoich transakcji, a pracownicy mają stały dostęp do niezbędnych informacji biznesowych.

Wykorzystywanie serwerów aplikacyjnych niesie za sobą szereg istotnych korzyści. Niektóre z ich to:

  • wykorzystywane końcówki nie różnią się między sobą - pozwala to na ich szybką wymianę w dowolnym momencie
  • uaktualniania oprogramowania następują jedynie na serwerze aplikacji - nie jest konieczne przeprowadzanie uaktualnień oprogramowania końcówek
  • osobiste pliki użytkowników (historia, adresy stron, pamięć notatnikowa, poczta elektroniczna itp.) są przechowywane w ich katalogach domowych na serwerze (lub serwerach) aplikacji. Ułatwia to znacznie wykonywanie kopii awaryjnych, skutecznie ogranicza zagrożenia związane z wirusami lub innymi złośliwymi programami oraz znacznie upraszcza organizację systemu pomocy dla użytkowników systemu
  • pozwala na bardzo proste wprowadzanie nowych programów niezależnie od ich architektury i środowiska systemowego - możemy na przykład równocześnie korzystać z 2 lub więcej serwerów aplikacji.
  • znacznie upraszcza się administracja całego systemu - jest ona całkowicie scentralizowana, a więc administrator systemu nie jest zmuszony do konfigurowania pojedynczych stacji roboczych, a jeśli zachodzi taka potrzeba może skorzystać z systemu administracji zdalnej.

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

Komentarze

Dodaj Komentarz