11Oracle_ADF_Faces_Stefan_Scheidt

Werbung
Oracle ADF Faces
Oracles Implementierung der
JavaServer Faces Spezifikation
OPITZ CONSULTING
Oracle ADF Faces
Seite 1
Typische Enterprise Architektur
Business Services Layer
Controller Layer
User Input / Page Flow
Handling Logic
Business
Service
Interface
Business Service
Business
Objects
Code
Query Results
Collections
of Value
Objects
UI-Model
Layer
View Layer
Business
Data
Quelle: Steve Muench
Oracle ADF Faces
Seite 2
Typische Präsentationsschicht
Controller Layer
User Input / Page Flow
Handling Logic
Collections
of Value
Objects
UI-Model
Layer
View Layer
Quelle: Steve Muench
Oracle ADF Faces
Seite 3
Web Container
Quelle: Sun
Oracle ADF Faces
Seite 4
Web-Container

Eine Web Komponente ist ein Stück Software, das einen Web Request
verarbeitet und über HTTP eine Response zurück gibt.

In der Regel wird dabei die Benutzeroberfläche einer Web-Anwendung als
Response produziert.

Im J2EE-Standard gibt es zur Zeit zwei Arten von Web-Komponenten:
 Servlets
 JavaServer Pages (JSPs)
Oracle ADF Faces
Seite 5
Java Servlets

Servlets:
 Standardisiertes Java-API zur Bearbeitung von HTTP-Requests
 Breite Unterstützung durch Hersteller von Applikationsservern
 Klar definierter Lebenszyklus, wird durch Container gemanagt

Servlet API:
 Schnittstelle zum Lesen eines Requests und Schreiben der Response
 Diverse Unterstützungsdienste wie z.B. Session-Management

Grobe Funktionsweise:
 Annahme eines Browser Requests
 Verarbeitung durch das Java Servlet, dabei wird die Antwort generiert
 Rücksendung der Antwortseite an den Browser
Oracle ADF Faces
Seite 6
Java Servlets – ein einfaches Beispiel
public class Servlet1 extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=WINDOWS-1252");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet1</title>");
out.println("</head>");
out.println("<body>");
out.println("Hello From Servlet1");
out.println("</body>");
out.println("</html>");
out.close();
}
}
Oracle ADF Faces
Seite 7
JavaServer Pages

JavaServer Pages (JSP)
 Standardisierte Spezifikation zur Einbettung von Java in HTML-Seiten
 Trennung von statischem und dynamisch erzeugtem HTML
 Kapselung von Javacode durch sogenannte Tag Libraries

Grobe Funktionsweise
 Übersetzung der JavaServer Page in ein Servlet („einmalig“)
 Ausführung des Servlets
Oracle ADF Faces
Seite 8
JavaServer Pages – ein einfaches Beispiel
<%@ page contentType="text/html;charset=windows-1252"%>
<html>
JSP Page Directive
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<title>Hello World</title>
</head>
<body>
<h2>The current time is:</h2>
<p><%= new java.util.Date() %></p>
</body>
JSP Ausdruck
</html>
Oracle ADF Faces
Seite 9
JavaServer Pages

Neues Problem: Zu viel Java-Code in den JSPs

Lösung:
 „Model 2“-Entwurfsmuster
 Servlets für die Verarbeitung der Benutzeraktionen und die
Applikationssteuerung
 JSPs für die Bereitstellung der Präsentation
 JSP Tag Libraries für Markup Code
 Alternative Presentationsframeworks auf Basis von Servlets
 Jakarta Tapestry , Turbine mit Velocity
 Apache Cocoon
 Opensymphony Webwork
 Oracle ADF UIX
 ...
Oracle ADF Faces
Seite 10
Herunterladen