Komponentisierte Web-Frontends

Größe: px
Ab Seite anzeigen:

Download "Komponentisierte Web-Frontends"

Transkript

1 Komponentisierte Web-Frontends Umsetzung im Kontext Verteilter Systeme Uni Bamberg,

2 Agenda Vorstellung Motivation Architekturkonzepte Umsetzung mit Wicket Diskussion 2

3 VORSTELLUNG Vortragende Andreas Gärtner Partner, Principal Architect Dr. Martin Trapp Partner, Principal Architect 3

4 VORSTELLUNG Senacor ist ein deutschlandweit tätiger IT-Dienstleister Dienstleistung Business Consulting Technical Consulting Software Design u. Development Senacor Unternehmen Mitarbeiter: ca. 200 Aktionäre: Management und private Investoren Standorte Schwaig b. Nürnberg (Zentrale) Bonn, München, Frankfurt, Wien 4

5 VORSTELLUNG Große Unternehmen mit komplexen IT-Landschaften bestimmen das Kundenportfolio von Senacor 5

6 Agenda Vorstellung Motivation Architekturkonzepte Umsetzung mit Wicket Diskussion 6

7 MODERNE WEB-ANWENDUNGEN Moderne Web-Frontends bestehen aus funktional reichen Bausteinen, die für unterschiedliche Zugangskanäle wiederverwendet und neu kombiniert werden können Wie erreicht man das konzeptionell, fachlich und technisch? 7

8 WEB FRONTENDS DEPLOYMENT SICHT Typische Industrieszenarien für großen Web-Anwendungen weisen einen klar geschichteten Aufbau auf Browser (z.b. Firefox) Load Balancer (z.b. F5) HTTP Server (z.b. apache) Servlet Container (z.b. tomcat) Load balancer sorgen dafür, dass die Anfragen von Benutzern gleichmäßig auf die verfügbaren HTTP Server verteilt werden HTTP Server liefern statische Inhalte wie Formulare oder Stylesheets direkt aus Die eigentlichen Web- Anwendungen laufen in Servlet Container Cluster ab Möglichst wenig Geschäftslogik im Frontend Middle Layer Serviceschicht stellt Geschäftslogik für Frontends bereit 8

9 HISTORISCHE ENTWICKLUNG IN DER WEB-ENTWICKLUNG Bei Technologien und Frameworks verschiebt sich der Fokus von Web- Seiten zu Komponentenansätzen HTTP / HTML Request / Response um irgendwie HTML- Seiten zu generieren JSP + taglibs Trennung von Darstellung und Logik Ajax / JSON / ReST Abkehr von seitenorientierten Anwendungen HTML 5 / CSS 3 Unterstützung für Funktionalitäten, die bisher RIAs vorbehalten waren Servlets / JEE / WARs Abstraktion von HTTP in Java, Servlet (Web) Container, Session Struts MVC Muster für Web-Anwendungen als verlinkte Seiten JSF Serverseitiges Komponentenmodell ähnlich zu Swing Flash RIA Dynamische Effekte + Multimedia Portlets Komponentenmodell, aber nur rudimentäre Kooperation 9

10 Agenda Vorstellung Motivation Architekturkonzepte Umsetzung mit Wicket Diskussion 10

11 STRUKTUR WAS IST DRIN IM FRONTEND? JEE Web Anwendungen realisieren GUIs, aber keine Geschäftslogik 11

12 COMPOSITES UND BOTTOM UP DESIGN Anforderungen und Planung für GUI-Bausteine top-down, aber Konstruktion bottom-up um kontextunabhängige Wiederverwendung zu erreichen Feldebene Feldgruppen Einheitliche Wertebereiche und Prüfungen durch explizite Fachdatentypen z.b. deutsche Bankleitzahl immer sechsstellig numerisch Wiedererkennbare Anordnung z.b. bei Adressdaten Fachdatentypen und Validierungsregeln Feldgruppen mit Funktionalität Dialoge Geschäftsvorgänge Seiten Anwendungen Identifikation wiederkehrender Muster wie z.b. geführte Prozesse oder Aktionen mit expliziter Freigabe Komplette, fachlich geschnittene Funktionalitäten, die einzelne Anwendungsfälle abdecken Einheitliche Darstellung mit gleichförmig genutzten Bereichen (Header, Footer, Navigation, ) Ausführungsumgebung für Geschäftsvorgänge, typischerweise rollenbasiert Wizards Haupteinstiegspunkte Layout Styling 12

13 FELDER UND FELDGRUPPEN Fachliche Datentypen für gleichförmiges Verhalten auf Feldebene. Feldgruppen sind rekursiv schachtelbar Adresserfassung 1 1 Textfeld mit Eingabevalidierung 2 2 Dropdown-Feld für Aufzählungstypen Personenerfassung Schufa-Erfassung Wiederverwendung in verschiedenen anderen Bausteinen 13

