1 / 22

Enterprise Java Beans

Enterprise Java Beans. Kamil Falana. 13 grudnia 2004. PJWSTK. Plan prezentacji. Wprowadzenie. RMI. JNDI. Historia EJB. Plan prezentacji c.d. Rodzaje bean’ów EJB:. SessionBean :. stateless. stateful. EntityBean. Message-Driven Bean. Przykład. Podsumowanie. Wprowadzenie.

lev-abbott
Download Presentation

Enterprise Java Beans

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enterprise Java Beans Kamil Falana 13 grudnia 2004 PJWSTK

  2. Plan prezentacji • Wprowadzenie • RMI • JNDI • Historia EJB

  3. Plan prezentacji c.d. • Rodzaje bean’ów EJB: • SessionBean: • stateless • stateful • EntityBean • Message-Driven Bean • Przykład • Podsumowanie

  4. Wprowadzenie - J2EE jest specyfikacją, a nie konkretnym produktem - EJB jest częścią J2EE - Komponenty EJB – warstwa biznesowa - Serwer aplikacji (kontener)

  5. RMI (Remote Method Invocation) - RMI over IIOP (Internet Inter-Orb Protocol) - rozproszona komunikacja między obiektami - przekazywanie parametrów przez referencję i przez wartość (serializacja)

  6. JNDI (Java Naming and Directory Interface) - API J2EE (standardowy interfejs do lokalizacji m.in. komputerów, obiektów) - usługi nazwowe (łączenie nazw do obiektów) - usługi katalogowe (obiekt katalogu - atrybuty) - wspólny interfejs dla różnych katalogów • wykorzystywane przez komponenty do poszukiwania innych komponentów

  7. JNDI (Java Naming and Directory Interface) - JNDI składa się z 2 części: • API klienta • interfejsu SPI (Service Provider Interface) KLIENT API klienta JNDI Interfejs dostawcy usług (SPI) Interfejs usługi LDAP Interfejs systemu plików

  8. Enterprise Java Beans Integeracja RMI i JNDI: - serwer RMI publikuje się w drzewie JNDI - klient wyszukuje serwera RMI poprzez JNDI

  9. Historia - EJB 1.0 – specyfikacja 1998 rok - Aktualizacje: – EJB 1.1 – EJB 1.2 - EJB 2.0 – wrzesień 2001 roku - EJB 2.1 – październik 2003 roku - EJB 3.0 – ?

  10. Session Bean Komponent sesyjny - obiekt krótkotrwały - rozszerzenie aplikacji klienta po stronie serwera (implementuje logikę biznesową) - 2 podtypy: - Stateful (stanowy) - Stateless (bezstanowy)

  11. Session Bean Stateful (stanowy) - przez cały czas życia skojarzone z jedną aplikacją klienta - pamięta swój stan obiektu

  12. Session Bean Stateless (bezstanowy) - przy każdym wywołaniu może być wykorzystywany przez inną aplikację klienta - niepamiętają swojego stanu obiektu

  13. Entity Bean Komponent encyjny - żyją aż do momentu jawnego ich usunięcia - automatyczne, fizyczne składowanie obiektów Java w bazie danych - wykorzystywane do komunikacji logiki biznesowej z bazą danych - pojedynczy komponent może być współdzielony przez wielu klientów

  14. Entity Bean - 2 rodzaje: - BMP (Bean-Managed Persistency) - z trwałością obsługiwaną przez komponent - CMP (Container-Managed Persistency) - z trwałością obsługiwaną przez kontener EJB

  15. Message-Driven Bean Komponent sterowany komunikatami - uruchamiany wtedy, gdy nadchodzi komunikat od klienta - wykonywany asynchronicznie - bezstanowy - może modyfikować zawartość bazy danych

  16. Enterprise Java Beans

  17. Przykład (Session Stateless Bean) Interfejs zdalny • import javax.ejb.EJBObject; • import java.rmi.RemoteException; • public interface ExampleRemote extends EJBObject { • String HelloWorld() throws RemoteException; • } Deklaruje metody komponentu EJB, które będą dostępne dla zdalnej aplikacji klienta.

  18. Przykład (Session Stateless Bean) Interfejs domowy • import javax.ejb.EJBHome; • import java.rmi.RemoteException; • import javax.ejb.CreateException; • public interface ExampleHome extends EJBHome { • ExampleRemote create() throws RemoteException, CreateException; • } Deklaruje metody zarządzania cyklem życia komponentu EJB.

  19. Przykład (Session Stateless Bean) Klasa komponentu EJB • import javax.ejb.SessionBean; • import javax.ejb.SessionContext; • public interface ExampleBean implements SessionBean { • public ejCreate() {...}; • ... • public HelloWorld() {...} • }

  20. Przykład (Session Stateless Bean) Deskryptor rozmieszczenia (ejb-jar.xml) <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd"> <ejb-jar> <enterprise-beans> <session> <description>Session Bean ( Stateless )</description> <display-name>Example</display-name> <ejb-name>Example</ejb-name> <home>ExampleHome</home> <remote>ExampleRemote</remote> <ejb-class>ExampleBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> </ejb-jar>

  21. Podsumowanie - interfejs zdalny - interfejs domowy - klasa komponentu - deskryptor rozmieszczenia - lokalny interfejs i lokalny interfejs domowy (*)

  22. Enterprise Java Beans KONIEC

More Related