Ndo 3. Aufbruch zu neuen Ufern Migration bestehender J2EE Anwendungen. Jens Schumann
|
|
- Ferdinand Salzmann
- vor 8 Jahren
- Abrufe
Transkript
1 Ndo 3 January 21-25, 2008, Munich, Germany ICM - International Congress Centre Munich Migration bestehender J2EE Anwendungen Jens Schumann
2 - Migration bestehender J2EE Anwendungen - OOP 2008 Jens Schumann - CTO Development - Motivation Stellen Sie sich vor wir schreiben das Jahr 2008 und das Tagesgeschäft besteht immer noch aus Struts Actions, JSP Snippets und Request Parametern XML Deskriptoren Remote, Home, Local und LocalHome Interfaces Ausschließlich manuell geschriebenen Persistence Code statt Visuellen Komponenten, Events und automatischem Formular/Binding Einfachen Java Klassen und Annotationen Komfortablem O/R Mapping! Aber wie?! 1
3 Agenda Die nächsten 90 Minuten Schichtenweise Analyse der Migration der Persistenzschicht Businessschicht Visualisierungsschicht Entwurf Vorgehensmodell Migration Anwendungen mit Web Oberfläche Anwendungen ohne Web Oberfläche Identifikation von Risiken Identifikation von Migrationsballast Vermittlung von Erfahrungen / Best-Practices Klassische Mehrschichtarchitektur 2
4 Klassische J2EE 1.4 Mehrschichtarchitektur Typischer J2EE 1.4 Anwendungsstack* *Ausgewählte Pattern 3
5 Typischer J2EE 1.4 Anwendungsstack* Szenario A Szenario B Struts Struts Java SE EJB 2.x Java SE EJB 2.x *Ausgewählte Pattern Moderner Java EE Anwendungsstack Szenario A Szenario B JSF JSF EJB 3.x Springframework JPA JPA/ Hibernate 4
6 Ein wenig Theorie Migrationspfad A: EJB 2.x nach EJB 3.0 EJB 3.0 Container müssen EJB 2.x unterstützen Migrationspfad B: EJB 2.x nach Spring Mischbetrieb in einem EJB 2.x Container möglich Migrationspfad C: JSP/Servlet nach JSF JSF kann JSP nutzen, ist jedoch vollständig inkompatibel Migrationspfad D: Struts nach JSF Struts bietet JSF Integration - Struts-Faces Integration Library Weiterhin Struts Abhängigkeit Ein Blick zurück - EJB 2.x Persistence CMP 2.0 Entity Bean public abstractclass EmployeeBeanimplements EntityBean { publicabstractinteger getempno(); publicabstract void setempno(integer number); public abstract String getfirstna me(); public abstract void setfirstname(string na me); publicinterface E mployeehome extends EJBHo me { public E mployee create( ) throws CreateExeption, RemoteException; public CollectionfindByName(String name) ; publicinterface Employee extends EJBObject { publicinteger getempno()throws RemoteException; publicvoid setempno(integernumber) throws RemoteException; <enterprise-beans> <entity> <description> <display-name> <ejb-name> <home> <re mote> <ejb-class> <cmp-field> <query> 5
7 Ein Blick nach vorn - Persistence via O/R Mapping Java Persistence API vs. Hibernate O/R Mapping TAB_EMPLOYEE ) public class Employee { private int FIRST_NA M E ) private String firstname; publicintgetempno(){; public void setempno(int num ber) {; O/R Mapping mit Hibernate public class Employee { private int employeenumber; private String firstname; publicintgetempno(){; public void setempno(int num ber) {; <hibernate-mapping> <class table= TAB_E M PLOY EE" name= E mployee > <property name="firstname" access="field" column= FIRST_NA ME"/> </class> </hibernate-mapping> Migration der Persistence Schicht Ideen?! 6
8 Migration der Persistence Schicht Persistente Objekte sind konkrete Klassen Abstrakte EJB-Methoden -> konkrete POJO Methoden Local/Remote Home interface obsolete Local/Remote interface optionales Business Interface Entfernung des Basisinterface für Entitäten Entfernung Lebenszyklusmethoden einer Entität Migration der Persistence Schicht - Methoden Migration getprimarykey() => Attribute Getter Methode getejbobject() => this ejbcreate() => Konstruktur ejbremove() oder Hibernate Interceptor ejbselect() => Select im DAO findbyxyz() => Query im DAO Weitere Methoden => Nutzen prüfen 7
9 Migration der Persistence Schicht - Achtung Featureumfang heutiger O/R Mapper deutlich größer als CMP (und BMP) Vererbungshierarchien und Mapping Modelle Bidirektionale Mappings Query Language Persistente Datentypen Dynamische Berechnung Selektionsgraphen Folge 1:1 Migration EJB 2.x Persistence führt meist zu limitierten Objektmodell Trotz Migration weiterhin keine tragfähige Basis Ein Blick zurück - Business Logik in EJB 2.x Stateless Session Bean public class HumanResourcesBeanimplements SessionBean { public void ejbcreate() { public voud ejbre move() { publicvoid ejbactivate() { publicvoid ejbpassivate() { publicvoid setsessioncontext(sessioncontextctx) { publicvoid hire(person person) { public voidfire(employee employee) { publicinterface Hu manresourcesho me extends EJBLocalHome { public E mployee create( ) throws CreateExeption; publicinterface HumanResources extends EJBLocalObject{ publicvoid hire(person person); public voidfire(employee employee); <enterprise-beans> <session> <description> <display-name> <ejb-name> <local-home> <local> <ejb-class> <session-type> 8
10 Ein Blick nach vorn - Business Logik EJB 3.0 oder Spring Business Logik in EJB 3.x Business Logik in Spring public interface HumanResources { publicvoid hire(person person); public voidfire(employee publicclass Hu manresourcesbean implements Hu manresources { publicvoid hire(person person) {; public voidfire(employee employee) {; publicclass Hu manresourcesbean implements Hu manresources { publicvoid hire(person person) {; public voidfire(employee employee) {; <beans> <bean id= hrbean" class= Hu manresourcesbean /> </beans> Migration der Business Logik Schicht Ideen?! 9
11 Migration der Business Logik Schicht Beans benötigen (weiterhin) ein Business Interface Remote als auch local möglich Businesslogik in einfache Klassen verschieben Entfernung Basisinterfaces Entfernung leerer oder unbenutzter Lebenszyklus Methoden Gegebenenfalls Callback Annontations benutzen Nie wieder RemoteException im Business Interface Migration der Business Logik Schicht - Achtung EJB 3.0 = schwergewichtige Komponenten Transactions (Default Required) Security (None) Spring Beans = einfache Java Objekte 10
12 Ein Blick zurück - Business Logik Schicht Interaktion mit EJB 2.x JNDI Lookup in EJB 2.x* InitialContext ctx = new InitialContext(); HumanResourcesHome hrhome = (HumanResourcesHome)ctx.lookup( ); Hu manresources hr = hrhome.create(); hr.hire( ) ctx.close(); *Ohne Exception Handling Ein Blick nach vorn - Business Logik Schicht Interaktion mit IoC Business Logik in EJB 3.x Business Logik in Stateless publicclass HrClient private HumanResources hr; public void foo() { hr.hire( ); publicclass HrClient { private HumanResources hr; public HrClient(HumanResources hr) { this.hr = hr; public void foo() { hr.hire( ); <beans> <bean id= hrclient" class= HrClient > <constructor-arg ref= hrbean /> </bean> </beans> 11
13 Migration der Business Logik Interaktion Ideen?! Migration der Business Logik Interaktion Vermeidung Service Locator Vermeidung Business Delegate Vermeidung Singleton Vermeidung Factories (zur Business Logik Interaktion) Nutzung des Container Inversion Of Control Mechanismus EJB Spring: Wiring durch Spring BeanFactory Achtung: JNDI Zugriff auf EJB 3.0 Beans JNDI Namen für EJB 3.0 Beans nicht standardisiert JNDI Namenszuweisung EJB 3.0 Beans nicht standardisiert 12
14 Ein Blick zurück - Web Entwicklung mit Apache Struts 1.x Hello World mit Struts publicclass Hello World Model { private String na me; public void setna me(string na me) { ; public String getgreeting() { publicclass HelloWorldAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequestrequest, HttpServletResponseresponse) throws Exception { taglib uri="/web-inf/struts-bean.tld" prefix="bean" %> taglib uri="/web-inf/struts-html.tld" prefix="html" %> <html:html locale="true"> <head> <title>hello World</title> </head> <body bgcolor="white"> <h2> <bean:write name= hm.greeting" />! </h2> </body> </html:html> String name = (String)request.getParameter( ); HelloWorldModel model= new HelloWorldModel(); model.setna me(na me); request.setattribute( hm, m o del); return mapping.findforward( sayhello ); Ein Blick nach vorn - Web Entwicklung mit JSF Hello World mit JSF publicclass HelloWorldBean { private String na me; public void setna me(string na me) { ; public String getname(){ <faces-config> <navigation-rule> <from-view-id>/inputna me.jsp</from-view-id> <navigation-case> <from-outcome>greeting</from-outcome> <to-view-id>/greeting.jsp</to-view-id> </navigation-case> </navigation-rule> <managed-bean> <managed-bean-name>hwbean</managed-bean-name> <managed-bean-class>hello WorldBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> taglib uri=" prefix="h" %> taglib uri=" prefix="f" %> <html> <head> <title>jsf Hello World!</title> </head> <body> <f:view> <h1>jsf Hello World</h1> <h:form id="helloform"> Dein Name <h:inputtext value="#{hw Bean.na m e" /> <h:com mandbutton action="greeting" value= Sage Hallo!" /> </h:form> </f:view> </body> </html> </faces-config> 13
15 Migration der Visualisierungsschicht Ideen?! Migration der Visualisierungsschicht - Problembereiche Unterschiede in GUI Framework Architektur JSP/Servlet/Struts HttpServlet Request / Response Abstraktion JSF Geschlossenes, eventbasiertes GUI Framework Gemeinsamkeiten GUI Frameworks Eventuell State in den Scopes Page, Request, Session und Application Eventuell Rendering Technologie Nutzung von JSP in JSF nicht empfohlen Folge: Starke Einschränkung einer sanften Migrationsstrategie 14
16 Migration der Visualisierungsschicht - Optionen Option A Einmalige Migration aller Webinhalte Voraussetzung Eingeschränkte Größe bzw. Komplexität der Web Anwendung Option B Stufenweise Migration von Webinhalten Orientierung an fachlich abgeschlossenen Bereichen Übergang zwischen Bereich durch Austausch von State Migration von Pattern Front Controller MVC Intercepting Filter Transfer Object Service Locator Session Façade Data Access Object 15
17 Migration von Pattern Ideen?! Migration von Pattern - Achtung Nahezu alle J2EE 1.4 Pattern sind überholt Grundsätzlich Einsatz/Migration eines jeden Pattern hinterfragen Beispiele weiterhin gültiger Pattern Data Access Object Intercepting Filter 16
18 Vorgehensmodell Migration Ideen?! Fazit Technische Migration ist möglich Persistence und Businessschicht unproblematisch Web Oberflächen bisweilen komplex Vorsicht vor nichttechnischen Randbedingungen Nahezu alle J2EE 1.4 Pattern sind ungültig O/R Mapping deutlich mächtiger als EJB 2.x CMP Empfehlung Einführung von klaren Schnittstellen (sofern nicht vorhanden) Stufenweise, sanfte Migration mit Hilfe der Schnittstellen Einfache Web Oberflächen Einmalige Migration - Big Bang Komplexe Web Oberflächen Stufenweise Migration, gegebenenfalls komplettes Re-Design einplanen 17
19 OOP Vielen Dank! Jens Schumann CTO Development OpenKnowledge GmbH Bismarckstr Oldenburg Tel.: +49 (441) info@openknowledge.de 18
Application Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrStruts 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
MehrWebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java
MehrEnterprise Java Beans
Enterprise Java Beans Die hohe Kunst der aromatischen Bohnenmischung oder Replikator: Einmal Kaffee, Brasilia Highland Blend, Heiß Motivation Bean = Komponente Datenbank Zielgruppe Kommerzielle Anwendungen
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
MehrSession 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
MehrClient/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung
Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)
MehrEs wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
MehrPraktikum 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:
MehrEJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND
Endlich ein POJO EJB 3.0 alles wird einfacher Referent:, eurolink SWITZERLAND Java EE 5 Über mich IT Consulting FH-Dozent Schwerpunkt J2EE / EJB Autor diverser Schulungsunterlagen Firmenschulungen Fachvorträge
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrWorkshop 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
MehrWorkshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk
Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit
MehrÜ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
MehrHibernate 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
MehrJ2EE-Praktikum. Enterprise JavaBeans Patterns. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg
J2EE-Praktikum Enterprise JavaBeans Patterns Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 Designmuster Sitzungsfassade Wertobjekte 2 Implementierungsmuster Geschäftsinterfaces
MehrJ2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, 10.-14.10.2005. Universität Freiburg, Germany
Enterprise JavaBeans Einführung Universität Freiburg, Germany Sommercampus, Freiburg, Germany, 10.-14.10.2005 Inhalt Allgemeines Motivation Rollen Aufbau einer EJB Arten von Beans Enterprise JavaBeans
Mehr11. Enterprise Java Beans Grundlagen der Programmierung II (Java)
11. Enterprise Java Beans Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
Mehr4.2 Workshop EJB. Entwicklung von EJB-Anwendungen
4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrSpring 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
MehrOWASP 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
MehrModel-Driven Development in der Praxis. mit objectif. Herzlich willkommen
Model-Driven Development in der Praxis mit objectif Herzlich willkommen Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in
Mehr5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System
5.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrErstellung 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
MehrBusiness 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
MehrHauptseminar Informatik. Java Web Frameworks Alexander Löser
Hauptseminar Informatik Java Web Frameworks 14.06.2002 Alexander Löser Gliederung Frameworks Model View Controller Struts Turbine Barracuda Expresso Fazit Hauptseminar Informatik: Java-Web-Frameworks (Alexander
MehrErfahrungen 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,
MehrErste 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?
MehrEnterprise Java Beans
silbergrau Consulting & Software GmbH Enterprise Java Beans Fachhochschule Hagenberg WS 2001 / 2002 Silbergrau Consulting & Software GmbH Dr. Andreas Erlach Inhaltsübersicht Application Server J2EE Architektur
MehrContexts and Dependency Injection. W3L AG info@w3l.de
1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation
MehrProgrammierung 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
MehrArchitektur des agimatec-validation Frameworks
Development : Implementierung Validierungskonzept (Dokumentation) This page last changed on Apr 03, 2008 by roman.stumm. Architektur des agimatec-validation Frameworks Generierung der Metainformationen
MehrSE2-10-Entwurfsmuster-2 15
Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen
MehrWiederholung: Beginn
B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrKonfiguration und Deployment einer hochverfügbaren ADF Anwendung
Beratung Software Lösungen Konfiguration und Deployment einer hochverfügbaren ADF Anwendung Markus Klenke Consulting TEAM GmbH Agenda Grundlagen Weblogic Cluster Entwicklung einer Hochverfügbaren ADF Applikation
MehrC 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
MehrJava Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
MehrScriptless JSP. Motivation. Expression Language (EL) JSP Standard Tag Library (JSTL)
Scriptless JSP Motivation Expression Language (EL) JSP Standard Tag Library (JSTL) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation: EL public class Car { public Engine getengine() {}
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrNext generation open source BPM JBoss jbpm 4. Java Forum Stuttgart 02.07.2009 bernd.ruecker@camunda.com
Next generation open source BPM JBoss jbpm 4 Java Forum Stuttgart 02.07.2009 bernd.ruecker@camunda.com Bernd Rücker / bernd.ruecker@camunda.com / 2 Guten Morgen Berater, Trainer, Coach Softwareentwickler
MehrJava Persistence API. Phillip Ghadir Oliver Tigges
Phillip Ghadir phillip.ghadir@innoq.com Oliver Tigges oliver.tigges@gmx.de Was wissen Sie in 45 Minuten? Wie man mit JPA entwickelt. Dass wir viele Eigenschaften von JPA ausgelassen haben. Dass Sie nicht
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrORACLE 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
MehrEJB jar.xml und Name Service (JNDI)
EJB jar.xml und Name Service (JNDI) Applikationsserver Prof. Dr. Ch. Reich rch@fh furtwangen.de http://www.informatik.fh furtwangen.de/~reich/appserver/index.html Beschreibung der Beans mit Deployment
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrDesign 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
MehrJava RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
MehrKomponenten & 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
MehrDas Model View Controller (MVC) Konzept
Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2
MehrGeschäftskomponenten mit EJB 3.1
Geschäftskomponenten mit EJB 3.1 Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Kurt Fastner Sommersemester 2012 Inhalt Was ist EJB Die verschiedenen EJB-Typen/Komponenten Applikationsserver,
MehrModerne Web- Anwendungen mit
Moderne Web- Anwendungen mit Oliver.Damm@akquinet.de September 2013 Web- Anwendungen mit Vaadin???
MehrEJB 3 - Erfahrungen aus der Praxis. Heiko W. Rupp
EJB 3 - Erfahrungen aus der Praxis Heiko W. Rupp heiko.rupp@redhat.com Agenda Background Kurzabriss Standard Erfahrungen aus der Praxis Umstieg von EJB 2 Neuentwicklung 2 Agenda Background Kurzabriss Standard
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrSoftwareentwicklung 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
MehrWebService in Java SE und EE
Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.
MehrSpring 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
MehrJava Webentwicklung (mit JSP)
Java Webentwicklung (mit JSP) SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 1 Inhalt 1 Zielsetzung... 1 2 Webprojekt mit Netbeans... 2 2.1 Webprojekt erstellen... 2 2.1.1 Neues Projekt... 2 2.2 Aufbau
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrJSP 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
MehrOERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt
OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted
MehrDie Alternative zum Web-Form Modell
Marc André Zhou Solution Architect www.dev -sky.net www.just -sp.net Die Alternative zum Web-Form Modell dotnet Cologne 03.05.2013 Agenda Web Forms vs. MVC ASP.NET MVC Features Web API ODATA Eine ASP.NET
MehrRails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de
Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrWarum 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
MehrFWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen
FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2018 Michael Theis, Lehrbeauftragter 2 Servlet API Websockets JSF JAX-WS JAX-RS JMS JAXB JSON-P JEE Enterprise Application
MehrJürgen Schwab, debis Systemhaus
Jürgen Schwab, debis Systemhaus 1 Komponenten - Markt VAA - Referenzmodell: eine komponentenorientierte Anwendungsarchitektur März 99 99 2 Die Voraussetzungen für einen Komponentenmarkt sind so gut wie
MehrKomponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
MehrProgrammiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs.
Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http:www.d120.de/vorkurs Aufgabenblatt 3 Du findest zur Bearbeitung dieses Aufgabenblatts zu einigen Aufgaben
MehrSchedulingund Thread-Ausführer
Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind
MehrProgrammierung 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,
MehrEs wird das Struts <html:options> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
MehrWEBAPPLIKATIONEN 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)
MehrFRISCHE POWER FÜR IHREN VERTRIEBSERFOLG. GANZ EINFACH! INTERAKTIVE TABLETBERATUNG
FRISCHE POWER FÜR IHREN VERTRIEBSERFOLG. GANZ EINFACH! INTERAKTIVE TABLETBERATUNG Die Beratung zu Finanz- und Versicherungsthemen ist komplex, langwierig und eintönig? NEIN, MACHEN SIE ES EINFACH! Wie
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrJava Persistence API 2.x. crud + relationships + jp-ql
Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.
MehrModel Driven Development im Überblick
Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,
MehrEin UI in zwei Welten - Controls in HTML5 und WPF. Timo Korinth
Ein UI in zwei Welten - Controls in HTML5 und WPF Timo Korinth Timo Korinth Lead Developer HTML5 bei maximago Zuvor.NET / WPF Entwicklung Warum überhaupt HTML5 und WPF? Was bedeutet Control-Entwicklung
MehrDatenverwaltung Darstellung Interaktion. WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Torsten Walter. 10.
Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen 10. Oktober 2005 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java Server Pages 3 Kataloge & Bestände Währungen & Geldbestände
MehrAspektorientierte Middleware Florian Wagner
Anwendungen der Aspektorientierung (5) Übersicht Middleware? Middleware-Concerns Java 2 Enterprise Edition AO Implementierung AOP & JBoss 2 mid dle ware (mĭd'l-wâr') n. Software that serves as an intermediary
MehrJava und XML 2. Java und XML
Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrRichard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr. Spring & Hibernate. Eine praxisbezogene Einführung HANSER
Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr Spring & Hibernate Eine praxisbezogene Einführung HANSER 1 Einleitung 1 1.1 Für wen ist dieses Buch? 1 1.2 Organisation des Buches
MehrObjektorientierter Systementwurf mit Java
Objektorientierter Systementwurf mit Java Seminar im Arbeitsbereich Technische Informatik (SoSe 2001) EJB-Design und Implementierung in der Praxis (Tobias Frech) Übersicht Design-Entscheidung Persistenz:
MehrJBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009
JBoss Seam Ein JEE 5 Webframework Jörg Wüthrich Infopoint, 4. Februar 2009 Inhalt Einführung Warum Seam? Zentrale Konzepte Demo Validierung Abschliessende Gedanken 04.02.2009 Infopoint - JBoss Seam - Jörg
MehrIBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung
In dieser Demo verwendet Alex die Visualisierungs- und Modellfunktionen von Rational Software Architect, um die Architektur der Anwendung zu betrachten und festzulegen, wie die Änderung Sofort kaufen bestmöglich
MehrDer 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.
MehrGATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008)
GATE General Architecture for Text Engineering Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) Überblick GATE Die Idee Die Architektur Was noch - JAPE / DIFF / GUK ANNIE Einige Beispiele
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
Mehr