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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

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

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

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

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

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

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

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

GWT Google Web Toolkit. by PRODYNA AG 2007 www.prodyna.de

GWT Google Web Toolkit. by PRODYNA AG 2007 www.prodyna.de GWT Google Web Toolkit Die Referenten Michael Schmut Senior IT Consultant Java EE Architekturen Project Management Papick Taboada Software Architekt Java EE Architekturen Open-Source-Technologien 2 Agenda

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

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

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

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

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

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

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

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

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

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

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

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

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen Sommersemester 2013 Michael Theis, Lehrbeauftragter Java EE Spezifikation definiert ein Programmiermodell für Applikationen die Eigenschaften

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

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

STRUTS - Einführung Kurs am Rechenzentrum Universität Stuttgart 16.02.2005

STRUTS - Einführung Kurs am Rechenzentrum Universität Stuttgart 16.02.2005 STRUTS - Einführung Kurs am Rechenzentrum Universität Stuttgart 16.02.2005 Was ist ein Web Applikation Framework? STRUTS Features MVC-Pattern Architektur und Komponenten Tag Libraries Konfiguration Links

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

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

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

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

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

Mitarbeiterprofil PG0225

Mitarbeiterprofil PG0225 Kurzprofil Senior - PHP/JAVA Entwickler für Backend sowie (Web)-Frontend ist ein ideenreicher Entwickler, der komplexe Sachverhalte schnell erfasst und Softwarelösungen konzeptionell sicher und zeiteffizient

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

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

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks. DRUPAL 7 AJAX FRAMEWORK Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks AJAX Beispiele Fragen: Gibt es jemanden der noch gar keine Erfahrungen

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

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

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

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

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

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

Mehr

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1 Groovy on Grails Informatik-Seminar WS06/07 Alexander Treptow Groovy on Grails Alexander Treptow (minf2622) 1 Übersicht Groovy on Grails Projektstruktur Controllers Views & Layout Dynamic Tag Libraries

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

M i t a r b e i t e r p r o f i l (Stand: Juni 10)

M i t a r b e i t e r p r o f i l (Stand: Juni 10) M i t a r b e i t e r p r o f i l (Stand: Juni 10) KB - M1 - Java132 Schwerpunkte / Spezialisierung: Java Entwickler und Architekt Java EE OpenSource Webanwendungen SOA Verfügbarkeit (skalierbar): Ab Juli

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

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components.

A Java EE component is a self-contained functional software unit that is assembled into a Java EE. communicates with other components. Begriffsdefinitionen Java EE A Java EE component is a self-contained functional software unit that is assembled into a Java EE application with its related classes and files and that communicates with

Mehr

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design Design im Softwareentwicklungsprozess traditionell Geschäftsprozessmodellierung Requirements Engineering Analyse Design Implementierung Tests Design 1 test-getrieben: nur 1. Design top-down hier testgetrieben

Mehr

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119

3... SAP NetWeaver Developer Studio: Schritt für Schritt zur Beispielanwendung... 119 1... SAP NetWeaver... 25 1.1... Plattform für die Enterprise Service-Oriented Architecture... 26... 1.1.1... Enterprise-SOA-Definition... 26... 1.1.2... Vorteile einer serviceorientierten Architektur...

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

Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET, ADF, Forms und SOA

Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET, ADF, Forms und SOA Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Architecture Blueprints

Architecture Blueprints Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach Architecture Blueprints Ein Leitfaden zur Konstruktion von Softwaresystemen

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

Mehr

Modell 2 und JSF. JSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces

Modell 2 und JSF. JSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces Modell 2 und JSF JSP und Modell 1 MVC und Modell 2 Java Web Frameworks und Struts Java Server Faces JSP ein mächtiges Werkzeug! Client JSP Bean Fachlogik JSP Eine JSP empfängt Benutzer-Anfragen, "Requests"

Mehr

5 Frontend und GUIs. Anwendungssoftware. Frontend aus entwickelt. Oberfläche muss Teil der Netzwerkintelligenz. Holistic Development

5 Frontend und GUIs. Anwendungssoftware. Frontend aus entwickelt. Oberfläche muss Teil der Netzwerkintelligenz. Holistic Development Kap05.fm Seite 115 Dienstag, 22. April 2003 2:32 14 5 Frontend und GUIs Während früher die Gestaltung der Benutzeroberflächen einer Software als nachrangig eingestuft wurde, spielt die Leistungsfähigkeit

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung XII. Vergleich Server-Plattformen mailto:wpr@gruner.org 1 Technologien Perl/CGI Einsatzgebiete: Kleine Websites, semiprofessioneller Bereich Pro's: Plattform/Serverneutralität

Mehr

Crashkurs http - CGI/Servlets(JSF) - Viewer

