Programmierung von Client/Server- Anwendungen



Ähnliche Dokumente
Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

E-Business Architekturen

JSP und Servlet Programmierung

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Liste V Enterprise JavaBeans

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Softwareentwicklung mit Enterprise JAVA Beans

Spring Dynamic Modules for OSGi Service Platforms

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Enterprise Java Beans Einführung

Programmierung von Java- Webanwendungen. paluno

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Softwareentwicklung mit JAVA EE

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Struts 2 Das Imperium schlägt zurück?

Der IBM Websphere Portalserver

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel

Bernd Müller. JavaServer Faces 2.0. Ein Arbeitsbuch für die Praxis ISBN: Weitere Informationen oder Bestellungen unter

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Application Frameworks

Webanwendungen mit IBM Rational und IBM WebSphere V6

Contexts and Dependency Injection. W3L AG

Automatisiertes Testen von Java EE-Applikationen mit Arquillian

Inhaltsverzeichnis. 1 Ein Einstieg mit Profil 1. 2 Aufsetzen der Entwicklungsumgebung 19

Java EE Projektseminar

Web- Applikationen. in Java-Web

Etablierung serviceorientierter Architekturen mit Web Services

Dirk Reinemann Working Student Sales Consulting

Introduction to JSF technology and Rapid Application Development Roland Zänger

6.9 Java Server Pages

Online Banking System

WebSphere Application Server Installation

FH LU JEE Vorlesung SS Ralf Gitzel

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Java - Webapplikationen

SE2-10-Entwurfsmuster-2 15

Konfiguration und Deployment einer hochverfügbaren ADF Anwendung

Einsatz und Grenzen von Java Server Faces 2.0

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Enterprise JavaBeans Überblick

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Internetanbindung von Datenbanken

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Marcus Schießer Martin Schmollinger. Workshop Java EE 7. Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1

Service Engineering. Ableitung der Servicekomposition aus BPMN-Modellen. Prof. Dr. Andreas Schmietendorf 1. SoSe Service Engineering

Web-Anwendungen mit JavaServer Faces

ORACLE Business Components for Java (BC4J) Marco Grawunder

Java 2, Enterprise Edition Einführung und Überblick

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

THOMAS WEHRSPANN. Diplom Wirtschaftsinformatiker Scrum Master. Geburtsjahr 1978 Profil-Stand Juli 2015

Agenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs.

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen. Referenten: Fabian Bartelt Jens de Witt

Spring Dynamic Modules for OSGi Service Platforms

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Michael Kurz Martin Marinschek

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Oracle Forms 11g Upgradepfade & Lizenzierungsmodelle. Holger Pölzl Senior Channel Manager ISV

Webinar: Einführung in ICEfaces

SAP NetWeaver Gateway. 2013

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015

RESTful Web. Representational State Transfer

WebService in Java SE und EE

Themen. Web Service - Clients. Kommunikation zw. Web Services

3 Anwendungsarchitektur und Entwicklungsumgebung

Anwendung eines Enterprise Java Beans

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

Web-Anwendungsentwicklung mit dem Delivery Server

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

- XPages 2.0? René Winkelmeyer

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Transkript:

Programmierung von Client/Server- Anwendungen Komponenten des Web-Containers (Java EE) SoSe2015 Prof. Dr. Andreas Schmietendorf 1

Übersicht zur Vorlesung Entwicklung der Java Enterprise Edition Servlets, JSPs und Java Beans Idee der Tag Bibliotheken Java Server Faces und JSF-managed Beans (CDI-Beans) Entwicklungs- und Laufzeitumgebung Weiterführende Informationen SoSe2015 Prof. Dr. Andreas Schmietendorf 2

Entwicklung der Enterprise Edition SoSe2015 Prof. Dr. Andreas Schmietendorf 3

JEE - Entwicklung Java 2 EE (Servlets, JSPs und EJBs) Java EE5 - JSF Version 1.2 - Ablösung der EntityBeans JPA-Standard Java EE6 - Einführung von Profilen (Teil-Stacks) speziell Web Profile - Contexts and Dependency Injection (CDI) u.a. JSF-EJB Java EE7 - Java API für JSON - Concurrency Utilities usw. Java EE8 (u.a. Cloud-Standards) SoSe2015 Prof. Dr. Andreas Schmietendorf 4

JEE - Entwicklung Applikationsserver JSPs JSF Servlets Web Client POJO Beans Tag-Libs Server Daten HTML bzw. XHTML(JavaScript) CDI Contexts and Dependency Injection EJB Server Daten Session Beans Message Driven Beans Entity Beans JPA Standard Client Daten Mainframe zos SoSe2015 Prof. Dr. Andreas Schmietendorf 5

Servlets, JSPs und JavaBeans SoSe2015 Prof. Dr. Andreas Schmietendorf 6

Servlet-Beispiel SoSe2015 Prof. Dr. Andreas Schmietendorf 7

JSPs Repräsentation für Entwickler werden in Servlets übersetzt. Generieren HTML-Code der an den Browser gesendet wird. Können mit JavaBeans verbunden werden <jsp:usebean/>, deren Gültigkeit über Scopes gesteuert werden. - request neue Bean, - page Nutzung für gleiche JSP, - session Nutzung für alle JSPs während einer Sitzung, - application globale Daten für alle Sitzungen und Seiten Vorteil: Trennung zwischen Darstellung und Logik SoSe2015 Prof. Dr. Andreas Schmietendorf 8

JSP-Beispiel SoSe2015 Prof. Dr. Andreas Schmietendorf 9

JSP/Bean-Beispiel genutzte JavaBean SoSe2015 Prof. Dr. Andreas Schmietendorf 10