14 FELDGRUPPEN Bausteine kennen ihren Ablaufkontext nicht. Verwender kennen nur die Schnittstellen der Bausteine. Zur selben Schnittstelle sind unterschiedliche Varianten von Bausteinen möglich Aufgabe: Erfassung einer validen Bankverbindung bestehend aus Bankleitzahl, Kontonummer und Name des Kreditinstituts Kontonummer Bankleitzahl Modell: Bankverbindung Kreditinstitut Haspa Eingabe: Leeres oder teilbefülltes Bankverbindungsobjekt Ausgabe: Bankleitzahl und Kontonummer konsistent gefüllt, Name des Kreditinstituts passend gesetzt Funktionalität: Bankleitzahl ist gültig, Kontonummer überprüft, Bankname passt zur BLZ Kontonummer Bankleitzahl Kreditinstitut Hamburger Sparkasse Kontonummer Bankleitzahl Kreditinstitut Suchen HSH Nordbank Hamburg Hamburger Sparkasse 14

15 DIALOGE Dialoge beschreiben Abläufe als Abfolge einzelner Ablaufschritte Überweisung durchführen Überweisungsbestätigung Vorlagenauswahl Überweisungserfassung Bankleitzahlsuche Überweisungsdatenanzeige TAN- Legitimation durchführen Überweisungseingabe Überweisungsfreigabe Überweisungsdatenanzeige TAN-Anzeige Die Realisierung von Abläufen ist nicht Aufgabe der einzelnen Ablaufschritte sondern des umfassenden Bausteins Dialoge sind selbst wieder Bausteine, die mit anderen zusammengefasst werden können 15

16 GESCHÄFTSVORGÄNGE UND ANWENDUNGEN Realisierungen von Geschäftsvorfällen können in unterschiedliche Rahmenanwendungen eingesteckt werden GP-Suche GP-Erfassung Girokonto-VK... Komponenten-Baukasten Verkauf Vorsorge, Versicherung Kredite Kreditkarten GP-Suche Spar Baufinanzieru ng Wertpapier/ Investment Finanzstatus Partner/ Kundenmngmt. Girokonto-VK Kundenmanagement Geschäftspartner Beratung Vertriebsreporting Aktionsprodukte Transaktionen Brokerage Filiale Call-Center Abwicklung... Banking GP-Suche Sonstiges Giro & Debitkarten Antragsmanagement Nachrichtenverwaltung Beschwerdemngmt. Verwaltung Auskunft Authentifiz. & Legitimierung Finanzstatus Sparen-VK... Rahmenanwendung übernimmt Seitenlayout und Teile des Look&Feels(Styling) Unterstützung unterschiedlicher Anforderungen durch a) Parametrisierung der Bausteine und b) Rollen/Rechte-Konzept Bei Produktivsetzungen sind immer nur Teile der Software neu und intensiv zu testen Unterstützung unterschiedlicher Release Zyklen Unterschiedliches (virtuelles) Blech ermöglicht zielgerichtete Ressourcenzuordnung 16

17 SEITEN VON ANWENDUNGEN Seiten sind anwendungsspezifisch und definieren den optischen Rahmen für die Einbettung von Geschäftsvorfällen

18 Service Schnitt, Schnittstellen und Modelle Komponentisierte Web-Frontends 18

19 SERVICE-SCHNITT AUS FRONTEND-SICHT Fachlich müssen Funktionalitäten unterschiedlicher Domänen eingebunden werden Überweisung erfassen Überweisung prüfen Überweisung ausführen Buchung initialisieren Limite prüfen TAN entwerten Bankverbindung prüfen Buchung prüfen Limite reduzieren TAN reservieren Buchung ausführen Legende Auftrag protokollieren Bank Konto Kunde Sicherheit Journal 19

20 SERVICE-SCHNITT AUS FRONTEND-SICHT Viele Punkt zu Punkt Verbindungen erhöhen die Komplexität im Frontend (Spezialwissen, Flusssteuerung, Kompensation, ) Überweisung erfassen Überweisung prüfen Überweisung ausführen Bankverbindung prüfen Buchung initialisieren Buchung prüfen Buchung ausführen Limite prüfen Limite reduzieren TAN reservieren TAN entwerten Auftrag protokollieren Bank Konto Kunde Sicherheit Journal 20

21 SERVICE-SCHNITT AUS FRONTEND-SICHT Auf Anwendungsfälle zugeschnittene Services ermöglichen eine deutliche Komplexitätsreduktion für die Frontends Überweisung erfassen Überweisung prüfen Überweisung ausführen prüfen Zahlungsverkehrsmanagement initialisieren ausführen Bankverbindung prüfen Buchung initialisieren Buchung prüfen Buchung ausführen Limite prüfen Limite reduzieren TAN reservieren TAN entwerten Auftrag protokollieren Bank Konto Kunde Sicherheit Journal 21

