Zastosowanie komponentów EJB typu Session

Podobne dokumenty
Programowanie komponentowe 5

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List.

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

Aplikacje RMI Lab4

Aplikacje internetowe i rozproszone - laboratorium

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Języki i metody programowania Java Lab2 podejście obiektowe

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Zastosowanie słuchaczy zdarzeń wg

Zaawansowane aplikacje internetowe

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Podstawowe informacje o technologii Java Persistence API - przykład

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Budowa prostej aplikacji wielowarstwowej

Enterprise JavaBeans (EJB)

Podstawowe informacje o technologii Java Persistence API - przykład

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Budowa aplikacji wielowarstwowych. Zastosowanie konwerterów oraz plików typu properties.

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Java EE: JSF + EJB + JPA

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Enterprise JavaBeans

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Kontynuacja programu z lab3 zaawansowane renderowanie formularzy JSF

Budowa aplikacji wielowarstwowych. zastosowanie walidatorów.

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Projektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu:

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Podstawowe informacje o technologii Java EE 7

Programowanie obiektowe zastosowanie języka Java SE

Projekt INP Instrukcja 2. Autor Dr inż. Zofia Kruczkiewicz

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Web Services (SOAP) Ćwiczenie 1

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.


Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

1. Zakładanie projektu Katalog typu Java Class Library do przechowywania obiektowego modelu danych projekt należy do warstwy biznesowej

Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing

Budowa aplikacji wielowarstwowych, zastosowanie obiektów transferowych, konwerterów i walidatorów

Projektowanie aplikacji internetowych laboratorium

Zaawansowane aplikacje internetowe - laboratorium

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

Kontynuacja programu z lab2 refaktoryzacja kodu oparta na dodaniu obiektu transferowego oraz stronicowania tabeli w formularzu JSF

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Programowanie wielowarstwowe i komponentowe

Programowanie w Javie

Aplikacje RMI

Instalacja NOD32 Remote Administrator

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Języki i metody programowania Java. Wykład 2 (część 2)

Aplikacje WWW - laboratorium

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Programowanie Obiektowe GUI

Java EE: JSF + EJB + JPA + CDI + BV

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

Instrukcja konfiguracji Comarch ERP Altum z komponentem Crystal Reports w wersji

Programowanie Komponentowe WebAPI

Stanowe komponenty sesyjne

Wywoływanie metod zdalnych

Serwery Statefull i Stateless

Wprowadzenie do projektu QualitySpy

Instalacja i opis podstawowych funkcji programu Dev-C++

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z

Wywoływanie metod zdalnych

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

Java Server Faces narzędzie do implementacji w wy prezentacji

Transkrypt:

Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1

1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać kopię projektu Sklep_6 o nazwie Sklep_6_1. Plik do pobrania, jeśli brakuje pogramu wykonanego podczas lab4, TINT: http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/javapk/sklep_6.rar 2

1.2. Wykonanie projektu Java SE typu Java Class Library: File/New Project/ 3

1.3. Wybór pozycji: Java/Java ClassLibrary. Nadanie nazwy programowi np Sklep_6SE (Project Name) w wybranym katalogu (Project Location) 4

1.4. Wykonanie kopii dwóch pakietów: warstwa_biznesowa i warstwa_bieznesowa.entity w projekcie Sklep_6_1 i wklejenie ich do nowego projektu z p.1.3. 5

1.5. W wyniku wklejenia dwóch pakietów pojawią się błędy składni. W kolejnych krokach błędy zostaną usunięte. 6

1.6. Należy usunąć adnotację @Stateless i niepotrzebny import javax.ejb.stateless. 7

1.7. Należy uzupełnić biblioteki projektu: w zakładce Projects po kliknięciu prawym klawiszem na katalog Libraries, należy wybrać pozycję Add Library... i wybrać biblioteikę EclipseLink from GlassFish w celu pobrania elementów definiujących klasę Produkt1 typu Entity 8

1.8. Pobrane biblioteki 9

1.9. Połączenie wykonanego projektu Java SE z projektem Java Web: po wyborze Libraries/Add Project... w projekcie Java Web należy wybrać z listy projekt Java SE i kliknąć na klawisz Add Project JAR Files 10

1.10. Wynik 11

1.11. Zmiana nazwy dotychczasowego komponentu EJB typu Fasada_warstwy_biznesowej np.na Fasada_warstwy_biznesowej_ejb (prawym klawiszem wybrać ten komponent, i z listy wybrać kolejno Refactor/Rename i podać nową nazwę ) 12

1.12. W wyniku refaktoryzacji z p. 1.11 uległa modyfikacji nazwa typu komponentu EJB fasada w klasie Managed_produkt. Należy usunąć pakiet warstwa_biznesowa.entity z projektu Java Web: Sklep_6_1. 13

