Struts 2 – Das Imperium schlägt zurück? - OIO GmbH
Transcript of Struts 2 – Das Imperium schlägt zurück? - OIO GmbH
1
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Tobias Kieninger <[email protected]>
Struts 2 –Das Imperium schlägt
zurück?
© 2009 Orientation in Objects GmbH
Java, XML und Open Source seit 1998
Struts 2 – Das Imperium schlägt zurück? 2
) Competence Center)) Object Rangers )
• Schulungen, Coaching, Weiterbildungsberatung, Train & Solve-Programme• Methoden, Standards und Tools für die Entwicklung von offenen, unternehmens- weiten Systemen
• Unterstützung laufender Java Projekte
• Perfect Match• Rent-a-team• Coaching on the project• Inhouse Outsourcing
• Schlüsselfertige Realisierung von Java Software
• Individualsoftware• Pilot- und Migrationsprojekte• Sanierung von Software• Software Wartung
) Software Factory )
2
© 2009 Orientation in Objects GmbH Struts 2 – Das Imperium schlägt zurück? 3
Tobias Kieninger
Beratung
Projekte
Training
Im a pogramar
Iam a programer
I'm a programor
I write code
© 2009 Orientation in Objects GmbH
Gliederung
• Warum wir hier sind• Erster Kontakt• Migration impossible?• Resümee
Struts 2 – Das Imperium schlägt zurück? 4
3
© 2009 Orientation in Objects GmbH Struts 2 – Das Imperium schlägt zurück? 5
Struts 1
• Historie– Struts 1.0.2 Feb 2002– Struts 1.1 Juni 2003– Bis heute Struts 1.3.10 (Dez 2008)
• Vorteile– Lange Zeit defacto Standard– Grosse Community und flächendeckender Einsatz
• Nachteile– ActionForms sind unbeliebt– Zu wenig Pojofiziert– Wird oft als „Tod“ bezeichnet– Actions kaum testbar
© 2009 Orientation in Objects GmbH Struts 2 – Das Imperium schlägt zurück? 6
Struts 2 – Ein junges altes Framework
• Kombination aus Struts und OpenSymphony Webwork
• Voraussetzungen:– Servlet API 2.4– JSP API 2.0– Java 5
• Aktuelle Version 2.1.16– Jan 2009
4
© 2009 Orientation in Objects GmbH Struts 2 – Das Imperium schlägt zurück? 7
Verbesserungen in Struts 2
• POJOs, juhu!• Mehr Flexibiltät bei der Ausgabe• Gute Standardeinstellungen• Java 5 Annotations sind möglich• Die unbeliebten ActionForms sind weg• Stateful Checkboxes• Einfache PlugIns• Guter AJAX Support• Verbesserte Testbarkeit• …
© 2009 Orientation in Objects GmbH Struts 2 – Das Imperium schlägt zurück? 8
Servlet Container
Lifecycle Struts 1
JSP
ActionServlet Action
FormBean
Struts1 Taglibs
Business LogikRequest
ResponseBean
BeanBean Bean
5
© 2009 Orientation in Objects GmbH Struts 2 – Das Imperium schlägt zurück? 9
Servlet Container
Lifecycle Struts 2
ViewJSP
Struts 2 FilterD
ispatcher
Action
Struts2 Tags
Business LogikRequest
Response
Interceptor
Value Stack
Action
Model
…
© 2009 Orientation in Objects GmbH
Struts 2 - Action
public class LoginAction extends Action { private String username; private String password;
public String execute() throws Exception { if (isInvalid(...)) return INPUT; return SUCCESS; }
public void getUsername() { ...} public void setUsername(String username) { ...} ...
}
Struts 2 – Das Imperium schlägt zurück? 10
6
© 2009 Orientation in Objects GmbH
Struts 2 - struts.xml
Struts 2 – Das Imperium schlägt zurück? 11
© 2009 Orientation in Objects GmbH
Struts 2 - View
Struts 2 – Das Imperium schlägt zurück? 12
7
© 2009 Orientation in Objects GmbH
Validierung
Struts 2 – Das Imperium schlägt zurück? 13
© 2009 Orientation in Objects GmbH
Interceptoren
• Komponente wird vor und nach der Verarbeitung aufgerufen
• Muss threadsave sein
• Wird verwendet für– Validierung– Doppelten Submit verhindern– Authentifizierung– Typkonvertierung– Session Handling– Debugging– FileUpload– ExcecAndWait– …
Struts 2 – Das Imperium schlägt zurück? 14
FilterDispatcher
Interceptor
…
8
© 2009 Orientation in Objects GmbH
Was isch denn hierpassiert?
Struts 2 – Das Imperium schlägt zurück? 15
© 2009 Orientation in Objects GmbH
Migration possible?
• Ist die Migration zu Struts 2– Einfach?– Sinnvoll?
• Strategien spärlich– Struts 2 parallel zu Struts 1– Schreib es neu!– Nimm den “conversion wizard”…
• Migration Tutorials sind ergiebiger– Migration by Ted Husted
Quelle: http://struts.apache.org/2.0.11.1/docs/migration-strategies.html
Struts 2 – Das Imperium schlägt zurück? 16
9
© 2009 Orientation in Objects GmbH
Und nun?
• Webframeworkwahl insgesamt schwierig• Stellenausschreibungen monster.de zum 21.04.2009
– Struts: 119– JSF: 102– Struts 2: 0
• Viele neue Möglichkeiten mit Struts 2– Für Struts 1 Entwickler ein Schritt nach vorn
• Noch zu wenig Dokumentation• Ist Struts 2 das Richtige für Sie?
– Welcher Typ Anwendung wird benötigt?– Welche Features werden benötigt?– Vorkenntnisse der Entwickler?– Wie entwickelt sich die Community?
Struts 2 – Das Imperium schlägt zurück? 17
© 2009 Orientation in Objects GmbH
Links
• Struts 2http://struts.apache.org/2.0.11.1/index.html
• Migrating to Struts 2 (Ted Husted)http://www.strutsuniversity.org/Migrating%20Tutorial
• Migrating Applications to Struts 2 (Ian Roughley)http://www.infoq.com/news/migrating-struts2
Struts 2 – Das Imperium schlägt zurück? 18
10
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Tobias Kieninger <[email protected]>
Vielen Dank für IhreAufmerksamkeit !
© 2009 Orientation in Objects GmbH
Mehr von OIO zum Thema...
• Struts Consulting– http://www.oio.de/beratung-consulting/open-source-software/java-
frameworks/struts-consulting.htm
• Artikel: Struts vs. Cocoon– http://www.oio.de/m/mvc/index.htm
• Vortrag: Struts oder JavaServer Faces - Part 1– http://www.oio.de/m/konf/jax2005/JSF_WA4.pdf
• Vortrag: Struts oder JavaServer Faces - Part 2– http://www.oio.de/m/konf/jax2005/JSF_WA5.pdf
Struts 2 – Das Imperium schlägt zurück?