1 / 36

Struts: An Insiders View

Struts: An Insiders View. October 2004. Abstract.

rigg
Download Presentation

Struts: An Insiders View

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Struts: An Insiders View October 2004

  2. Abstract Struts is the de facto standard framework for Java web applications, but where did it come from, and where is it going? Who makes the decisions? What's on the roadmap? How can we help? And what about JavaServer Faces? Friend or foe? This session discusses the "nuts and bolts" of Struts development. Come and see how the sausages are made. :)

  3. Insiders view • Who makes the decisions • Where we are going • Were we came from • JSF: Friend or foe?

  4. How to be an insider • Follow the mailing list • Inspect the code • No hidden forums or closed meetings • Everything that happens, happens on the list.

  5. Who makes the decisions • Mailing lists are public • One closed list for project management (not development) • Struts is owned by the Apache Software Foundation • ASF is run by a Board of Directors • Directors are elected by Members (like me) • Board delegates to Vice President and PMC • Each project has its own PMC

  6. Who makes the decisions • User: Anyone who uses the product • Developer: Anyone who helps • Committer: Anyone with write access • PMC Member: Committers with binding votes

  7. Who makes the decisions • Why not count all the votes? • The ASF is a meritocracy • Them that do the work, make the decisions.

  8. Who makes the decisions • Action Items • Product changes • Showstoppers – must fix issues • Release Plans • Release Grades • Voting flavors • +1 • -1 • +/- 0

  9. Where are we going • Struts 1.1 is superceded by Struts 1.24 • Struts 1.1 – Release candidate scheme • Struts 1.1.0 (beta 1) • Struts 1.1.1 (beta 2) • Struts 1.1.2 (beta 3) • Struts 1.1.3 (release candidate) • Struts 1.1.4 (final)

  10. Where we are going • Milestone release scheme • Major.minor.milestone • Alpha • Beta • General Availability • Vote to promote or demote

  11. Where we are going • Struts 1.2.4 • Some new features • Better module support • ValidWhen, other enhancements • Wildcard mappings • Cancel handlers • Removes deprecations to date

  12. Where are we going • Struts 1.2.4 triggers • Moving version control to Subversion • Building with Maven • Divvying Struts into subprojects • Adding new subprojects • Struts Chain Request Processor

  13. Where are we going • Version control enables collaboration • Subversion - “compelling replacement” • Directory renames • Global revision number and log entry • Efficient handling of binary files • Most current CVS features • Servers for Unix, Windows, and Apache HTTP

  14. Where we are going • Subversion: Why not? • IDE Tools • Inertia • wush.net • Low cost, high quality host • Struts, iBATIS, private projects

  15. Where we are going • Building with Apache Maven • Project management and comprehension • Project infrastructure • Stock suite of reports • Documentation plugin • Acquires and shares JARs • Likes fine-grained artifacts

  16. Where are are going • Divvying Struts into subprojects • struts-core • struts-el • struts-faces • struts-site • struts-taglib

  17. Where we are going • Divvying Struts into subprojects • Apps folder • struts-blank • struts-examples • struts-mailreader • struts-tiles-examples

  18. Where we are going • Adding new subprojects • struts-control-flow • Cocoon’s Control Flow • struts-scripting • Perl, Python, Ruby, JavaScript, et al. • Both available now at struts.sf.net

  19. Where we are going • Struts 1.3 • Servlet 2.3 and JSP 1.2 • Struts-Chain • Portlet Support (JSR 162)

  20. Where we are going • Servlet 2.3 and JSP 1.2 • Preferred platform • Needed for enhancements • Need for Portlets and JSF

  21. Where we are going • Struts-Chain • Struts 1.1 Request Process pluggable • Struts 1.3 Request Processor configurable • Commons Chain of Responsibility • Can be used for business logic

  22. Where we are going • Portlet Support (JSR 168) • Sub-applications into portal application • Apache Jetspeed • Alternate catalog for Request Processor

  23. Where we are going • Struts Next Generation • Request Processor • Action/View Context • Form Context

  24. Where are we going • Form context • <struts:contextForm readonly=“false” /> • <struts:contextForm readonly=“true” />

  25. Where we are going • Struts Next Generation • Request Processor • Action/View Context • Form Context • Testability

  26. Where did Struts come from? • The Problem with JSP by Jason Hunter • Craig scratched an itch • A framework was born

  27. Where did Struts come from • Why is Struts successful? • Helpful mailing list • JavaDocs • Extensible architecture • Linkage with Tomcat and Sun

  28. JSF: Friend or Foe?

  29. JSF: Friend or Foe? • Kissing cousins.

  30. JSF: Friend or Foe? • Kissing cousins. • JSF is a front controller with a tag library. • Populate a control from a JavaBean • Capture input back to a JavaBean • Call a Java method to process the JavaBean

  31. JSF: Friend or Foe? • JSF uses POJO • Struts uses ActionForms/Action • JSF uses a rich component model • Struts uses a simple value model

  32. JSF: Friend or Foe • JSF 1.0 == Struts 1.0 • No Tiles • No Validator

  33. JSF: Friend or Foe • Do you need to migrate to JSF now, because it can do more than Struts? • Will you eventually want to migrate to JSF because it is certain to become better?

  34. JSF: Friend or Foe • Struts-Faces Integration Library • JSF front end • Struts back end

  35. Struts University Series

More Related