SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Tworzenie aplikacji
                       z użyciem EJB 3
                      Materiały pochodzą ze strony:
                        www.devcastzone.com




copyright BNS MEDIA
                                 www.devcastzone.com
Tworzenie aplikacji
                       z użyciem EJB 3
                             Moduł 2
                         Komponenty sesyjne




copyright BNS MEDIA
                              www.devcastzone.com
Treśd modułu
       1. Czym jest komponent EJB
       2. Komponenty bezstanowe
       3. Cykl życia komponentu




                                                                Źródło: sxc.hu/photo/204689
       4. Wykorzystanie
          komponentów
       5. Konwencje EJB
       6. JNDI



                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com                                          3
Treśd modułu
       7. Wstrzykiwanie zależności
       8. Konfiguracja EJB poprzez
           adnotacje




                                                                 Źródło: sxc.hu/photo/204689
       9. Konfiguracja EJB poprzez
           XML (deskryptory
           wdrożenia)
       10. Komponenty stanowe



                           Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                  www.devcastzone.com                                          4
Komponent EJB




                      Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                             www.devcastzone.com            5
Komponent bezstanowy
      • Nie posiada stanu wewnętrznego – nie przechowuje
        informacji pomiędzy wywołaniami
      • Służy do implementowania logiki działania aplikacji
      • Świadczy usługi dla innych komponentów
        wewnętrznych
      • Może byd fasadą dla klientów zewnętrznych (także
        usług webowych – web services)



                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com            6
Cykl życia komponentu




                      Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                             www.devcastzone.com            7
Wstrzykiwanie zależności

      • Wzorzec odwrócenia sterowania (Inversion of
        Control, IoC, Dependecy Injection)

      • Tworzenie luźnych powiązao pomiędzy obiektami

      • Przeniesienie odpowiedzialności za kontrolę
        zależności na zewnątrz obiektu

                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com            8
Wstrzykiwanie zależności (2)
      • Zależności w ujęciu tradycyjnym




                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com            9
Wstrzykiwanie zależności (3)
      • Zależności wstrzykiwane




                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com            10
Wstrzykiwanie zależności (3)
      • Spotyka się także wstrzeliwanie zależności
      • Do zdefiniowania sesyjnego komponentu
        bezstanowego służy adnotacja @Stateless
      • Za pomocą adnotacji @EJB można bezpośrednio
        wstrzyknąd referencję do komponentu do pola
      • Adnotowad można pole (field injection) lub metodę
        (setter injection)



                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com            11
Adnotacja @Stateless

      • name
               o      Identyfikuje komponent w kontenerze; domyślnie jest to
                      nazwa klasy implementującej komponent
      • mappedName
               o      Może określad nazwę komponentu w globalnym rejestrze
                      JNDI (ale nie musi – jest zależny od serwera)
      • description
               o      Pełni funkcję dokumentacyjną

                                        Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                               www.devcastzone.com             12
Adnotacja @EJB – dla atrybuty, metody

      • beanName
               o      nazwa istniejącego komponentu który ma zostad pobrany


      • mappedName
               o      podobnie jak w przypadku @Stateless, interpretacja
                      parametru zależna jest od dostawcy serwera




                                        Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                               www.devcastzone.com            13
Adnotacja @EJB – dla atrybutu, metody


           @Stateless
           public class HelloWorldService implements HelloWorld {

                      @EJB(name = "specificBeanName")
                      SecondServiceLocal secondService;

                      //..

           }




                                        Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                               www.devcastzone.com            14
Adnotacja @EJB – dla klasy

      • name
               o      nazwa, pod którą zostanie umieszczona referencja
                      pobieranego komponentu w kontekście JNDI
      • beanInterface
               o      interfejs (zdalny bądź lokalny) który zostanie wykorzystany
                      jako referencja




                                         Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                                www.devcastzone.com                 15
Adnotacja @EJB – dla klasy
           package pl.bnsit.ejb3;

           import javax.ejb.EJB;
           import javax.ejb.Stateless;
           import javax.naming.InitialContext;

           @Stateless
           @EJB(name = "someStrangeName", beanInterface = SecondService.class)
           public class HelloWorldService implements HelloWorld {

                      public String helloWorld() throws Exception {
                          InitialContext ctx = new InitialContext();
                          SecondService secondService =
                             (SecondService) ctx.lookup("java:comp/env/someStrangeName");

                          return secondService.returnValue();
                      }

           }

                                            Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                                   www.devcastzone.com                      16
Adnotacja @Resource
      • Analogiczna zasada działania jak przy adnotacji @EJB
      • Dodatkowe atrybuty
               o      type
                       • obiekt Class reprezentujący typ zasobu, np. DataSource
               o      authenticationType
                       • definiuje, czy za uwierzytelnianie podczas dostępu do zasobu
                         odpowiedzialny jest kontener, czy komponent
               o      shareable
                       • wskazuje, czy dany zasób może byd współdzielony przez więcej
                         komponentów


                                           Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                                  www.devcastzone.com                   17
