Sławomir Staśkiewicz ss@pjwstk.edu.pl JBossAS i EJB 3.1 Sławomir Staśkiewicz ss@pjwstk.edu.pl
Program JEE – architektura wielowarstwowa Serwer EJB – zarządca i dostawca usług EJB – główna część technologii JEE Rodzaje komponentów EJB Cykl życia komponentów Sposoby komunikowania się z komponentami Ćwiczenia z JBossAS v7
EJB - Definicja Enterprise JavaBeans™ jest architekturą komponentową stworzoną z myślą o wytwarzaniu i wdrażaniu rozproszonych aplikacji biznesowych złożonych z komponentów. Aplikacje w technologii EJB są skalowalne, transakcyjne i przenaszalne pomiędzy serwerami EJB. Serwery EJB zapewniają bezpieczeństwo w środowiskach wieloużytkownikowych. Źródło: Specyfikacja Enterprise JavaBeans, v.3.0, Copyright Sun Microsystems, Inc.
Serwer EJB – menadżer komponentów Kontenery EJB Udostępnia narzędzia Zarządza: EJB-1 EJB-2 EJB-3 EJB-1 EJB-2 EJB-3 Bezpieczeństwem Transakcyjnością Cyklem życia komponentów Rozmieszczanie Monitorowanie … Udostępnia usługi JNDI JCA JDBC JTA JAAS JMS Java Mail JAXP JAX-RPC
JEE – architektura wielowarstwowa Warstwa logiki biznesowej – Serwer EJB Warstwa prezentacji Warstwa danych RDMS Relacyjne bazy danych Serwer WWW: JavaServlet JSP EJB Przeglądarka WWW EJB EJB EJB EJB E I S Enterprise Information Systems EJB Klient Java EJB
Dostęp do komponentów EJB przez RMI JVM Klient zdalny Java JVM Serwer EJB Interfejs lokalny Klient zdalny Java EJB Interfejs zdalny Klient lokalny Java
JEE dostęp przez WS JVM Dowolny program Serwer WWW POJO WS EndPoint Serwer EJB Interfejs zdalny WS EndPoint Stateless EJB Dowolny program WS EndPoint
JEE dostęp do MDB przez JMS Przeglądarka WWW Serwer WWW JVM Servlet Serwer EJB JMS Server POJO WS EndPoint MDB Message Driven Bean Dowolny program
Rodzaje EJB Komponenty EJB Sterowane komunikatami (asynchroniczne) Sesyjne (sync i async) Encyjne (trwałe, teraz JPA) Queue (1:first) Topic (1:all ready) Stanowe (sync) Bezstanowe (sync/async/timer) Singleton (od 3.1)
Klasy, interfejsy i adnotacje Komponenty sesyjne: Klasy komponentów @javax.ejb.Stateless @javax.ejb.Stateful @javax.ejb.Singleton Interfejsy (nie konieczne w 3.1) @javax.ejb.Remote @javax.ejb.Local @javax.ejb.WebService Sterowane komunikatami: Klasa: @MessegeDriven Implementowny interfejs: javax.jms.MessageListener
Ćwiczenia - zasoby JBossAS 7.0.2 - www.jboss.org/jbossas/downloads JBossAS DOC: docs.jboss.org/author/display/AS7/Documentation Eclipse IDE for Java EE Developers 3.7 (indigo): www.eclipse.org Baza danych Derby: http://db.apache.org/derby/releases/release-10.8.1.2.html db-derby-10.8.1.2-bin.zip derby_core_plugin_10.8.1.zip derby_ui_doc_plugin_1.1.3.zip JBossTools: http://download.jboss.org/jbosstools/updates/development/indigo