w , , ,

FajneFajne

Serwer aplikacyjny a kontener aplikacji

kontener aplikacji
kontener aplikacji

Serwer aplikacyjny

Serwery aplikacyjne to narzędzie, które dostarcza możliwości tworzenia aplikacji internetowych oraz ich uruchomienie. Zapewniają one:

  • bezpieczeństwo, skalowalność;
  • zarządzanie transakcjami;
  • dostęp do baz danych oraz inne;
  • pozostałe funkcjonalności opisane w ramach specyfikacji JSR.

Jednak w rzeczywistości tylko garstka serwerów decyduje się na implementacje wszystkich wytycznych. Rozwiązania te są zazwyczaj rozwiązaniami płatnymi. Ale istnieją również darmowe dystrybucje np. WildFly.

Z rozwiązaniami płatnymi istnieje ten problem, że korporacje, które zainwestowały w licencje serwerowe do płatnych dystrybucji są zmuszone do ciągłego korzystania z nich.
Przykładowo inwestując w serwer, który wspierana Java 5, to nawet kiedy na rynku pojawi się nowsza wersja Java 6/7/8 to programiści nie mogą z niej korzystać, bo serwer tego nie umożliwia. Wymaga to zakupu licencji na nową wersję serwera w co firmy często nie chcą inwestować, bo wiąże się to z ogromnymi kosztami. Dla programistów rodzi to często frustracje, że muszą wykorzystać zamierzchłą technologię ze względu na ograniczania środowiskowe.

Kontenery aplikacji

Alternatywą do serwerów aplikacyjnych są kontenery aplikacji. Zwane również kontenerami serwletowy – jednak jest to bardzo zawężajcie określenie, ponieważ możliwości tych rozwiązań są dużo szersze niż tylko obsługa serwletów. Najbezpieczniej jest stosować angielską nomenklaturę i rozwiązania te nazywać „web container”.

Web container to zbiór narzędzi, które pozwalają uruchomić aplikacje internetową, bez dostarczania jej dodatkowych usług. Wszelkie dodatkowe usługi – bezpieczeństwo, transakcyjność, bazy danych itd. zostają zrzucone na aplikacje, która ma zostać wdrożona. Mówiąc prostymi słowami – to programista w czasie tworzenia musi zadbać, aby aplikacja miała wszelkie niezbędne biblioteki, które umożliwią jej pełne funkcjonowanie.

Takie rozwiązanie sprawia, web container jest:

  • mniejszy;
  • lżejszy;
  • łatwiejszy w obsłudze i konfiguracji.

Dodatkową korzyścią jest to, to, że kontenery są w przeważającej mierze bezpłatne.

Zobacz film, który porównuje oba rozwiązania:

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Spring Framework and Java EE Timeline

Spring Framework vs Java EE

Definiowanie i pobieranie zależności dla Spring MVC