22 FACHARCHITEKTURMODELL Facharchitekturmodelle ermöglichen die Darstellung des Zusammenspiels von fachlichem Prozess, Frontend, Middlelayer und Backends

23 DATENMODELLE AUS FRONTENDSICHT UND DTOS Wie viele unterschiedlich Modelle braucht es vom Backend bis zur GUI? Middle Layer Frontend Backends GUI GUI GUI GUI GUI Modell (Backing Beans) Modell der Serviceschnittstelle Logik Logik Logik Logik Geschäftsobjektmodell Backend-nahe Modelle JMS JPA JCA WS Backend Modell????? GUI-Bausteine Geschäftslogik Adapter Backend-nahe Modelle sind oft nicht geeignet für die Programmierung von Geschäftslogik (z.b. zu spezialisiert, zu allgemein, zu unterschiedlich) Modell der Service-Schicht stellt vertrag zwischen Middle Layer und Frontend da. Die Schnittstelle inkl. der darin verwendeten Datenobjekte sollten einem formalen Releasing unterliegen (versionierte Schnittstellen) Schnittstelle entkoppelt sich von Geschäftsobjekten durch explizite Transferobjekte (Data Transfer Objects, DTOs), damit interne Änderungen nicht auf die Schnittstelle durchschlagen DTOs können auch direkt als Backing Beans genutzt werden kein eigenes GUI Modell 23

24 Agenda Vorstellung Motivation Architekturkonzepte Umsetzung mit Wicket Diskussion 24

25 UMSETZUNG MIT WICKET Zur Umsetzung einer komponentenbasierten Webapplikation sind komponentenbasierte Frameworks am besten geeignet Historische Entwicklung im JEE Umfeld 1997: Veröffentlichung der Servlet-Spezifikation Umsetzung dynamischer Webinhalte 1999: Servlet-Spezifikation 2.1: Java Server Pages Trennung von Darstellung und Inhalt Gleichzeitig Publikation des Model 2 Anwendungsmusters Strukturierung von Webanwendungen nach Model View Controller Lange Zeit prominentestes Anwendungsframework: Struts Probleme und Herausforderungen Geringe Abstraktion vom Request- Response Paradigma und von der Servlet- Spezifikation Browser Back und Duplicate Submit Problem komplexes Handling des Anwendungszustands Keine Unterstützung von wiederverwendbaren Komponenten Komponentenbasierte Standards und Frameworks Etablierung eines Standards für komponentenbasierte Java-Webanwendungen: JSF Ziel: einfache Entwicklung und Wiederverwendung von Komponenten Open-Source Frameworks wie Tapestry oder Wicket zielen auf eine weiter veranfachte Umsetzung

26 UMSETZUNG MIT WICKET mvn archetype:generate -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.5.3 web.xml HomePage.html wicket-example WicketApplication.java HomePage.java 26

27 UMSETZUNG MIT WICKET Hello, Bamberg! HomePage.html- Markup <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4- strict.dtd" > <head> <title>wicket Quickstart Archetype Homepage</title> </head> <body> <strong>wicket Quickstart Archetype Homepage</strong> <br/><br/> <span wicket:id="message">message will be here</span> </body> </html> HomePage.java- Implementierung HomePage.java- Implementierung public class HomePage extends WebPage { public HomePage(final PageParameters parameters) { } } add(new Label("message", Hello, Bamberg!")); 27

28 UMSETZUNG MIT WICKET Merkmale und Konzepte Automatische Zustandsverwaltung Komponentenbasiert Separation of Concerns (Präsentation und Logik) Convention over Configuration Wicket Einfache Entwicklung Objektorientiert 28

29 UMSETZUNG MIT WICKET Alles ist ein Baustein Component <abstract> MarkupContainer WebComponent WebMarkupContainer Page <abstract> Image Form Panel WebPage Label 29

30 UMSETZUNG MIT WICKET Modelle stellen die Daten für die Bausteine bereit Das Modell bietet den Komponenten Zugriff auf die Domänenobjekte (in Verteilten Systemen oft über DTOs) Manipulation des Zustands einer Komponente erfolgt über Veränderungen des Modells Page Delegate Domain Component IModel ModelData Component Kunde Konto Adresse 30

