Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Enteprise Java Beans Emil Wcisło
2
Czym jest Enteprise Java Beans Architektura J2EE - EJB Dlaczego EJB?
Plan prezentacji Czym jest Enteprise Java Beans Architektura J2EE - EJB Dlaczego EJB? Rodzaje komponentów EJB Architektura kontenera EJB Java Naming and Directory Service Wywołania zdalne – RMI-IIOP Zarządzanie transakcjami w EJB
3
Czym jest EJB Wchodzi w skład specyfikacji J2EE Definiuje standard – nie jest to konkretny produkt Architektura komponentów po stronie serwera Warstwa biznesowa aplikacji Działanie w środowisku kontenera EJB
4
Architektura J2EE - EJB
5
Dlaczego EJB Złożona aplikacja biznesowa zawiera: Logikę biznesową
Infrastrukturę systemową: Bezpieczństwo Zdalne wywołania Zarządzanie transakcjami Zarządzanie zasobami Obsługa wielu klientów jednocześnie – skalowalność Integracja w środowisku heterogenicznym
6
Dlaczego EJB cd. Enteprise Java Beans dostarczają infrastrukurę dla wymagań niefunkcjonalnych aplikacji Pozwalają skupić uwagę na tworzeniu logiki biznesowej
7
Rodzaje komponentów EJB
Session Bean Stateless Statefull Entity Bean Message – Driven Bean
8
Rodzaje EJB – Session Stateless
Zawiera logikę biznesową Bezstanowy – nie przypisany do klienta Może być widziany jako: obiekt zdalny obiekt lokalny (dla innych beanów) Web-service Najczęściej wykorzystywany rodzaj EJB
9
Cykl życia EJB Session Stateless
10
Rodzaje EJB – Session Statefull
Zawiera logikę biznesową Stanowy – jest przypisany do konkretnego klienta Może zapamiętać stan konwersacji z klientem W razie potrzeby może zostać pasywowany Może być widziany jako: obiekt zdalny
11
Cykl życia EJB Session Statefull
12
Rodzaje EJB – Entity Bean
Reprezentuje trwałe dane Dostarcza metody do manipulowania danymi Typy Entity Beanów: Bean Managed Persistance (BMP) Container Managed Persistance (CMP) Jest nieudaną próbą stworzenia standardu obiektowo – relacyjnego
13
Cykl życia EJB Entity
14
Dlaczego NIE należy używać Entity Beanów
Ograniczone możliwości definiowania złożonych obiektów Duży narzut wydajnościowy Małe możliwości optymalizacji Dodatkowa warstwa blokowania się zasobów Ograniczony dostęp bezpośredni z zewnatrz kontenera
15
Message – Driven Bean Służy do odbierania asynchronicznych komunikatów (JMS) Nie jest widoczny dla klienta i innych komponentów Jest bezstanowy
16
Cykl życia Message – Driven Bean
17
Wymagane elementy aplikacji EJB
Klasa komponentu Interfejsy komponentu Interfejs zdalny / lokalny Interfejs domowy Standardowy deskryptor wdrożenia – ejb-jar.xml Deskryptory specyficzne dla danego serwera aplikacji
18
Architektura kontenera EJB
19
Java Naming and Directory Interface
Usługa nazw i katalogu API klienta i Service Provider Interface
20
Zastosowania JNDI w EJB
Wyszukiwanie komponentów przez klientów zdalnych Dostarczenie zasobów do komponentów Łączenie komponentów Dostarczenie referencji do interfejsu UserTransaction (Java Transaction API)
21
Wywołania zdalne – RMI-IIOP
IIOP – protokół zdalnych wywołań CORBA IDL – język opisowy interfejsów CORBA Podobieństwa CORBA i RMI Ukrycie komunikacji przed klientem – wsparcie dla clusteringu Pieńki i szkielety Standard a nie konkretny produkt
22
Wywołania zdalne – RMI-IIOP cd.
23
Zarządzanie transakcjami w EJB
Środowisko: Wiele rozproszonych, transakcyjnych zasobów Cel: Realizacja transakcyjności na rozproszonych zasobach Elastyczne określenie granic transakcji Środki: Implementacja OMG Object Transaction Service Java Transaction Service (JTS) Java Transaction API (JTA)
24
Sposoby ograniczenia transakcji
Transakcje programowalne Interfejs javax.transaction.UserTransaction Ziarnistość na poziomie kodu Transakcje deklaratywne Określenie atrybutów transakcji w deskryptorze wdrożenia Ziarnistość na poziomie metody biznesowej Transakcje inicjowane przez klienta Niska wydajność Ziarnistość na poziomie wywołanie metody zdalnej
25
Atrybuty transakcji deklaratywnych
Required RequiresNew Supports Mandatory NotSupported Never
26
DZIĘKUJĘ ZA UWAGĘ
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.