Struts 2 – Das Imperium schlägt zurück?

Werbung
Struts 2 –
Das Imperium schlägt
zurück?
Orientation in Objects GmbH
Weinheimer Str. 68
68309 Mannheim
Tobias Kieninger
<[email protected]>
www.oio.de
[email protected]
Java, XML und Open Source seit 1998
) Software Factory )
) Object Rangers )
• Schlüsselfertige Realisierung
von Java Software
• Unterstützung laufender
• Individualsoftware
• Pilot- und Migrationsprojekte
• Sanierung von Software
• Software Wartung
• Perfect Match
• Rent-a-team
• Coaching on the project
• Inhouse Outsourcing
© 2009 Orientation in Objects GmbH
Java Projekte
) Competence Center)
• Schulungen, Coaching,
Weiterbildungsberatung,
Train & Solve-Programme
• Methoden, Standards und
Tools für die Entwicklung
von offenen, unternehmensweiten Systemen
Struts 2 – Das Imperium schlägt zurück?
2
1
Tobias Kieninger
Im a pogramar
Iam a programer
I'm a programor
I write code
Beratung
Projekte
Training
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
3
Struts 2 – Das Imperium schlägt zurück?
4
Gliederung
•
•
•
•
Warum wir hier sind
Erster Kontakt
Migration impossible?
Resümee
© 2009 Orientation in Objects GmbH
2
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?
5
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
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
6
3
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
…
Struts 2 – Das Imperium schlägt zurück?
© 2009 Orientation in Objects GmbH
7
Lifecycle Struts 1
Servlet Container
Request
ActionServlet
Action
Business Logik
Bean
Bean
Response
© 2009 Orientation in Objects GmbH
Bean
FormBean
JSP
Struts1 Taglibs
Bean
Struts 2 – Das Imperium schlägt zurück?
8
4
Lifecycle Struts 2
Servlet Container
Action
Interceptor
Response
Struts 2 FilterDispatcher
Request
View
Struts2 Tags
JSP
Business Logik
Action
Model
…
Value Stack
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
9
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) { ...}
...
}
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
10
5
Struts 2 - struts.xml
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
11
Struts 2 – Das Imperium schlägt zurück?
12
Struts 2 - View
© 2009 Orientation in Objects GmbH
6
Validierung
Struts 2 – Das Imperium schlägt zurück?
© 2009 Orientation in Objects GmbH
13
Interceptoren
• Komponente wird vor und nach der Verarbeitung aufgerufen
• Muss threadsave sein
• Wird verwendet für
© 2009 Orientation in Objects GmbH
Interceptor
Validierung
Doppelten Submit verhindern
Authentifizierung
Typkonvertierung
Session Handling
Debugging
FileUpload
ExcecAndWait
…
FilterDispatcher
–
–
–
–
–
–
–
–
–
…
Struts 2 – Das Imperium schlägt zurück?
14
7
Was isch denn hier
passiert?
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
15
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
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
16
8
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?
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
17
Links
• Struts 2
http://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
© 2009 Orientation in Objects GmbH
Struts 2 – Das Imperium schlägt zurück?
18
9
Vielen Dank für Ihre
Aufmerksamkeit !
Tobias Kieninger
<[email protected]>
Orientation in Objects GmbH
Weinheimer Str. 68
68309 Mannheim
www.oio.de
[email protected]
Mehr von OIO zum Thema...
• Struts Consulting
–
http://www.oio.de/beratung-consulting/open-source-software/javaframeworks/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
–
© 2009 Orientation in Objects GmbH
http://www.oio.de/m/konf/jax2005/JSF_WA5.pdf
Struts 2 – Das Imperium schlägt zurück?
10
Herunterladen