31 UMSETZUNG MIT WICKET Detachable Models gewährleisten die effiziente Nutzung von Ressourcen Komponentenbäume werden in Page Maps ( Seitenhistorie) serialisiert Modelle werden in Properties der Komponenten referenziert Person p =...; add(new Label<String>("firstname, new PropertyModel<String>(p, "firstname"))); Implementierungen von IModel müssen serialisierbar sein Wird das Domänenobjekt im Model direkt referenziert, so muss auch dieses serialisierbar sein und der Speicherbedarf pro Session wächst LoadableDetachableModel lädt das Domänenobjekt beim ersten Zugriff gibt es am Ende der Request-Bearbeitung frei private class PersonModel extends LoadableDetachableModel { private long id; public PersonModel(long id) { this.id = id; protected Object load() { return personservice.getpersonbyid(this.id); } } 31

32 UMSETZUNG MIT WICKET Integration von Services über Spring Herausforderung Services sollen mit Hilfe von Spring in Wicket-Komponenten injiziert werden Wicket ist unmanaged, d.h. die Komponenten können an beliebigen Stellen mit new erzeugt werden Wicket-Komponenten werden häufig serialisiert und deserialisiert Ggf. werden die Daten in der Session über die Knoten eines Clusters repliziert Spring ApplicationContext sollte möglichst nur einmal beim Anwendungsstart initialisiert werden Lösung Der ApplicationContext wird über einen in der web.xml zu deklarierenden Listener beim Start der Webanwendung initialisiert: <listener> <listener-class> org.springframework.web. context.contextloaderlistener </listener-class> </listener> Die Dependencies werden in den Komponenten annotiert Ein ComponentInstantiationListener sorgt dafür, dass beim Instanziieren ein serialisierbarerproxy in die Komponenten injiziert wird 32

33 UMSETZUNG MIT WICKET Wicket macht die Realisierung und Nutzung von Komponenten einfach Eigenschaften Umsetzung in Wicket Komponenten stellen prozessorientierte Endbenutzerfunktionalität in Form von Zustand und Verhalten bereit Komponenten sollen in unterschiedlichen Kontexten wiederverwendbar sein, weisen daher im Vergleich zu Objekten eine höhere funktionale Kohäsion auf Komponenten Implementierung einer oder mehrerer Java-Klassen, die von der abstrakten Klasse Component erben (Bausteine) Schreiben einer XHTML- Seite, die das Markup der Komponente realisiert Ggf. Zusammenfassung mehrerer Bausteine zu einem jar (Komponente) Und sonst nichts! 33

34 UMSETZUNG MIT WICKET Implementierung und Integration von Komponenten (1/3) Implementierung public class AdressePanel<T extends Adresse> extends Panel { public AdressePanel(String id, T adresse) { super(id); add(new AdresseForm<T>("adresseForm", adresse)); } private final class AdresseForm<T extends Adresse> extends Form<T> { public AdresseForm(String id, T adresse) { super(id, new CompoundPropertyModel<T>(adresse)); } } } add(new DropDownChoice<String>("land, LandEnum.getEnumValues())); add(new TextField<String>("strasse")); add(new TextField<String>("hausNr")); add(new TextField<String>("plz")); add(new TextField<String>("stadt"); 34

35 UMSETZUNG MIT WICKET Implementierung und Integration von Komponenten (2/3) Markup <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns=http://www.w3.org/1999/xhtml xmlns:wicket=http://wicket.sourceforge.net/> <body> <wicket:panel> <form wicket:id="adresseform"> <label>strasse und Hausnummer</label> <input type="text" wicket:id="strasse" class="size-m" /> <input type="text" wicket:id="hausnr" class="size-s" /> <label>postleitzahl, Wohnort</label> <input value="" wicket:id="plz" type="text" class="size-s" /> <input value="" wicket:id="stadt" type="text" class="size-m" /> <label for="ausstellungsdatum">land</label> <select wicket:id="land" class="size-l" > <option>deutschland</option> </select> </form> </wicket:panel> </body> </html> 35

36 UMSETZUNG MIT WICKET Implementierung und Integration von Komponenten (3/3) Verwendung - Markup <html>... <div wicket:id="adressepanel" />... </html> Verwendung - Code final Panel panel = new AdressePanel("adressePanel", kunde.getadresse()); 36

37 UMSETZUNG MIT WICKET Behaviors Ein Behaviorist ein verkapseltes Verhalten, mit der eine Komponente erweitert werden kann und das bei bestimmten Events während des Lebenszyklus aufgerufen wird Hinzufügung von JavaScript Events Hinzufügung von Ajax-Verhalten Beispiel plzfield.add(new AjaxFormComponentUpdatingBehavior("onchange") protected void onupdate(ajaxrequesttarget target) { String stadt = plzsucheservice.find(getmodelobject().getplz()); getmodelobject().setstadt(stadt); target.add(getcomponent().getparent().get("stadt")); }}); Vorgefertigte Behaviors AutoCompleteBehavior AjaxSelfUpdatingTimerBehavior... 37

38 UMSETZUNG MIT WICKET Besondere Herausforderungen im industriellen Umfeld Zustandsverwaltung und Lastverteilung In der Regel Lastverteilung über einen Cluster mit mehreren Servern Wicket hält die Seiten und deren Modelle (den Zustand) transparent für den Entwickler in der HTTPSession. Ältere Seiten werden im Standardfall auf die Festplatte ausgelagert Replikation im Cluster kann teuer werden Lösungsoption: Sticky Sessions und Verwendung eines Datenbankbasierten Second-Level Caches für ältere Seiten Sicherheit Sicherheit ist in Wicket per Design eingebaut URLs enthalten keine sensitiven Daten Komponentenpfade sind relativ zur Session URL-Verschlüsselung erlaubt die Realisierung extrem sicherer Webseiten Die Integration von externen Security-Frameworks (z.b. Spring Security) ist extrem einfach 38

39 Agenda Vorstellung Motivation Architekturkonzepte Umsetzung mit Wicket Diskussion 39

40 Vielen Dank Diskussion Andreas Gärtner Dr. Martin Trapp Komponentisierte Web-Frontends

41 Backup

42 UMSETZUNG MIT WICKET Das Model 2 Anwendungsmuster strukturiert eine Webanwendung in die Bausteine Model, View und Controller Webcontainer Browser Request 1 Servlet 3 Controller 2 Response 5 JSP View 4 JavaBean Model Enterprise Resources 42

Apache Wicket Web Framework: Reinvented the Wheel? Stärken und Schwächen: Ein Erfahrungsbericht aus drei Projekten

Apache Wicket Web Framework: Reinvented the Wheel? Stärken und Schwächen: Ein Erfahrungsbericht aus drei Projekten Apache Wicket Web Framework: Reinvented the Wheel? Stärken und Schwächen: Ein Erfahrungsbericht aus drei Projekten Ralf Kühnlein Freie Universität Berlin Seminar Beiträge zum Software Engineering Übersicht

Mehr

Wicket. Writing a Wicket app is rather more like writing an event-based desktop application than a web application. LShift

Wicket. Writing a Wicket app is rather more like writing an event-based desktop application than a web application. LShift Wicket Writing a Wicket app is rather more like writing an event-based desktop application than a web application. LShift Christian Nienhaus & Moritz Kunze Gliederung Theorie Übersicht Geschichte Struktur

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Programmierung von Java- Webanwendungen. paluno

Programmierung von Java- Webanwendungen. paluno Programmierung von Java- Webanwendungen Gliederung 1 Vorstellung und Einführung 2 Basiswissen Web 3 XML und JSF- Einführung 4 JSF- Komponenten und RichFaces 5 Wiederholung der ersten Woche 6 JSF- Konzepte

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

Programmierung von Client/Server- Anwendungen

Programmierung von Client/Server- Anwendungen 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,

Mehr

Inhaltsverzeichnis. Zusammenfassung Wydler

Inhaltsverzeichnis. Zusammenfassung Wydler Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value

Mehr

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov Überblick Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung Einleitung Java Server Pages ist eine Technik

Mehr

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

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

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

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Evolution der Web-Entwicklung nach AJAX

Evolution der Web-Entwicklung nach AJAX Evolution der Web-Entwicklung nach AJAX Vortrag BMW Messe, Oktober 2007 Rudolf Lindner, Projektleiter Technologie F&F GmbH Was ist eine WEB-Anwendung? Datenbank Datenbank Server Logik Prozesse Datenbank

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Workshop Java Webentwicklung Tapestry. Ulrich Stärk Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird

Mehr

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

Agenda. Einleitung. Einbinden von JSF AJAX Beispiele Komponenten Entwicklung PrimeFaces Praktikum. Was ist JSF Aufbau und Techniken HTML vs. JavaServer Faces E-Commerce (WS 2011/12) Fachhochschule Münster FB02 Elektrotechnik und Informatik Referenten: Matthias Wellmeyer, Sven Wermers, Malte Wesker Agenda Einleitung Was ist JSF Aufbau und Techniken

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

UI-Architekturen mit JSF

UI-Architekturen mit JSF www.jsf-academy.com UI-Architekturen mit JSF - JSF ist mehr als nur Syntax Andy Bosch Copyright 2012, Andy Bosch, www.jsf-academy.com Slide 1 Agenda Warum reden wir überhaupt über UI-Architektur? Technologien

Mehr

Moderne Web- Anwendungen mit

Moderne Web- Anwendungen mit Moderne Web- Anwendungen mit Oliver.Damm@akquinet.de September 2013 Web- Anwendungen mit Vaadin???

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Der IBM Websphere Portalserver

Der IBM Websphere Portalserver Der IBM Websphere Portalserver Ergebnisse aus dem Universitäts-Praxis-Projekt 2001/2002 Vortrag von Il-Hyun Kim und Horst Rechner am 19. Juli 2002 Weiterer Teilnehmer am UPP: Clemens Oertel Betreuer: Dipl.-Phys.

Mehr

Einsatz und Grenzen von Java Server Faces 2.0

Einsatz und Grenzen von Java Server Faces 2.0 Kai Wähner München 09. September 2010 Einsatz und Grenzen von Java Server Faces 2.0 Einordnung von JSF in JEE 9/11/2010 Seite 2 Einordnung von JSF in JEE 9/11/2010 Seite 3 "Überblick" über JSF 9/11/2010

Mehr

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE

Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE Einsatz von Scalable Vector Graphics (SVG) zur Modellrepräsentation und -manipulation in Web-Anwendungen mit J2EE www.arsnova.de ARS NOVA Technical Workshop, 24. Juni 2004 1 Agenda Motivation und Zielsetzung

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Peter Roßbach (Systemarchitekt) Gerd Wütherich (Freier Softwarearchitekt) Martin Lippert (akquinet it-agile GmbH) 2009 by P. Roßbach, G. Wütherich,

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

Mehr

Struts 2 Das Imperium schlägt zurück?

Struts 2 Das Imperium schlägt zurück? Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

UI-Architekturen mit JSF

UI-Architekturen mit JSF www.jsf-academy.com UI-Architekturen mit JSF - JSF ist mehr als nur Syntax - Copyright 2011, Andy Bosch, www.jsf-academy.com Slide 1 Agenda Warum reden wir überhaupt über UI-Architektur? Technologien und

Mehr

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

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

Mehr

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011 Weiterführende Themen zu Internet- und WWW-Technologien 06. Juni 2011 Übersicht 1 Was ist? 2 Übersicht über 3 MVC-Konzept 4 Groovy Beispiele 5 Tutorial: Kleiner Notizblock Web Application Framework Übersicht

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

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

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

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

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Agenda! Allgemeines! Aufgabenverteilung! Alltagsbeispiel! Beurteilung! Konkretes

Mehr

business.people.technology.

business.people.technology. business.people.technology. Portalserver meets SOA: State of the Portal Art Andreas Hartmann 18.06.2010 2 Portalserver meets SOA: State of the Portal Art 18.06.2010 Agenda Baukastensystem zur Integration

Mehr

M i t a r b e i t e r p r o f i l (Stand: August 09)

M i t a r b e i t e r p r o f i l (Stand: August 09) M i t a r b e i t e r p r o f i l (Stand: August 09) KB-M1-Java134 Schwerpunkte / Spezialisierung: Softwareentwickler Java / J2EE Swing JSF JavaScript Verfügbarkeit (skalierbar): Ab sofort Ausbildung:

Mehr

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule

Mehr

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

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz Facelets Faclets Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz (COMMON DEVELOPMENT AND DISTRIBUTION LICENSE) Von Jacob

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

JBoss 7 als Plattform für hochverfügbare Anwendungen

JBoss 7 als Plattform für hochverfügbare Anwendungen JBoss 7 als Plattform für hochverfügbare Anwendungen Orientierungspunkt 04/2013 24.05.2013, OIO Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld Java EE seit 1998 Konzeption und Realisierung

Mehr

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert Komponentenbasierte Softwareentwicklung mit PHP Oliver Schlicht - bitexpert Überblick 1. Was ist eine Komponente? 2. Entwicklung eines Beispieldesigns 3. Dependency Injection 4. DI Container Garden 5.

Mehr

Dirk Reinemann Working Student Sales Consulting

Dirk Reinemann Working Student Sales Consulting JDeveloper 12c in 30 Minutes Dirk Reinemann Working Student Sales Consulting Program Agenda 1. Integrated Development Environment 2. Java Development 3. Web Development 4. Team Development 5. Application

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt -

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de. 26.11.2000 (c) Michael Behrendt - Herzlich Willkommen! Mit Java ins Web - eine praxisnahe Übersicht 1 Wer bin ich? Michael Behrendt, 21, Nürnberg kurzer Lebenslauf: 1991 Erster Rechner: Commodore C128 1995 Ausbildung zum Datenverarbeitungskaufmann

Mehr

Bausteinorientierte Modellierung von Frontend- Systemen

Bausteinorientierte Modellierung von Frontend- Systemen Bausteinorientierte Modellierung von Frontend- Systemen Transformation der Vertriebssysteme einer führenden deutschen Retail-Bank Bamberg, 16.03.12 Senacor Technologies AG Agenda Ausgangssituation und

Mehr

3 Wicket-Überblick. 3.1 Aufbau einer Wicket-Anwendung

3 Wicket-Überblick. 3.1 Aufbau einer Wicket-Anwendung 33 3 Wicket-Überblick In den folgenden Abschnitten werden die Bausteine von Wicket vorgestellt, die das Wicket-Programmiermodell bilden. Es wird gezeigt, welche Abstraktionen Wicket gegenüber der direkten

Mehr

Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009

Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009 Praxisbuch Wicket Professionelle Web-2.0-Anwendungen entwickeln von Michael Mosmann 1. Auflage Hanser München 2009 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41909 4 Zu Leseprobe schnell

Mehr

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

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

Online Banking System

Online Banking System Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper

Mehr

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt Server-centric vs. Client-centric Web Applications BITKOM Software Summit 2014, Frankfurt Alexander Rühl SyroCon Competence Lead M2M & Web Applications Diplom-Informatiker (FH) 10 Jahre bei SyroCon und

Mehr

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Dipl.

Mehr

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE Business Components for Java (BC4J) Marco Grawunder ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application

Mehr

Existierende Systeme I Bibliotheken & Frameworks

Existierende Systeme I Bibliotheken & Frameworks Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen Existierende Systeme I Bibliotheken & Frameworks Von Christian Schneider Paderborn, den 18.06.2004 Übersicht Motivation Dynamische

Mehr

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

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015 MICHAEL RÜGER Abschluss Diplom Fach Informatik Geburtsjahr 1985 Profil-Stand April 2015 Triona Information und Technologie GmbH Wilhelm-Theodor-Römheld-Str. 14 55130 Mainz Fon +49 (0) 61 31 9 21-122 Fax

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Web-Anwendungen mit Arquillian testen

Web-Anwendungen mit Arquillian testen Michael Kotten open knowledge @michaelkotten @_openknowledge Wozu denn testen? Ich mach doch keine Fehler! Wozu denn testen? > Notwendig bei komplexen Systemen > Sicherung von > Qualität > Funktionalität

Mehr

Die Technologie der Mumie

Die Technologie der Mumie Die Technologie der Mumie Tilman Rassy Ruedi Seiler Technischen Universität Berlin Fakultät II Mathematik und Naturwissenschaften Institut für Mathematik Vortrag an der ETH Zürich 27. Juli 2006 1 Design-Prizipien

Mehr

Dokumentation Externe Anzeige von Evento Web Dialogen

Dokumentation Externe Anzeige von Evento Web Dialogen Dokumentation Externe Anzeige von Evento Web Dialogen Autor: Roger Guillet Telefon 058 404 83 57 E-Mail roger.guillet@crealogix.com CREALOGIX Evento Postfach 112, Baslerstrasse 60 CH-8066 Zürich Telefon

Mehr

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Testen von graphischen Benutzeroberflächen. 26. Juni 2013 Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien

Mehr

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

WebObjects. Dirk Schober Senior Software Trainer AppleServices EMEA. Was ist eigentlich ein Application Server?

WebObjects. Dirk Schober Senior Software Trainer AppleServices EMEA. Was ist eigentlich ein Application Server? Objects Dirk Schober Senior Software Trainer leservices EMEA Fragen über Fragen Was ist eigentlich ein lication? Welche lication gibt es sonst noch? Was kostet sowas? Wer setzt denn eine solche Technologie

Mehr

GIT. magazin. JAVA Mag. Android-Konzepte. No REST for the Wicket. Arquillian CD-INHALT. Java Architekturen SOA Agile »52

GIT. magazin. JAVA Mag. Android-Konzepte. No REST for the Wicket. Arquillian CD-INHALT. Java Architekturen SOA Agile »52 JAVA Mag inkl. CD CD-INHALT Mobile Welten: Java ME und das»94 magazin Java Architekturen SOA Agile inspectit Java-Performanceanalyse»12 Deutschland 8,50 Österreich 9,80 Schweiz sfr 16,80 1.2011 Scala-Tutorial

Mehr

Einleitung. Gliederung. Struts-Framework. Model-View-Controller-Pattern

Einleitung. Gliederung. Struts-Framework. Model-View-Controller-Pattern Struts-Framework Model-View-Controller-Pattern STRUTS Open Source Web Application Framework Unterprojekt des Apache Jakarta Basierend auf: JSP, Servlets, JavaBeans Model View Controller Architektur Dipl.-Inf.

Mehr

Zukunft der Oracle Applikationsentwicklung: ADF & XDB

Zukunft der Oracle Applikationsentwicklung: ADF & XDB DOAG Regionaltreffen München/Südbayern, 2003 Trivadis GmbH Zukunft der Oracle Applikationsentwicklung: ADF & XDB Markus Heinisch 1 Agenda! Tägliches Brot! Oracle Application Development Framework! DEMO

Mehr

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen

InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen InQMy Application Server Flexible Softwareinfrastruktur für verteilte Anwendungen IN-Q-My Title Company (Name) / 1 Agenda Firmenübersicht ebusiness Evolution InQMy Application Server Architektur Zusammenfassung

Mehr

Webinar: Einführung in ICEfaces

Webinar: Einführung in ICEfaces Webinar: Einführung in ICEfaces präsentiert von VOIP-Audio ist standardmässig aktiviert Alternatives Einwählen: +41 (0) 415 0008 65 ICESOFT TECHNOLOGIES INC ICESOFT Donnerstag, TECHNOLOGIES 26. März 2009

Mehr

Legacy Web-Apps mit AngularJS pimpen

Legacy Web-Apps mit AngularJS pimpen Legacy Web-Apps mit AngularJS pimpen Über uns Jan Blankenhorn und Philipp Burgmer Software Developers w11k.com / thecodecampus.de > Esslingen / Stuttgart Schulungen, Projekt-Kickoff Consulting, Softwareentwicklung

Mehr

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen? C O C O O N ein Web-Framework der Apache Software Foundation http://www.apache.org Wo ist Cocoon in die Apache Projekte einzureihen? Apache Server sehr leistungsfähiger HTTP-Server Tomcat Server Referenzimplementierung

Mehr

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI

Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI Servlet II Inhalt: Konfiguration: web.xml ; server.xml Workflow: Weiterleitung von Requests Lektion II-IV Lektion V-VI 3-1 1. Grundlagen 2. Servlets 3. JSP 4 1.1. JAR Files 4 1.2. TCP/IP, Sockels 4 1.3.

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Frank Szilinski esentri software GmbH Karlsruhe Schlüsselworte: ADF, Java, JEE, JSF, Grails, Spring, Open Source, Rapid Application Development

Mehr

Von SAP R/3 zu mysap ERP und NetWeaver

Von SAP R/3 zu mysap ERP und NetWeaver Von SAP R/3 zu mysap ERP und NetWeaver Bremerhaven 06.05.2006 T4T Bremerhaven 1 Inhaltsverzeichnis 1. Motivation für SAP NetWeaver 2. SAP R/3 mysap ERP und SAP Business Suite 3. Application Platform T4T

Mehr

Kategorisierung von Web-Frameworks im Java-Umfeld

Kategorisierung von Web-Frameworks im Java-Umfeld Unüberschaubare Auswahl im Alltag 1/11/2011 Seite 2 Unüberschaubare Auswahl bei Web-Frameworks 1/11/2011 Seite 3 Viele gute Artikel in Fachzeitschriften 1/11/2011 Seite 4 Flame War unerwünscht, aber überall

Mehr

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase.

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG. www.agentbase. Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web 19.11.2015, Bilster Berg Drive Resort Michael Steinhoff, agentbase AG www.agentbase.de 1 Agenda Grundlagen Modernisierung Möglichkeiten mit Domino

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Artikelserie zu Application Development Framework (ADF) Teil 4: Entwicklung von Benutzeroberflächen mit ADF Faces

Artikelserie zu Application Development Framework (ADF) Teil 4: Entwicklung von Benutzeroberflächen mit ADF Faces Artikelserie zu Application Development Framework (ADF) Teil 4: Entwicklung von Benutzeroberflächen mit ADF Faces Autor: Detlef Müller, ORACLE Deutschland GmbH Der letzte Teil der Artikelserie über das

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen JavaServerPages als dynamische View einer MVC Anwendung Prof. Dr. Nikolaus Wulff Von Servlets zu JSP's Die Erstellung der HTML Ausgabe in einem Servlet endete in uneffektiven

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

Mehr

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

5. Übung zu Software Engineering

5. Übung zu Software Engineering 5. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Desktop-Anwendung AUFGABE 13 1 Schichtenarchitektur Strukturierung komplexer Anwendungen Anforderungen: Flexibilität, Robustheit, Wartbarkeit,

Mehr

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2014. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2014 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG 05.07.2012 Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG Agenda 01 Einführung 02 Architektur 03 Lösungen 04 Zusammenfassung 2 2 Agenda 01 Einführung 02

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

World Wide Mining mit dem AppDev Studio 2.0

World Wide Mining mit dem AppDev Studio 2.0 World Wide Mining mit dem AppDev Studio 2.0 Frank Rosner Technical Product Management Präsentationsüberblick AppDev Studio die SAS Entwicklungsumgebung Java erobert den Server Andere Möglichkeiten Anwendungsbeispiel:

Mehr

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen.

Praktikum Spring MVC. 1.2. Spring integrieren In der pom.xml Einträge für Spring hinzufügen. Praktikum Spring MVC Aufgabe 1 Im ersten Teil des Praktikums wird eine Test Webapplikation entwickelt, anhand derer einige Konzepte von Spring nachvollzogen werden können. Dabei handelt es sich um Spring

Mehr

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale

Mehr