Model View Controller (JSP) Quelle: http://www.javaworld.com/article/2076557/java-web-development/ understanding-javaserver-pages-model-2-architecture.html, Abruf: April 2015 SoSe2015 Prof. Dr. Andreas Schmietendorf 11

Idee der Tag-Bibliotheken SoSe2015 Prof. Dr. Andreas Schmietendorf 12

Verwendung eigener Tags Vorraussetzungen für eigen definierte Tags: - Implementierung der Funktionalität Tag-Handler - Package: javax.servlet.jsp.tagext.* - Zusammenfassen in Tag-Bibliotheken Steuerung des Lebenszyklus eines Tag - dostarttag() Aufruf bei einem öffnenden Tag (Initialisierung) - doafterbody() Aufruf unmittelbar vor dem schließenden Tag - doendtag() Aufruf nach dem schließenden Tag (Freigabe) SoSe2015 Prof. Dr. Andreas Schmietendorf 13

Beispiel eines Tag-Handlers import javax.servlet.jsp.jspwriter; import javax.servlet.jsp.tagext.tagsupport; public class SimpleTag extends TagSupport(){ public int dostarttag(){ } try { JspWriter out = pagecontext.getout(); out.print (new Date()); } catch (IOException ioex){ ioex.printstacktrace(); } return (SKIP_BODY); } Einbindung in HTML-Seiten über JSP-Direktive: <%@ taglib uri= /j2ee-tags prefix= j2ee %> Tag im HTML-Body: <j2ee:date /> SoSe2015 Prof. Dr. Andreas Schmietendorf 14

Java Server Faces SoSe2015 Prof. Dr. Andreas Schmietendorf 15

Übersicht zu JSF XHTML-Facelets als Grundlage von JSF. UI-Komponentenmodell inkl. Ereignisverarbeitung. Einsatz vielfältiger Tag-Libraries View als Komponentenbaum. Controller-Funktionalität durch JSF Managed Beans. - Gültigkeit werden über Scopes gesteuert: @NoneScoped, @RequestScoped, @SessionScoped, @ApplicationScoped, Expression Language für Zugriff auf JavaBeans SoSe2015 Prof. Dr. Andreas Schmietendorf 16

Lebenszyklus einer JSF Restore View (Sicht, View-Objekte und Komponentenbaum) Apply Request Values (Anforderungsparameter anwenden) Conversion and Validation (Konvertierung und Validierung) Update Model Values (Modell aktualisieren) Invoke Application (Anwendung aufrufen) Render Response (Antwort erzeugen und zurücksenden) Quelle: http://docs.oracle.com/javaee/7/tutorial/jsf-intro006.htm Abruf: April 2015 SoSe2015 Prof. Dr. Andreas Schmietendorf 17

JSF/Bean-Beispiel Expression Language für den Zugriff auf Eigenschaften der TimeManagedBean Quelle: Schießer, M.; Schmollinger, M.: Workshop Java EE 7: Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile, 2015 SoSe2015 Prof. Dr. Andreas Schmietendorf 18

Model View Controller (JSF) Die Umsetzung und Zuordnung erfolgt nicht immer einheitlich und stringent. Bei JSF gilt in der Regel: Das Model wird durch POJOs, Java Beans oder Managed Beans realisiert, die View durch Facelets- XHTML-Dokumente und als Controller fungiert das FacesServlet ("Front- Controller-Pattern"). Quelle: http://www.torsten-horn.de/techdocs/jsf.htm Abruf: April 2015 SoSe2015 Prof. Dr. Andreas Schmietendorf 19

Entwicklungs- und Laufzeitumgebungen SoSe2015 Prof. Dr. Andreas Schmietendorf 20

Entwicklungsumgebung IDE (Java SE 8 JDK) - Eclipse - NetBeans JSF API und Implementierung - javax.faces-api-2.1.jar - javax.faces-2.1.24.jar https://javaserverfaces.java.net/download.html Maven (Konfigurationsmanagementwerkzeug) - Standardisierung der Projektstruktur (Archetype) - Bibliotheken können direkt aus dem Internet bezogen werden - Erzeugung (Build) und Deployment von Java EE Anwendungen SoSe2015 Prof. Dr. Andreas Schmietendorf 21

Applikationsserver Kommerzielle Angebote - IBM WebSphere - Oracle WebLogic Open Source Produkte - Glassfish (Java EE Referenzimplementierung) - JBoss (ab Version 8 Name WildFly) - ApacheTomcat (nur Web-Container) Cloud Angebot z.b. OpenShift (bietet WildFly) SoSe2015 Prof. Dr. Andreas Schmietendorf 22

Applikationsserver Tomcat-Webserver prüfen: http://localhost:8080 SoSe2015 Prof. Dr. Andreas Schmietendorf 23

Weiterführende Quellen SoSe2015 Prof. Dr. Andreas Schmietendorf 24

Buchempfehlungen Schießer, M.; Schmollinger, M.: Workshop Java EE 7: Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile, 2015, ISBN: 978-3864900471 Kurz, M.; Marinschek, M.: JavaServer Faces 2.2: Grundlagen und erweiterte Konzepte, November 2013, ISBN: 978-3864900099 SoSe2015 Prof. Dr. Andreas Schmietendorf 25

Online-Tutorials http://stefanfrings.de/jsf_tutorial/index.html http://www.jsf-forum.de/forum/pages/tutorials/helloworld_5.jsf http://www.torsten-horn.de/techdocs/jsf.htm http://docs.oracle.com/javaee/7/tutorial/jsf-intro006.htm http://www.javaworld.com/article/2076557/java-web- development/understanding-javaserver-pages-model-2- architecture.html SoSe2015 Prof. Dr. Andreas Schmietendorf 26