Java Server Faces (JSF)

Slides:



Advertisements
Podobne prezentacje
Wzorce projektowe w J2EE
Advertisements

Serwery aplikacji Zope Tomcat. Składniki Zopea: Serwer Management interface Databases.
Modele biznesowe. Podręcznik Model biznesowy to w pewnym sensie szkic strategii, która ma zostać wdrożona w ramach struktur, procesów i systemów organizacji.
NIE TAKI KOMPUTER STRASZNY JAK GO MALUJĄ PODSTAWY OBSŁUGI KOMPUTERA.
Nauczanie na odległość Dr inż. Marlena Plebańska.
Android WYKŁAD 3. Agenda Odtwarzanie stanu Activity Walidacja danych z widoków Przycisk "wstecz" Material Design Fragmenty Implementacja GUI opartego.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
Portale społecznościowe. Serwis społecznościowy  to serwis internetowy, który istnieje w oparciu o zgromadzoną wokół niego społeczność. Tworzy tak zwane.
Grupa: urzędnicy JST (operatorzy przyjmujący wnioski w urzędach)
 Czyli jak stworzyć czat między serwerami Autor: Michał Krzempek.
Warstwa biznesowaWarstwa techniczna ??? To przejście jest połączone z innym procesem To przejście wywołuje samowyzwalacz To przejście jest warunkowe.
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
EWALUACJA PROJEKTU WSPÓŁFINANSOWANEGO ZE ŚRODKÓW UNII EUROPEJSKIE J „Wyrównywanie dysproporcji w dostępie do przedszkoli dzieci z terenów wiejskich, w.
CIMCO Edit z dodatkiem CNC-Calc koszty i korzyści Wdrożenie środowiska do tworzenia, edycji i symulacji programów NC Korzyści: -Tworzenie ścieżki narzędzia.
Przeglądarki internetowe. Funkcje i możliwości przeglądarek.
20/09/ Model warstwowy OSI. Model warstwowy OSI (Open Systems Interconnection ) – standard wprowadzony przez organizację ISO (International Organization.
EWALUACJA JAKO ISTOTNY ELEMENT PROJEKTÓW SYSTEMOWYCH Sonia Rzeczkowska.
Solphy GlassNexus System Elektronicznej Wymiany Danych Dla Producentów Szyb Zespolonych.
IEN 2010 © wszelkie prawa zastrzeżone SEMINARIUM Pakiet MATLAB w Zakładzie OGM Możliwości posiadanych produktów.
1 „Praktyczne narzędzia ICT w realizacji edukacyjnych projektów”
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
 Moduł walidacji płatności z systemem e-CARD  Moduł aktualizacji listy komorników sądowych EPU-EEKS  Automatyczne przesyłanie wniosków o weryfikację.
Model warstwowy OSI Model OSI (Open Systems Interconnection) opisuje sposób przepływu informacji między aplikacjami programowymi w jednej stacji sieciowej.
Praca dyplomowa inżynierska Temat: Informatyczny system edukacyjny do przedmiotu „Podstawy Kryptologii” Dyplomant: Ewelina Bogusz Promotor: prof. zw.,
Sieci komputerowe. Podział sieci. Podstawowe pojęcia związane z sieciami. Internet - określenia podstawowych terminów. Komunikacja w sieci.
Microsoft PowerPoint. Metodyka „dobrej” prezentacji.
Instalacja nienadzorowana windows xp Jakub klafta.
Wieloaspektowa analiza czasowo- kosztowa projektów ze szczególnym uwzględnieniem kryterium jakości rozwiązań projektowych AUTOR: ANNA MARCINKOWSKA PROMOTOR:
Analiza, projekt i implementacja zintegrowanego systemu zarządzania i promocji dla branży gastronomicznej Krzysztof Grabalski 5921.
Informacja na temat projektu informatycznego „Centralizacja przetwarzania danych” V Krajowa Konferencja System Informacji Przestrzennej w Lasach Państwowych.
Magdalena Garlińska Generator wniosków o dofinansowanie Program INNOCHEM.
Cykl życia systemu bazy danych. Cyklem życia systemu bazy danych nazywamy zbiór kroków niezbędnych do zaprojektowania globalnego schematu logicznego bazy.
Urządzenia i technologie mobilne. Tablet Mobilny komputer większy niż telefon komórkowy, którego główną właściwością jest posiadanie dużego ekranu z zastosowaną.
Moduł SDI – zasilanie węzłów IIP oraz wykorzystanie danych. Wprowadzenie. Szkolenie przeprowadzone w ramach projektu „TERYT 3 – Rozbudowa systemów do prowadzenia.
Projektowanie prezentacji multimedialnych Piotr Rakowski Gliwice 2006.
System operacyjny Renata P. System operacyjny - jest to zbiór nadrzędnych i niezbędnych programów umożliwiających pracę na komputerze. Jest on pośrednikiem.
Dziedziczenie, polimorfizm, Interfejsy
P-CART.
i otwarta platforma IT Uniwersytet Warszawski (Centrum Deliberacji IS)
Przeglądarka stron WWW
Symulacja procesu BPMN
Model ISO/OSI Wykład 4.
Akademia C# lab. 9 Zdarzenia i delegaty.
Który system wybrać?.
Wstęp do Informatyki - Wykład 8
Internetowy Katalog Książek
Inżynieria Oprogramowania Laboratorium
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Git - system kontroli wersji
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Dynamics 365 CE i język TypeScript
SMB – Pierwszy projekt Michail Mokkas.
Multicast Visualization Tool
The Game Engine For Mobile
Sun Java Application Server
Zapraszamy do nowego programu PowerPoint
SYSTEM KONTROLI FREKWENCJI
Podstawy informatyki Zygfryd Głowacz.
Zapraszamy do nowego programu PowerPoint
Zapraszamy do nowego programu PowerPoint
Strukturalne wzorce projektowe
SKJ Serwer WWW Michail Mokkas.
Damian Urbańczyk Edytory WYSIWYG.
Zdarzenia (eventy) Zdarzenia służą do powiadomienia użytkownika, gdy w używanej klasie dojdzie do pewnych wydarzeń zdefiniowanych przez twórcę klasy.
Implementacja rekurencji w języku Haskell
PGO GUI - Swing Michail Mokkas.
Nasza działalność KLAVO to firma zajmująca się dostarczaniem usług dla instytucji kultury. Chcemy, aby zwiększały one jakość obsługi zwiedzających. Celem.
dr Danuta Kajrunajtys BUSINESS PROCESS MANAGEMENT ROBOTIC PROCESS
Autor: Magdalena Linowiecka
Zapis prezentacji:

Java Server Faces (JSF) przygotował Michał Słapa

Plan prezentacji Historia i konkurencje Czym jest JSF JSF- Idea i architektura Budowanie aplikacji JSF Podsumowanie 30 listopada 2018 Java Server Faces

Kontekst JSP- JSF korzysta z JSP i jest jej rozwinięciem. JSTL- Na stronach JSF możemy korzystać z komponentów JavaServer Pages Standard Tag Library. Struts- JSF jest w stanie zastąpić Struts, może być stosowany w połączeniu z nim, wykorzystując go jako warstwę kontrolera. Swing- JSF ma być odpowiednikiem Swing, dla sieciowego GUI HTML Microsoft .Net i WebForms- konkurencja. 30 listopada 2018 Java Server Faces

Od Servletu do JSF Servlety- kod HTML w klasach Javy. Początki JSP- kod Java w stronie HTML. Nie ma podziału na logikę biznesową i warstwę prezentacji. Mało czytelny kod. Struts Wprowadzenie modelu MVC Biblioteki znaczników, poprawiające czytelność i modularność kodu JSP. JSTL, JSP 2.0 Wprowadzenie kompletnego, mocniejszego zbioru znaczników Wprowadzenie Expression Language Możliwość łatwiejszego definiowania własnych znaczników 30 listopada 2018 Java Server Faces

Kalendarium JSF Wrzesień 2002- wydanie wczesnej specyfikacji JSF Grudzień 2003- propozycja ostatecznej wersji specyfikacji JSF Marzec 2004- ostateczna wersja 1.0 specyfikacji JSF Marzec 2004- J2EE 1.4 SDK wspiera JSF Maj 2004- JSF 1.1 Grudzień 2004- JSF 1.2 Marzec 2005- MyFaces- pierwsza Open Source implementacja JSF 30 listopada 2018 Java Server Faces

JSF- Co to jest? Zrąb aplikacji Java do tworzenia interface’u użytkownika dla aplikacji sieciowych. Obsługuje cykl życia aplikacji internetowej za pośrednictwem servletu kontrolera. Udostępnia zbiór komponentów do budowy warstwy widoku aplikacji, umożliwia obsługę zdarzeń użytkownika. 30 listopada 2018 Java Server Faces

Specyfikacja JSF wymagania Stworzenie zrębu dla standardowych elementów GUI które mogą być edytowane przez zewnętrzne aplikacje. Stworzyć zbiór prostych, bazowych klas Java dla obiektów GUI, ich stanów oraz zdarzeń użytkownika. Klasy te mają być odpowiedzialne za cykl życia obiektów GUI, w szczególności ich stały stan w całym życiu strony. Podanie zbioru typowych elementów GUI, zawierającego również standardowe obiekty formularzy HTML. Stworzenie modelu JavaBeans do przesyłania zdarzeń pomiędzy kontrolą GUI po stronie klienta, a zachowaniem aplikacji po stronie serwera. Stworzenie API do walidacji, również wspomaganie dla walidacji po stronie klienta. Specyfikacja modelu dla internacjonalizacji GUI. Automatyczna generacja odpowiedzi dla docelowego klienta, biorąca pod uwagę wszystkie możliwe dane konfiguracyjne (wersja przeglądarki klienta). Automatyczna generacja strony zawierająca wymagane zaczepy dla obsługiwanych dostępności, tak jak zostało to zdefiniowane w WAI (Web Accessibility Initiative). 30 listopada 2018 Java Server Faces

Głównymi składnikami JSF są Architektura JSF Głównymi składnikami JSF są API służące do: Reprezentacja komponentów UI i obsługa ich stanów Obsługa zdarzeń Walidacja po stronie serwera Konwersja danych HTML->Java Definiowanie nawigacji strony Obsługa wielojęzyczności aplikacji i dostępności Rozszerzenie podstawowych funkcjonalności JSF (nowe komponenty, walidatory) 30 listopada 2018 Java Server Faces

Głównymi składnikami JSF są Architektura JSF Głównymi składnikami JSF są Dwie biblioteki tag’ów JSP Tworzenie komponentów UI na stronach JSP. Dowiązywanie komponentów do obiektów Java po stronie serwera. 30 listopada 2018 Java Server Faces

Architektura JSF Obsługa żądania HTTP 30 listopada 2018 Java Server Faces Źródło: http://java.sun.com/j2ee/1.4/docs/tutorial/doc

Czemu JSF? Prostota wytwarzania aplikacji. Możliwość zastosowania zewnętrznych edytorów GUI. Wyraźne oddzielenie warstwy zachowania i prezentacji. Sprzyja to także podziałowi zespołu ją tworzącego Uniwersalność... Możliwość tworzenia wyniku w różnych językach znakowania tekstu. 30 listopada 2018 Java Server Faces

Czemu JSF? 30 listopada 2018 Java Server Faces Źródło: Prezentacja Poznań Java User Group na temat JSF. Michał Małecki. Dalsze pochodzenie nieznane.

Składniki aplikacji JSF Typowe dla aplikacji sieciowej java: Komponenty JavaBeans zawierające funkcjonalności i dane aplikacji Obiekty Event listeners Strony, także strony JSP Klasy pomocnicze Elementy charakterystyczne dla aplikacji JSF Biblioteka znaczników dla komponentów użytkownika Biblioteka znaczników dla Event handlers, walidatorów i innych akcji Backing Beans czyli definicje powiązań obiektów aplikacji i komponentów Komponenty UI będące posiadającymi „stany” obiektami po stronie serwera Walidatory, konwertery, event listeners, event handlers Obiekt konfiguracji aplikacji 30 listopada 2018 Java Server Faces

Etapy przetwarzania żądań Aplikacja JSF Etapy przetwarzania żądań 30 listopada 2018 Java Server Faces Źródło: http://java.sun.com/j2ee/1.4/docs/tutorial/doc

Warstwa Widoku Oparta na JSP. Do wyświetlania potrzebna jest implementacja JSF (View Handler). Aktualnie istnieje kilka komercyjnych implementacji (Oracle), oraz jedna, bardzo młoda i podobno niedojrzała implementacja Open Source (Apache MyFaces). Dzięki korzystaniu z różnych implementacji JSF można generować wynik w różnych językach. 30 listopada 2018 Java Server Faces

Warstwa Widoku Istnieją dwie podstawowe biblioteki znaczników JSP. Core(f) i Html(h). 30 listopada 2018 Java Server Faces

Komponenty Zadania komponentów Wyświetlanie: Przez sam komponent(renderesSelf()) Poprzez wydelegowanie renderera(getRendererType()) Obsługa zdarzeń Bezpośrednio przez komponent Poprzez event handler Walidacja danych Za pośrednictwem zbioru walidatorów związanych z komponentem 30 listopada 2018 Java Server Faces

Komponenty 30 listopada 2018 Java Server Faces Źródło: http://www.javaworld.com/javaworld/jw-12-2002/jw-1227-jsf2.html

Wiązanie obiektów z widokiem IoC- Tworzenie ziarenek <managed-bean> <managed-bean-name>mynumber</managed-bean-name> <managed-bean-class> mylib.net.MyNumber </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>minimum</property-name> <property-class>long</property-class> <value>0</value> </managed-property> </managed-bean> 30 listopada 2018 Java Server Faces

Wiązanie obiektów z widokiem Expression Language(EL) Jego zadaniem jest łączenie obiektów Java Beans z kodem JSP. Wiązanie z polem obiektu <h:inputText value="#{myNumber.divisor}" /> Wiązanie z metodą (dla atrybutów action, actionListener, validator, valueChangeListener) <h:inputText id="userNo"   value="#{UserNumberBean.userNumber}"   validator="#{UserNumberBean.validate}" /> Obsługa nawigacji i zdarzeń poprzez wiązanie z metodami: <h:commandLink actionListener="#{myNumber.changed}"> <h:commandLink action="#{myNavigator.nextSite}"> 30 listopada 2018 Java Server Faces

Definiowanie Nawigacji W pliku konfiguracji <navigation-rule>   <from-view-id>/greeting.jsp</from-view-id>   <navigation-case>     <from-outcome>success</from-outcome>     <to-view-id>/response.jsp</to-view-id>   </navigation-case> </navigation-rule> W kodzie JSP dokonujemy nawigacji przez action=”success” Opcjonalnie za pomocą dowiązanych metod (action=”#{foo.method}”). Fasolka foo ma w przykładzie metodę method o interface public String method(); 30 listopada 2018 Java Server Faces

Obsługa zdarzeń Dwa podstawowe sposoby: Implementacja interface Listener i użycie znacznika f:valueChangeListner, lub f:actionListner Implementacja metody w ziarenku Java. Odwołanie do niej przez atrybut komponentu. Zdarzenia: Action- nawigacja. (przyciski i hiperłącza) Value-change- zmiana wartości pola. Data-model- i inne... Phase- wywoływane w odpowiedniej fazie przetwarzania (nie czytałem obszerniejszej dokumentacji). 30 listopada 2018 Java Server Faces

Walidacja Jedynie po stronie serwera. Przy użyciu standardowych walidatorów W kodzie JSP Przy użyciu walidatorów użytkownika (implementujących interface validator) Poprzez wskazanie klasy w znaczniku facesValidator Poprzez deklarację własnego znacznika w konfiguracji 30 listopada 2018 Java Server Faces

Deklaracja własnego walidatora Walidacja Deklaracja własnego walidatora <validator>   ...   <validator-id>FormatValidator</validator-id>   <validator-class>validators.FormatValidator</validator-class>   <attribute>     ...     <attribute-name>formatPatterns</attribute-name>     <attribute-class>java.lang.String</attribute-class>   </attribute> </validator> 30 listopada 2018 Java Server Faces

Konwertery Standardowe konwertery Podanie atrybutu converter dla pola. Możliwość definiowania konwerterów użytkownika Deklaracja w konfiguracji Implementacja interface Converter 30 listopada 2018 Java Server Faces

Zalety Bardzo prosta i szybka obsługa wielu aspektów tworzenia strony- zdarzenia, wiązanie obiektów Java. Zrzucenie odpowiedzialności za biblioteki komponentów ma poszczególne implementacje. Uniwersalność generowanego języka znakowania. Możliwość użycia zewnętrznych edytorów GUI. Podział aplikacji JSF wspiera podział pracy przy projekcie. 30 listopada 2018 Java Server Faces

Wady Młoda, niesprawdzona technologia. Wciąż ubogie środowisko tworzące w JSF. Kolejna technologia do opanowania.  30 listopada 2018 Java Server Faces

Gdzie szukać? Strona JSF http://java.sun.com/j2ee/javaserverfaces Materiały o JSF http://www.jsfcentral.com Krótka prezentacja opatrzona komentarzami http://www.jug.poznan.pl/Spotkania/jsf Implementacja JSF http://incubator.apache.org/myfaces 30 listopada 2018 Java Server Faces

Dziękuje za uwagę