Seite 1 / 42
Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object Access Protocol (SOAP) Representational State Transfer (RESTful) Seite 2 / 42
Wiederholung / EE Web Web Applications Anwendungen, die per HTTP/S per Browser oder Protokollbasierten APIs aufgerufen werden. Werden als WAR-Archive deployed Grundlegender Aufbau / Servlet-Technologie: Seite 3 / 42
Web Applications - Einführung Service-Oriented Als reine Schnittstelle zwischen Business-Logic/Middle Tier und diversen Clients genutzt. Soap-Webservices, RESTful-Webservices, WebSockets, proprietäre Lösungsansätze Seite 4 / 42
Web Applications - Einführung Fokus Darstellung User-Interface Zugriff User-Interface => BackingBeans im Web-Projekt Zugriff Backing-Beans => BusinessLayer / MiddleTier Seite 5 / 42
EE Web Java Server Pages Dynamische Erzeugung von HTML-/XML-Ausgaben, Code wird in Ausgabe eingebettet. Reine Web-Projekte Möglich. Noch... :-) Default: index.html Sonst: index.jsp Basis -Technologie aller EE-Web-Anwendungen, eigentlich aber deprecated! Seite 6 / 42
JSP Einfache JSP-Seite Statischer Html-Code Skript-Elemente EL Java-Quelltext JSP Standard Tag Library (JSTL) Direktiven wie include, page import, taglib... Skript-Elemente/Ausgabe Seite 7 / 42
JSP HttpServlet-Beispiel Werden aus JSP erzeugt, manuell aber möglich/nötig. Seite 8 / 42
JSP BackingBeans - RequestScoped Vorsicht BeanPattern Hier nicht wirklich benötigt, z.b. Config des Welcome-Files, Custom HttpServlets möglich Seite 9 / 42
JSP BackingBeans - SessionScoped Vorsicht Hier nicht wirklich benötigt, z.b. Config des Welcome-Files, Custom HttpServlets möglich Seite 10 / 42
JSP Beispiel index.jsp Seite 11 / 42
EE Web Java Server Faces () Auf JSPs / der Servlet-Technologie basierendes Framework BackingBeans = ManagedBeans im -Kontext! Model-View-Controller-Pattern (MVC) HttpServlet! Seite 12 / 42
Java Server Faces () Komponenten Events Validatoren und Konverter Navigation Back-End Datenintegration Seite 13 / 42
Servlet-Technologie austauschbar, Komponenten-Auswahl Seite 14 / 42
web.xml-konfiguration Seite 15 / 42
Auszug Backing-/Managed Bean Vorsicht javax.enterprise.context.sessionscoped Seite 16 / 42
Beispiel XHTML / Facelets-Seite Gewährleistet CustomTags /HTML5 Seite 17 / 42
Komponenten Darstellung einfacher Listen/Tabellen Seite 18 / 42
Komponenten Darstellung einfacher Listen/Tabellen Komponente anzeigen? Link, an Form gebunden Seite 19 / 42
Komponenten Darstellung einfacher Listen/Tabellen Seite 20 / 42
Architektur Übersicht über das System View = Komponentenbaum Seite 21 / 42
Lifecycle Seite 22 / 42
Einfache Navigation / Validierung / Input-Beispiel Validierung Konto.xhtml Neues Laden des Models Seite 23 / 42
Submit Eingriff in Lifecycle Umgehen der Validierung Keine Validierung, kein Submit Seite 24 / 42
Noch mehr Validierung Seite 25 / 42
- Zugriffsmöglichkeiten Referenz auf andere ManagedBean per Session easy! Seite 26 / 42
- Zugriffsmöglichkeiten Referenz auf andere ManagedBean RequestScope-Aufruf 1/2 Seite 27 / 42
- Zugriffsmöglichkeiten Referenz auf andere ManagedBean RequestScope-Aufruf 2/2 Lokale Variablen-Bindung Seite 28 / 42
Internationalisierung Browser sendet Locale-Information (z.b. de_de, en_us) messages_de Files müssen im Classpath liegen! Seite 29 / 42
Internationalisierung Browser sendet Locale-Information (z.b. de_de, en_us) Seite 30 / 42
Event-Handling per ValueChangeListener Interface, kann an Klasse gehängt werden! Einfaches Attribut Neuer Request Angabe einer ValueChangeEvent -Methode Seite 31 / 42
Event-Handling per ValueChangeListener Seite 32 / 42
Event-Handling per Asynchronous JS and Xml (Ajax) Diesmal ohne neuen Page-Request Angabe einer Komponente Kennzeichnung der Komponente Seite 33 / 42
Backend-Anbindung, EE-Container Nach Möglichkeit sollte man im CDI-Context bleiben. javax.enterprise Seite 34 / 42
Backend-Anbindung, EE-Container Switch in die alte Welt immer möglich, manchmal auch nötig! javax.ejb Seite 35 / 42
Backend-Anbindung, EE-Container Switch in die alte Welt immer möglich, manchmal auch nötig! Zugriff auf alle Container-Ressourcen! Seite 36 / 42
Aktuelle Frameworks Viele Komponenten vorhanden Reactive Design Mobile (+Hardware)... Seite 37 / 42
EE Web Websockets Einziges Transport-Protokoll, das bidirektionale Kommunikation über eine TCP-Connection erlaubt. Asynchrone Kommunikation mit Clients. Kann selbständig benachrichtigen Prima auch für WebApps Seite 38 / 42
Websockets Beispiel-Service Seite 39 / 42
Websockets Javascript-Beispiel (pws.js) Achtung, dies ist der Service-Name Seite 40 / 42
Websockets Aufruf aus -Seite heraus Standard-Ordner! Das hier geht bestimmt noch schöner! Stichwort globale Variablen! Seite 41 / 42
Java Web Google WebTool Kit (GWT) Entwicklung voll auf Java-Seite GUI weitgehend programmatisch Erzeugung von JavaScript-Objekten aus Java-Komponenten Seite 42 / 42