Struts: An Insiders View

Preview:

DESCRIPTION

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

Citation preview

Struts: An Insiders View

October 2004

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

Insiders view

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

How to be an insider

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

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

Who makes the decisions

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

Who makes the decisions

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

make the decisions.

Who makes the decisions

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

Voting flavors +1 -1 +/- 0

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)

Where we are going

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

Where we are going

Struts 1.2.4Some new features

Better module supportValidWhen, other enhancementsWildcard mappingsCancel handlers

Removes deprecations to date

Where are we going

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

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

Where we are going

Subversion: Why not? IDE Tools Inertia

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

Where we are going

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

Acquires and shares JARsLikes fine-grained artifacts

Where are are going

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

Where we are going

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

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

Where we are going

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

Where we are going

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

Where we are going

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

Where we are going

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

Where we are going

Struts Next GenerationRequest ProcessorAction/View ContextForm Context

Where are we going

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

Where we are going

Struts Next GenerationRequest ProcessorAction/View ContextForm ContextTestability

Where did Struts come from?

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

Where did Struts come from

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

JSF: Friend or Foe?

JSF: Friend or Foe?

Kissing cousins.

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

JSF: Friend or Foe?

JSF uses POJOStruts uses ActionForms/Action

JSF uses a rich component modelStruts uses a simple value model

JSF: Friend or Foe

JSF 1.0 == Struts 1.0No TilesNo Validator

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?

JSF: Friend or Foe

Struts-Faces Integration LibraryJSF front end Struts back end

Struts University Series

Recommended