36
Struts: An Insiders View October 2004

Struts: An Insiders View

  • Upload
    rigg

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Struts: An Insiders View. October 2004. Abstract. - PowerPoint PPT Presentation

Citation preview

Page 1: Struts: An Insiders View

Struts: An Insiders View

October 2004

Page 2: Struts: An Insiders View

AbstractStruts 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. :)

Page 3: Struts: An Insiders View

Insiders view

Who makes the decisionsWhere we are goingWere we came fromJSF: Friend or foe?

Page 4: Struts: An Insiders View

How to be an insider

Follow the mailing listInspect the codeNo hidden forums or closed meetingsEverything that happens, happens on the list.

Page 5: Struts: An Insiders View

Who makes the decisions

Mailing lists are publicOne closed list for project management (not development)Struts is owned by the Apache Software Foundation

ASF is run by a Board of DirectorsDirectors are elected by Members (like me)Board delegates to Vice President and PMCEach project has its own PMC

Page 6: Struts: An Insiders View

Who makes the decisions

User: Anyone who uses the productDeveloper: Anyone who helpsCommitter: Anyone with write accessPMC Member: Committers with binding votes

Page 7: Struts: An Insiders View

Who makes the decisions

Why not count all the votes?The ASF is a meritocracyThem that do the work,

make the decisions.

Page 8: Struts: An Insiders View

Who makes the decisions

Action Items Product changes Showstoppers – must fix issues Release Plans Release Grades

Voting flavors +1 -1 +/- 0

Page 9: Struts: An Insiders View

Where are we going

Struts 1.1 is superceded by Struts 1.24Struts 1.1 – Release candidate schemeStruts 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)

Page 10: Struts: An Insiders View

Where we are going

Milestone release schemeMajor.minor.milestoneAlphaBetaGeneral AvailabilityVote to promote or demote

Page 11: Struts: An Insiders View

Where we are going

Struts 1.2.4Some new features

Better module supportValidWhen, other enhancementsWildcard mappingsCancel handlers

Removes deprecations to date

Page 12: Struts: An Insiders View

Where are we going

Struts 1.2.4 triggersMoving version control to SubversionBuilding with MavenDivvying Struts into subprojectsAdding new subprojectsStruts Chain Request Processor

Page 13: Struts: An Insiders View

Where are we going

Version control enables collaborationSubversion - “compelling replacement”Directory renamesGlobal revision number and log entryEfficient handling of binary filesMost current CVS featuresServers for Unix, Windows, and Apache

HTTP

Page 14: Struts: An Insiders View

Where we are going

Subversion: Why not? IDE Tools Inertia

wush.netLow cost, high quality hostStruts, iBATIS, private projects

Page 15: Struts: An Insiders View
Page 16: Struts: An Insiders View

Where we are going

Building with Apache Maven Project management and comprehensionProject infrastructureStock suite of reportsDocumentation plugin

Acquires and shares JARsLikes fine-grained artifacts

Page 17: Struts: An Insiders View

Where are are going

Divvying Struts into subprojectsstruts-corestruts-elstruts-facesstruts-sitestruts-taglib

Page 18: Struts: An Insiders View

Where we are going

Divvying Struts into subprojectsApps folderstruts-blankstruts-examplesstruts-mailreaderstruts-tiles-examples

Page 19: Struts: An Insiders View

Where we are going

Adding new subprojectsstruts-control-flow

Cocoon’s Control Flowstruts-scripting

Perl, Python, Ruby, JavaScript, et al.Both available now at struts.sf.net

Page 20: Struts: An Insiders View

Where we are going

Struts 1.3Servlet 2.3 and JSP 1.2Struts-ChainPortlet Support (JSR 162)

Page 21: Struts: An Insiders View

Where we are going

Servlet 2.3 and JSP 1.2Preferred platformNeeded for enhancementsNeed for Portlets and JSF

Page 22: Struts: An Insiders View

Where we are going

Struts-ChainStruts 1.1 Request Process pluggableStruts 1.3 Request Processor configurableCommons Chain of ResponsibilityCan be used for business logic

Page 23: Struts: An Insiders View

Where we are going

Portlet Support (JSR 168)Sub-applications into portal applicationApache JetspeedAlternate catalog for Request Processor

Page 24: Struts: An Insiders View

Where we are going

Struts Next GenerationRequest ProcessorAction/View ContextForm Context

Page 25: Struts: An Insiders View

Where are we going

Form context<struts:contextForm readonly=“false” /><struts:contextForm readonly=“true” />

Page 26: Struts: An Insiders View

Where we are going

Struts Next GenerationRequest ProcessorAction/View ContextForm ContextTestability

Page 27: Struts: An Insiders View

Where did Struts come from?

The Problem with JSP by Jason HunterCraig scratched an itchA framework was born

Page 28: Struts: An Insiders View

Where did Struts come from

Why is Struts successful?Helpful mailing listJavaDocsExtensible architectureLinkage with Tomcat and Sun

Page 29: Struts: An Insiders View

JSF: Friend or Foe?

Page 30: Struts: An Insiders View

JSF: Friend or Foe?

Kissing cousins.

Page 31: Struts: An Insiders View

JSF: Friend or Foe?

Kissing cousins.JSF is a front controller with a tag library. Populate a control from a JavaBeanCapture input back to a JavaBeanCall a Java method to process the

JavaBean

Page 32: Struts: An Insiders View

JSF: Friend or Foe?

JSF uses POJOStruts uses ActionForms/Action

JSF uses a rich component modelStruts uses a simple value model

Page 33: Struts: An Insiders View

JSF: Friend or Foe

JSF 1.0 == Struts 1.0No TilesNo Validator

Page 34: Struts: An Insiders View

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?

Page 35: Struts: An Insiders View

JSF: Friend or Foe

Struts-Faces Integration LibraryJSF front end Struts back end

Page 36: Struts: An Insiders View

Struts University Series