Między frontem a zapleczem
- Marian Łakomy,
- 03.03.2003
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.
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