IT Framework backendowy

EJB

Znany też jako:Enterprise JavaBeansJakarta EE Beans

Definicja #

Enterprise JavaBeans (EJB) to architektura komponentów server-side wprowadzona w 1998 roku jako część platformy Java EE (Enterprise Edition), obecnie Jakarta EE. Miała uprościć tworzenie skalowalnych, transakcyjnych aplikacji enterprise poprzez dostarczenie gotowych mechanizmów zarządzania transakcjami, bezpieczeństwem i wstrzykiwaniem zależności przez kontener aplikacji.

Typy beanów:

  • Stateless Session Bean — bezstanowy bean do obsługi żądań; pula instancji zarządzana przez kontener.
  • Stateful Session Bean — stanowy bean utrzymujący stan konwersacji z klientem.
  • Singleton Session Bean — jedna instancja na aplikację; do współdzielonego stanu.
  • Message-Driven Bean (MDB) — asynchroniczne przetwarzanie wiadomości z kolejek JMS.
  • Entity Beans (historyczne, EJB 2.x) — mapowanie obiektowo-relacyjne; zastąpione przez JPA (Hibernate).

EJB 3.0 (Java EE 5, 2006) drastycznie uprościło API — z XML i interfejsów do adnotacji. Jednak popularyzacja Spring Framework (prostszego i lżejszego) spowodowała marginalną pozycję EJB w nowych projektach. Nadal używane w systemach legacy na serwerach JBoss/WildFly, WebLogic i WebSphere.

Zastosowania #

  • Utrzymanie systemu bankowego lub ERP na serwerze JBoss/WildFly korzystającego z EJB 3.x.
  • Asynchroniczne przetwarzanie zleceń za pomocą Message-Driven Beans z kolejkami JMS (ActiveMQ).
  • Zarządzanie transakcjami rozproszonymi (XA transactions) w środowiskach wielozasobowych (JTA).
  • Migracja systemu EJB legacy do Spring Boot lub Quarkus.

Ścieżka nauki #

Nauka EJB jest przydatna głównie przy pracy z istniejącymi systemami enterprise:

  1. Zacznij od podstaw Java i Java EE/Jakarta EE — specyfikacja dostępna na jakarta.ee.
  2. Zainstaluj WildFly (open-source implementacja Jakarta EE) do ćwiczeń lokalnie.
  3. Przeczytaj "Enterprise JavaBeans 3.1" (O'Reilly) — najlepsza pozycja o EJB 3.x.
  4. Naucz się JTA (Java Transaction API) i JPA — nieodłączne od EJB w praktyce.
  5. Jeśli pracujesz z nowymi projektami — ucz się Spring Boot lub Quarkus zamiast EJB.
  6. Dokumentacja WildFly i Oracle Java EE Tutorial — bezpłatne, oficjalne zasoby.

FAQ #

Czy EJB jest nadal używane?
EJB jest używane głównie w systemach legacy na Java EE application servers (JBoss/WildFly, WebLogic, WebSphere). Nowe projekty Java rzadko sięgają po EJB — dominuje Spring Boot, Quarkus i Micronaut. Wiedza o EJB jest ceniona przy modernizacji i migracji starych systemów enterprise.
Czym różni się EJB od Spring?
Spring Framework oferuje podobną funkcjonalność (DI, AOP, transakcje) bez ciężkiego kontenera aplikacji — działa na prostym Tomcat/Jetty. EJB wymaga pełnego serwera aplikacji Jakarta EE. Spring jest lżejszy, bardziej elastyczny i ma znacznie większą społeczność. EJB ma lepszą integrację z JTA transakcjami rozproszonymi.
Co to są Message-Driven Beans?
Message-Driven Beans (MDB) to typ EJB do asynchronicznego przetwarzania wiadomości z kolejek JMS (Java Message Service). MDB automatycznie pobiera wiadomości z kolejki i przetwarza je w transakcji zarządzanej przez kontener. Podobną funkcję pełni @JmsListener w Spring.
Jakie serwery obsługują EJB?
Pełną specyfikację Jakarta EE (i EJB) obsługują: WildFly/JBoss (Red Hat), Oracle WebLogic, IBM WebSphere, Payara Server, GlassFish. Serwery jak Tomcat i Jetty obsługują tylko Servlet API — nie EJB (choć można dodać OpenEJB/TomEE jako rozszerzenie).
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z EJB w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.