Technologie

Servlety

Servlety są to programy napisane w Javie i pracujące po stronie serwera. Mają efekt działania zbliżony do osiąganego poprzez zastosowanie CGI, ale servlety są znacznie wydajniejsze i oszczędniejsze w gospodarowaniu zasobami serwera. Jest to spowodowane tym, że zamiast nowego procesu (jak w CGI) dla każdego zapytania powstaje tylko nowy wątek. Proces dostępu do bazy danych jest realizowany tak samo jak w przypadku apletu, z tą różnicą, że dostęp do bazy danych ma charakter najczęściej lokalny.

Servlety nie najlepiej nadają się do pisania prostych aplikacji. Składa się na to wiele czynników:

  • są skomplikowane w instalacji: wymagają pakietu JDK, serwera servletów np. Tomcat, sprzężonego z nim serwera WWW, np. Apache'a, obsługi baz przez JDBC itd.,
  • kod HTML jest generowany w aplikacji, co powoduje duży współczynnik kodu aplikacyjnego nad HTML'owym (oczywiście w małych aplikacjach),
  • język Java wymaga wysokiej jakości kodowania, co wiąże się z dużą pracochłonnością.

Z drugiej strony servlety doskonale nadają się do pisania dużych aplikacji webowych z rozbudowaną warstwą biznesową:

  • przy wykorzystaniu szablonów dokumentów, np. Webmacro czy JSP można doskonale oddzielić warstwę prezentacji (kod HTML w szablonach) od warstwy logiki (kod Javy),
  • obiektowy język Java doskonale nadaje się do modelowania przy pomocy narzędzi CASE, co zapewnia panowanie dużymi projektami,
  • bogactwo narzędzi i pakietów Javy pozwala na integrację z najróżniejszymi produktami,
  • przenośność języka Java pozwala na niezależność od platformy sprzętowej,
  • wysoki poziom programowania w Javie pozwala na uzyskanie oprogramowania niezawodnego i łatwego do dalszej modyfikacji.

Przetwarzanie baz danych w Javie odbywa się za pomocą JDBC (Java Database Connectivity). Stanowi on unowocześnioną i niezależną od platformy odmianę interfejsu ODBC (Open Database Connectivity) używanego do przetwarzania relacyjnych baz danych. Java umożliwia także posługiwanie się interfejsem OBDC.

Servlety w wersji 2.1 są częścią specyfikacji platformy Java 2 Enterprise Edition (J2EE) - środowiska dla serwerów aplikacji.