Komponent stanowy
      • Przywiązywany jest do konkretnego klienta
      • Utworzona instancja powiązana jest z klientem przez
        cały cykl życia
      • Komponenty utrzymują stan – przechowują dane
        pomiędzy kolejnymi wywołaniami
      • Komponenty nie są zarządzane w puli
      • Zamiast puli, w celu zwiększenia wydajności,
        podlegają pasywacji

                          Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                                 www.devcastzone.com            18
Cykl życia komponentu




                      Tworzenie aplikacji z użyciem EJB 3
copyright BNS MEDIA
                             www.devcastzone.com            19
Tworzenie aplikacji z użyciem EJB 3 – program
pełnego szkolenia
      1. Wprowadzenie, kontener EJB
               o      Platforma Java Enterprise Edition
               o      Kontener EJB
               o      Nowości w EJB 3.0
               o      Konfiguracja środowiska
               o      Utworzenie przykładowej aplikacji
      2. Komponenty sesyjne
               o      Czym jest komponent EJB
               o      Komponenty bezstanowe
               o      Cykl życia komponentu
               o      Wykorzystanie komponentów
               o      Konwencje EJB
               o      JNDI
               o      Wstrzykiwanie zależności
               o      Konfiguracja EJB poprzez adnotacje
               o      Konfiguracja EJB poprzez XML (deskryptory wdrożenia)
               o      Komponenty stanowe


                                              Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                                             www.devcastzone.com                   20
Tworzenie aplikacji z użyciem EJB 3 – program
pełnego szkolenia
      3. Java Persistence API
               o      Podstawy JPA
               o      Czym jest i jak działa EntityManager
               o      Konfiguracja Hibernate’a
               o      Mapowanie obiektów na bazę danych
               o      Relacje
               o      JPQL
      4.     Interceptory
      5.     JMS
      6.     Transakcje
      7.     Bezpieczeostwo wywołania usług
      8.     Usługi wyzwalane czasem
      9.     Wdrożenie
                                         Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                                        www.devcastzone.com                   21
Tworzenie aplikacji z użyciem EJB 3
             http://www.devcastzone.com/course,tworzenie-aplikacji-z-
                                 uzyciem-ejb3
                                 Zapraszamy



                              Tworzenie aplikacji z użyciem biblioteki Hibernate
copyright BNS MEDIA
                                             www.devcastzone.com                   22

Weitere ähnliche Inhalte

Andere mochten auch (6)

Przetestuj swoje CV
Przetestuj swoje CVPrzetestuj swoje CV
Przetestuj swoje CV
 
Matryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability MatrixMatryca śledzenia - Traceability Matrix
Matryca śledzenia - Traceability Matrix
 
Grywalizacja (gamification) w testowaniu
Grywalizacja (gamification) w testowaniuGrywalizacja (gamification) w testowaniu
Grywalizacja (gamification) w testowaniu
 
Tester.pl - Numer 4
Tester.pl - Numer 4Tester.pl - Numer 4
Tester.pl - Numer 4
 
JavaStart - kurs Java Podstawy
JavaStart - kurs Java PodstawyJavaStart - kurs Java Podstawy
JavaStart - kurs Java Podstawy
 
ISTQB REX BLACK book
ISTQB REX BLACK bookISTQB REX BLACK book
ISTQB REX BLACK book
 

