Definicja #
JBoss to serwer aplikacyjny Java EE (Jakarta EE) rozwijany przez Red Hat. Projekt ma dwa warianty: WildFly — darmowa, open-source'owa wersja do zastosowań deweloperskich i ogólnych, oraz JBoss EAP (Enterprise Application Platform) — komercyjna wersja z wsparciem enterprise i gwarancjami SLA.
JBoss oferuje pełną implementację specyfikacji Jakarta EE, w tym:
- EJB (Enterprise JavaBeans) — zarządzane komponenty biznesowe z transakcjami i bezpieczeństwem
- JPA (Java Persistence API) — ORM przez Hibernate jako domyślny provider
- CDI (Contexts and Dependency Injection) — wstrzykiwanie zależności
- JAX-RS — tworzenie REST API przez RESTEasy (implementacja Red Hat)
- JMS (Java Message Service) — kolejkowanie wiadomości przez ActiveMQ Artemis
- Undertow — wbudowany, wydajny serwer HTTP
JBoss EAP jest powszechnie używany w środowiskach enterprise korzystających z Red Hat Enterprise Linux (RHEL) i OpenShift. WildFly jest popularny wśród deweloperów jako darmowa alternatywa z szybkim cyklem wydań i najnowszymi specyfikacjami Jakarta EE.
Zastosowania #
- Hosting aplikacji enterprise Java EE/Jakarta EE w środowiskach korporacyjnych wymagających pełnego stosu Java EE
- Wdrożenie aplikacji z EJB (transakcje, zarządzanie cyklem życia komponentów) w środowiskach Red Hat/OpenShift
- Konfiguracja klastrów i load balancingu dla wysokodostępnych aplikacji Java
- Integracja z systemami kolejkowania wiadomości (JMS/ActiveMQ) w architekturach opartych na zdarzeniach
- Migracja starszych aplikacji J2EE na nowoczesny stos Jakarta EE z JBoss EAP
Ścieżka nauki #
Naukę JBoss/WildFly najlepiej rozpocząć od solidnych podstaw Java EE (Jakarta EE) — EJB, JPA, CDI i JAX-RS. Oficjalna dokumentacja WildFly (docs.wildfly.org) i Red Hat Developer (developers.redhat.com) oferują obszerne tutoriale i przykłady.
Pobierz WildFly i skonfiguruj lokalne środowisko deweloperskie — wdróż prostą aplikację WAR lub EAR, naucz się zarządzania przez konsolę administracyjną i CLI (jboss-cli.sh). Zapoznaj się z konfiguracją datasource, bezpieczeństwa (security realms) i logowania.
Na poziomie zaawansowanym warto poznać konfigurację klastrów (domain mode), integrację z Infinispan (cache rozproszony) i Keycloak (bezpieczeństwo). Certyfikat Red Hat Certified JBoss Developer (RHCJD) potwierdza umiejętności JBoss EAP. W nowych projektach warto rozważyć Quarkus — nowoczesny framework Red Hat zoptymalizowany pod Kubernetes, będący ewolucją ekosystemu JBoss.