Crashkurs http - CGI/Servlets(JSF) - Viewer jkrueger(at)cebitec.uni-bielefeld.de http TCP Referenzmodell : ApplicationLayer zustandloses Protokoll textbasiert für Hypertext entwickelt ist es nicht darauf beschränkt Nachrichten : Request : Client

Mehr

Java Batch Der Standard für's Stapeln

Java Batch Der Standard für's Stapeln Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

I m Blue JSF/RichFaces im WebSphere Portal Server

I m Blue JSF/RichFaces im WebSphere Portal Server I m Blue JSF/RichFaces im WebSphere Portal Server Werner Eberling, MATHEMA Software GmbH werner.eberling@mathema.de Ralph Henze, Sparda-Datenverarbeitung eg ralph.henze@sdv-it.de www.mathema.de 1 Sparda-Datenverarbeitung

Mehr

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013 GTUG Java Arbeitskreis Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung September 2013 Jürgen Depping CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Agenda Was ist OmnivoBase?

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen

OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen Michael Chytracek SOFTWAREENTWICKLUNG mchsnapconsult.com snapconsult.com Lukas Greilinger SOFTWAREENTWICKLUNG lgrsnapconsult.com

Mehr

Softwareentwicklung mit JAVA EE

Softwareentwicklung mit JAVA EE Softwareentwicklung mit JAVA EE Portlets Was sind Portale? Aufgaben von Portalsystemen Integration unterschiedlicher Anwendung Schwerpunkt liegt auf der Präsentationsebene Ermöglichung personalisierter

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen MVC, JSP, Custom und Core Tags Darstellungsschicht Anwendungsschicht Datenschicht Architektur Browser Applikationsserver mit Servlet-Container DB-Server Web2-2

Mehr

Created by Angelo Maron

Created by Angelo Maron Domain Driven Design in Ruby on Rails Created by Angelo Maron Wer bin ich? Angelo Maron Sofware-Entwickler seit ca. 7 Jahren (Ruby on Rails) bei AKRA seit 2,5 Jahren Xing: https://www.xing.com/profile/angelo_maron

Mehr

09/1998-06/2001 Aspirantur Staatliche Universität, Omsk Spezialisierung: Geometrie und Topologie

09/1998-06/2001 Aspirantur Staatliche Universität, Omsk Spezialisierung: Geometrie und Topologie Dmitry Lakhin Steinstr. 70 81667 München Tel.: 089/ 43-74-90-17 Mobil.: 0177/ 42-34-738 E-Mail: lakhin@swissmail.org Persönliches Geburtsdatum 27.04.1976 Geburtsort Omsk, Russland Staatsangehörigkeit Russe

Mehr

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen CaptchaAd mit Java Stand: 26. Juli 2011 Sehr geehrter Nutzer von CaptchaAd! Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen

Mehr

Integrating Architecture

Integrating Architecture Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Vorstellung und Einführung Ein beliebiger Zeitpunkt in einem beliebigen Unternehmen

Mehr

Website Performance Optimierung

Website Performance Optimierung Website Performance Optimierung Fokus: Frontendoptimierung form4 GmbH & Co. KG Jan-Henrik Hempel Telefon: 030.278784-13 E-Mail: jan-henrik.hempel@form4.de Website Performance Optimierung Überblick 1 Relevanz

Mehr

Application Development Framework (ADF) Teil 1: Überblick Autor(en): Kersten Mebus, Jürgen Menge Oracle Deutschland GmbH

Application Development Framework (ADF) Teil 1: Überblick Autor(en): Kersten Mebus, Jürgen Menge Oracle Deutschland GmbH Application Development Framework (ADF) Teil 1: Überblick Autor(en): Kersten Mebus, Jürgen Menge Oracle Deutschland GmbH Die Entwicklung von Java/J2EE Anwendungen wird durch den Einsatz von Design Pattern

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm Beispiel Ein

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-Java-133 Schwerpunkte / Spezialisierung: Softwareentwickler und Trainer Verfügbarkeit (skalierbar): Ab sofort Ausbildung: Diplom Kaufmann Geburtsjahr:

Mehr

4 Business Server Pages Grundlagen

4 Business Server Pages Grundlagen 27 4 Business Server Pages Grundlagen Wie bei zahlreichen Programmier-Tutorial, so wollen wir auch bei den Business Server Pages zunächst einfache Beispieldialoge erstellen, um die Grundlagen der Web-Dialogprogrammierung

Mehr

Spring Surf Wiederkehr Patrick Consultant 25.1.2011

Spring Surf Wiederkehr Patrick Consultant 25.1.2011 Spring Surf Wiederkehr Patrick Consultant 25.1.2011 Inhaltsverzeichnis 1. Spring Surf von Alfresco... 3 1.1 Was ist Spring Surf und was kann es... 3 1.2 Was ist Spring Surf nicht... 3 2. Einführung Alfresco...

Mehr