Tworzenie aplikacji z użyciem EJB3

  • 1. Tworzenie aplikacji z użyciem EJB 3 Materiały pochodzą ze strony: www.devcastzone.com copyright BNS MEDIA www.devcastzone.com
  • 2. Tworzenie aplikacji z użyciem EJB 3 Moduł 2 Komponenty sesyjne copyright BNS MEDIA www.devcastzone.com
  • 3. Treśd modułu 1. Czym jest komponent EJB 2. Komponenty bezstanowe 3. Cykl życia komponentu Źródło: sxc.hu/photo/204689 4. Wykorzystanie komponentów 5. Konwencje EJB 6. JNDI Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 3
  • 4. Treśd modułu 7. Wstrzykiwanie zależności 8. Konfiguracja EJB poprzez adnotacje Źródło: sxc.hu/photo/204689 9. Konfiguracja EJB poprzez XML (deskryptory wdrożenia) 10. Komponenty stanowe Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 4
  • 5. Komponent EJB Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 5
  • 6. Komponent bezstanowy • Nie posiada stanu wewnętrznego – nie przechowuje informacji pomiędzy wywołaniami • Służy do implementowania logiki działania aplikacji • Świadczy usługi dla innych komponentów wewnętrznych • Może byd fasadą dla klientów zewnętrznych (także usług webowych – web services) Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 6
  • 7. Cykl życia komponentu Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 7
  • 8. Wstrzykiwanie zależności • Wzorzec odwrócenia sterowania (Inversion of Control, IoC, Dependecy Injection) • Tworzenie luźnych powiązao pomiędzy obiektami • Przeniesienie odpowiedzialności za kontrolę zależności na zewnątrz obiektu Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 8
  • 9. Wstrzykiwanie zależności (2) • Zależności w ujęciu tradycyjnym Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 9
  • 10. Wstrzykiwanie zależności (3) • Zależności wstrzykiwane Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 10
  • 11. Wstrzykiwanie zależności (3) • Spotyka się także wstrzeliwanie zależności • Do zdefiniowania sesyjnego komponentu bezstanowego służy adnotacja @Stateless • Za pomocą adnotacji @EJB można bezpośrednio wstrzyknąd referencję do komponentu do pola • Adnotowad można pole (field injection) lub metodę (setter injection) Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 11
  • 12. Adnotacja @Stateless • name o Identyfikuje komponent w kontenerze; domyślnie jest to nazwa klasy implementującej komponent • mappedName o Może określad nazwę komponentu w globalnym rejestrze JNDI (ale nie musi – jest zależny od serwera) • description o Pełni funkcję dokumentacyjną Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 12
  • 13. Adnotacja @EJB – dla atrybuty, metody • beanName o nazwa istniejącego komponentu który ma zostad pobrany • mappedName o podobnie jak w przypadku @Stateless, interpretacja parametru zależna jest od dostawcy serwera Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 13
  • 14. Adnotacja @EJB – dla atrybutu, metody @Stateless public class HelloWorldService implements HelloWorld { @EJB(name = "specificBeanName") SecondServiceLocal secondService; //.. } Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 14
  • 15. Adnotacja @EJB – dla klasy • name o nazwa, pod którą zostanie umieszczona referencja pobieranego komponentu w kontekście JNDI • beanInterface o interfejs (zdalny bądź lokalny) który zostanie wykorzystany jako referencja Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 15
  • 16. Adnotacja @EJB – dla klasy package pl.bnsit.ejb3; import javax.ejb.EJB; import javax.ejb.Stateless; import javax.naming.InitialContext; @Stateless @EJB(name = "someStrangeName", beanInterface = SecondService.class) public class HelloWorldService implements HelloWorld { public String helloWorld() throws Exception { InitialContext ctx = new InitialContext(); SecondService secondService = (SecondService) ctx.lookup("java:comp/env/someStrangeName"); return secondService.returnValue(); } } Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 16
  • 17. Adnotacja @Resource • Analogiczna zasada działania jak przy adnotacji @EJB • Dodatkowe atrybuty o type • obiekt Class reprezentujący typ zasobu, np. DataSource o authenticationType • definiuje, czy za uwierzytelnianie podczas dostępu do zasobu odpowiedzialny jest kontener, czy komponent o shareable • wskazuje, czy dany zasób może byd współdzielony przez więcej komponentów Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 17
  • 18. Komponent stanowy • Przywiązywany jest do konkretnego klienta • Utworzona instancja powiązana jest z klientem przez cały cykl życia • Komponenty utrzymują stan – przechowują dane pomiędzy kolejnymi wywołaniami • Komponenty nie są zarządzane w puli • Zamiast puli, w celu zwiększenia wydajności, podlegają pasywacji Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 18
  • 19. Cykl życia komponentu Tworzenie aplikacji z użyciem EJB 3 copyright BNS MEDIA www.devcastzone.com 19
  • 20. Tworzenie aplikacji z użyciem EJB 3 – program pełnego szkolenia 1. Wprowadzenie, kontener EJB o Platforma Java Enterprise Edition o Kontener EJB o Nowości w EJB 3.0 o Konfiguracja środowiska o Utworzenie przykładowej aplikacji 2. Komponenty sesyjne o Czym jest komponent EJB o Komponenty bezstanowe o Cykl życia komponentu o Wykorzystanie komponentów o Konwencje EJB o JNDI o Wstrzykiwanie zależności o Konfiguracja EJB poprzez adnotacje o Konfiguracja EJB poprzez XML (deskryptory wdrożenia) o Komponenty stanowe Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 20
  • 21. Tworzenie aplikacji z użyciem EJB 3 – program pełnego szkolenia 3. Java Persistence API o Podstawy JPA o Czym jest i jak działa EntityManager o Konfiguracja Hibernate’a o Mapowanie obiektów na bazę danych o Relacje o JPQL 4. Interceptory 5. JMS 6. Transakcje 7. Bezpieczeostwo wywołania usług 8. Usługi wyzwalane czasem 9. Wdrożenie Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 21
  • 22. Tworzenie aplikacji z użyciem EJB 3 http://www.devcastzone.com/course,tworzenie-aplikacji-z- uzyciem-ejb3 Zapraszamy Tworzenie aplikacji z użyciem biblioteki Hibernate copyright BNS MEDIA www.devcastzone.com 22