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

10
Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] 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 )

Transcript of Struts 2 – Das Imperium schlägt zurück? - OIO GmbH

1

Orientation in Objects GmbH

Weinheimer Str. 6868309 Mannheim

[email protected]

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

[email protected]

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?