Między frontem a zapleczem

Apache/Tomcat

Apache Software Foundation (ASF) to potomek Apache Group, organizacji powstałej w 1995 r. dla opracowania serwera HTTP. Z badań wynika, że ponad połowa witryn internetowych korzysta z serwera HTTP Apache'a. Działalność ASF współfinansuje IBM. Firma udostępnia też komponenty kodu ze swoich produktów komercyjnych.

Apache Tomcat to udana implementacja bazowego serwera aplikacyjnego, obsługującego servlety i JSP. Wiele firm oferuje komercyjne odmiany Tomcata wraz z programami do instalacji i zarządzania oraz pomocą techniczną.

JBoss

JBoss to pełna implementacja specyfikacji J2EE 1.3, rozwijana przez ponad 1000 programistów. Odpowiedzialny za produkt Marc Fleury twierdzi, że w JBoss udało się stworzyć najlepsze mechanizmy buforowania danych w komponentach EJB, lepsze niż w znanych serwerach komercyjnych, zapewniając w ten sposób wysoką wydajność, nawet bez korzystania ze "wspomagania" w formie klastrów sprzętowych.

JBoss zapewnia również zaawansowaną realizację CMP 2.0 (Container Managed Persistence) - zapisu danych z obiektów Java w bazie oraz znaczne uproszczenie obsługi transakcyjnej w sieci. Istniejąca od czterech lat firma JBoss Group oferuje płatne wsparcie techniczne dla produktu.

JOnAS

Serwer aplikacyjny JOnAS (Java Open Source J2EE Application Server) jest wspólnym dziełem firm: Bull, Evidian, France Telecom i francuskiego instytutu informatycznego INRIA. Jest rozprowadzany jako produkt open source za pośrednictwem witryny ObjectWeb.

Z architektonicznego punktu widzenia JOnAS jest oparty na zestawach usług: kontenerach EJB, monitorze transakcyjnym JTM, dostępie do baz danych poprzez JDBC, komunikacji asynchronicznej JORAM (realizacja JMS w modelu open source), usługach bezpieczeństwa, zarządzania JMX, obsłudze poczty. Zapewnia również dostęp do środowiska CORBA za pośrednictwem Jeremie - specjalizowanej wersji RMI.

JOnAS jest używany w wielu komercyjnych realizacjach dużych projektów informatycznych.

Metasystem operacyjny

Serwery aplikacyjne Java pojawiły się ok. 1995 r. jako pakiety programowe do obsługi witryn handlu elektronicznego w sieci Web. Początkowo oferowały tylko możliwość udostępniania w sieci informacji z baz danych. Obecnie rozszerzone pojęcie serwera aplikacyjnego obejmuje każdy typ oprogramowania pośredniczącego między aplikacjami i bazami danych zaplecza a siecią Web. W większości przypadków serwery wywodzą się z monitorów do zarządzania transakcjami w sieci rozległej, chociaż oferują również funkcje kojarzone ze specjalistycznymi rozszerzeniami systemów operacyjnych (obsługa bezpieczeństwa, klastry, przejmowanie obciążenia w razie awarii jednej instancji serwera).

Z punktu widzenia programisty serwer aplikacyjny Java to jednolite środowisko pracy, niezależne od platformy sprzętowej, pozwalające na uniknięcie kłopotów z indywidualnymi cechami systemu operacyjnego czy języka programowania. Stał się on rodzajem metasystemu operacyjnego, na którym osadza się wszystkie aplikacje dla sieci Web oraz integruje aplikacje i dane w przedsiębiorstwie.

Wszystkie dostępne obecnie na rynku serwery aplikacyjne Java w pełni lub w części implementują specyfikację J2EE. Zawiera ona następujące rozwiązania potrzebne do tworzenia i osadzania aplikacji oraz zarządzania nimi:

  • spójny zestaw API

  • spójny model komponentowy we wszystkich warstwach aplikacji

  • komponenty wielokrotnego użytku, których właściwości można zmieniać w środowisku wykonawczym

  • zestaw usług, które można dynamicznie konfigurować w środowisku wykonawczym, bez konieczności wprowadzania zmian do logiki aplikacji

  • ramy architektoniczne, upraszczające tworzenie złożonych aplikacji

  • zestawy najlepszych praktyk i wskazówek

TOP 200