Enterprise Java Beans

advertisement
Enterprise Java Beans
Część J2EE (Java 2 Enterprise Edition)
Składowa wzorca projektowego Model View Controller
Dostęp do danych w modelu klient-serwer
Ułatwienie dostępu do bazy danych – mapowanie bazy
relacyjnej na obiekty języka Java
Skalowalność – tworzenie rozproszonych systemów
Zapewnienie transakcyjności
Rozwiązanie dla systemów biznesowych
Możliwość pracy z systemami webowymi oraz
aplikacjami okienkowymi
EJB 3.0 - wymagania
Serwer aplikacji
– WebLogic
– JBoss
– … i wiele innych
Baza danych
– Dowolna, obsługująca interfejs JDBC
Maszyna Wirtualna Javy (dla EJB 3.0 – Java 5.0)
Instalacja serwera aplikacji JBoss
Darmowy serwer aplikacji J2EE
Należy go tylko rozpakować w /tmp
Uruchomienie serwera:
– bin/run.sh
Serwer podczas pracy sprawdza, czy pojawiły się nowe aplikacje (w katalogu
server/default/deploy) i jeśli tak, instaluje je i uruchamia
Uruchomienie przykładu
Przykład – aplikacja przechowująca dane osób – obecnie tylko imię
Przykład do pobrania z adresu:
–
–
–
–
http://artemis.wszib.edu.pl/~kbalos/ejb3/jboss-4.0.2.zip
http://artemis.wszib.edu.pl/~kbalos/ejb3/ejb3lab_src.tgz
http://artemis.wszib.edu.pl/~kbalos/ejb3/apache-ant-1.6.5-bin.tar.bz2
http://artemis.wszib.edu.pl/~kbalos/ejb3/jdk-1_5_0_06-linux-i586.bin
Kompilacja przy użyciu programu Ant
– ant ejb3 - stworzenie aplikacji EJB
– ant webwar - stworzenie aplikacji www z dostępem do aplikacji EJB
Skopiowanie pliku dist/human.ejb3 do katalogu server/default/deploy JBossa
Skopiowanie pliku dist/human.war do katalogu server/default/deploy JBossa
(Jboss zawiera wbudowany serwer Tomcat)
Uruchomienie klienta z linii poleceń
./client.sh "Jan Kowalski"
– Dodanie osoby do bazy danych i wypisanie listy
osób
– Kod klienta w pliku jsrc/client/Client.java
Uruchomienie podglądu WWW
Aplikacja human.war – dostęp do aplikacji EJB z wykorzystaniem
JFaces oraz Oracle ADF
Strona: http://localhost:8080/human/faces/humans.jsp
Przykład Human – składowe
jsrc/entity/Human.java - Entity Bean – bean służący do
przechowywania danych w bazie danych. Składa się z
opisu pól, nazwy tabeli w której jest przechowywany w
bazie. Pola są opisane za pomocą operacji setXXX() i
getXXX() (jak w JavaBeans).
jsrc/session/HumanSessionBean.java – Session Bean,
odpowiadający za komunikację między klientem a
serwerem – pobiera dane z bazy i umieszcza je w niej
jsrc/interfaces/HumanSession.java – interfejs do
session beana – wykorzystywany przez klienta
Zalety korzystania z EJB
Warstwowy model aplikacji
Niezależny development warstwy persystencji,
logiki biznesowej, dostępu do danych i
prezentacji
Klient uzyskuje dostęp do danych wyłącznie
poprzez interfejs – implementacja SessionBeana
może się zmieniać (poprawione błędy, etc.)
Zadanie
Session Bean HumanSession zawiera kilka
metod do obsługi osoby – należy wykorzystać je
w kliencie (Client.java)
Modyfikacja/dodanie pól (nazwisko, wiek) do
Entity Beana (Human.java) i wykorzystanie ich w
kliencie (klient z linii poleceń lub www)
Download