1.13. Należy zmodyfikować kod metod komponentu EJB, który teraz może być zdefiniowany za pomocą metod klasy Fasada_warstwy_biznesowej package warstwa_biznesowa; import java.util.arraylist; import java.util.date; import javax.ejb.stateless; @Stateless public class Fasada_warstwy_biznesowej_ejb { Fasada_warstwy_biznesowej fasada=new Fasada_warstwy_biznesowej(); } public void utworz_produkt(string dane[], Date data) { } } fasada.utworz_produkt(dane, data); public String[] dane_produktu() { return fasada.dane_produktu(); public ArrayList<ArrayList<String>> items() { return fasada.items(); } 14

1.14. Wynik po zakończeniu refaktoryzacji kodu wykonana aplikacja używa komponentu EJB typu Session- rodzajstateless 15

1.15. Uruchomienie aplikacji opartej na komponencie EJB typu Session, rodzaj Stateless - Clean and Build/Deploy/Run Uruchomienie 1-ej instancji warstwy klienta aplikacji i wprowadzenie danych produktu może być uruchomiona automatycznie w przeglądarce domyślnej. 16

1.16. Uruchomienie 2-ej instancji warstwy klienta aplikacji aplikacji i wprowadzenie danych kolejnego produktu (prze wprowdzenie adresu: http://localhost:8080/sklep_6_1) 17

1.17. Po uruchomieniu formularza Lista produktow w obu instancjach klientów aplikacji widać, że korzystają z tej samej instancji komponentu typu Fasada_warstwy_biznesowej_ejb, czyli tej samej instancji obiektu Fasada_warstwy_biznesowej. 18

2. Przygotowanie środowiska platformy Java EE do uruchomienia kolejnej aplikacji opartej na komponencie EJB typu Session rodzaj Stateful 2.1. Przygotowanie środowiska platformy Java EE do uruchomienia kolejnej aplikacji zamknięcie aplikacji Sklep_6_1: w oknie zakładki Services należy otworzyć pozycję Servers/GlassFish Server 4.1.1/Applications i prawym klawiszem wybrać pozycję Sklep_6_1. Z listy wybrać pozycję Undeploy. 19

2.2.Wykonanie kopii programu Sklep_6_1 jako programu Sklep_6_2. 20

2.3. Wynik kopiowania. Po wykonaniu kopiowania należy zamknąć projekt Sklep_6_1. Następnie, należy zmodyfikować adnotację @Stateless na adnotację @Stateful aby usunąć błędy należy kliknąć prawym klawiszem na powierzchnię edytora i z listy wybrać pozycję Fix Imports 21

2.4. Należy zmodyfikować adnotację @RequestScoped na @SessionScope i dodać implementację interfejsu Serializable w klasie Managed_produkt. W celu usunięcia błędów składni należy wybrać pozycję Fix Imports.

2.5. Należy ustawić czas sesji 2 min w pliku web.xml 23

2.6. Uruchomienie aplikacji opartej na komponencie EJB typu Session, rodzaj Stateful - Clean and Build/Deploy/Run Uruchomienie 1-ej instancji warstwy klienta aplikacji i wprowadzenie danych produktu 24

2.7. Uruchomienie 2-ej instancji warstwy klienta aplikacji i wprowadzenie danych produktu (podobnie jak w p.1.16: http://localhost:8080/sklep_6_2) 25

2.8. Po uruchomieniu formularza Lista produktow w obu instancjach klientów aplikacji widać, że korzystają z różnych instancji komponentu typu Fasada_warstwy_biznesowej_ejb, czyli różnych instancji obiektu Fasada_warstwy_biznesowej. 26

2.9. Po upływie 2 min próba wywołania strony Lista produktów za pomocą linku Lista produktów daje rezulat Brak danych, ponieważ każdy z komponentów typu Stateful przeszedł w stan nieaktywny po upływie 2 min i nastąpiła utrata danych. 27

3. Przygotowanie środowiska platformy Java EE do uruchomienia kolejnej aplikacji opartej na komponencie EJB typu Session rodzaj Singleton 3.1. Przygotowanie środowiska platformy Java EE do uruchomienia kolejnej aplikacji zamknięcie aplikacji Sklep_6_2: w oknie zakładki Services należy otworzyć pozycję Servers/GlassFish Server 4.1.1/Applications i prawym klawiszem wybrać pozycję Sklep_6_1. Z listy wybrać pozycję Undeploy. 3.2. Wykonanie kopii Sklep_6_2 jako programu Sklep_6_3. Po wykonaniu kopiowania należy zamknąć projekt Sklep_6_1. Następnie, należy zmodyfikować adnotację @Stateful na adnotację @Singleton aby usunąć błędy, należy kliknąć prawym klawiszem na powierzchnię edytora i z listy wybrać pozycję Fix Imports 3.3. W pliku Managed_produkt należy zmienić adnotację @SessionScoped na adnotację @RequestScoped aby usunąć błędy, należy kliknąć prawym klawiszem na powierzchnię edytora i z listy wybrać pozycję Fix Imports. 28

3.3. Przygotowanie środowiska platformy Java EE do uruchomienia kolejnej aplikacji opartej na komponencie EJB typu Session rodzaj Singleton 29

3.4. Uruchomienie aplikacji opartej na komponencie EJB typu Session, rodzaj Singleton - Clean and Build/Deploy/Run Uruchomienie 1-ej instancji warstwy klienta aplikacji i wprowadzenie danych produktu 30

3.5. Uruchomienie 2-ej instancji warstwy klienta aplikacji i wprowadzenie danych produktu produktu (podobnie jak w p.1.16: http://localhost:8080/sklep_6_3) 31

3.6. Po uruchomieniu formularza Lista produktow w obu instancjach klientów aplikacji widać, że korzystają z tej samej instancji komponentu typu Fasada_warstwy_biznesowej_ejb, czyli tej samej instancji obiektu Fasada_warstwy_biznesowej. 32

4. Należy wykonać eksperymenty dotyczące zmiany czasu sesji z domyślnych 30 min na 2 min w pliku web.xml, w projektach Sklep_6_1 i Sklep_6_3 4.1. Wprowadzić dane produktu. Po upływie ponad 2 min wywołać stronę Lista produktow za pomocą linku z lewej strony formularza 4.2. opisać skutki eksperymentów. 33