Collaboration: At the Extremities of Extreme
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Scott Delap on Feb 26, 2007
Build
- Easy startup - Jumpstart new projects with our bootstrap tutorial and template application or Maven archetype.
- Improved Design - Code clean against HTTP-independent framework interfaces.
- Enhanced Tags - Code less with stylesheet-driven form tags that provide their own markup.
- Stateful Checkboxes - Avoid special handling with smart checkboxes that know when they are toggled.
- Flexible Cancel Buttons - Go directly to a different action on cancel.
- First-class AJAX support - Add interactivity and flexibility with AJAX tags that look and feel just like standard Struts tags.
- Easy Spring integration - Inject dependencies into Actions using Spring without glue code or red tape. (Plexus support also available.) o Enhanced Results - Do more with specialty results for JasperReports, JFreeChart, Action chaining, and file downloading.
- POJO forms - No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties!
- POJO Actions - Use any class as an Action class -- even the interface is optional!
Deploy
- Easy plugins - Add framework extensions by dropping in a JAR. No manual configuration required! Bundled plugins add support for JavaServer Faces, JasperReports, JFreeChart, Tiles, and more ...
- Integrated profiling - Peek inside Struts2 to find where the cycles are going!
- Precise Error Reporting - Flip directly to the location and line of an error.
Maintain
- Easy-to-test Actions - Test Struts2 Actions directly, without resorting to mock HTTP objects.
- Intelligent Defaults - Skip obvious and redundant settings. Most framework configuration elements have a default value that we can set and forget. Say it once!
- Easy-to-customize controller - Customize the request handling per action, if desired. Struts2 only does what you want it to do!
- Integrating Debugging - Research problem reports with built-in debugging tools.
- Easy-to-tweak tags - Customize tag markup by editing a FreeMarker template. No need to grok the taglib API! JSP, FreeMarker, and Velocity tags are fully supported.
Version 2.0.6 has minimum requirements of Servlet API 2.4, JSP API 2.0, and Java 5.
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
18 agile and lean practices for effective software development governance
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
The featues listed here read almost the same as WebWork2. Still good news for them to have reached GA, so the more innovative features should come in time.
The featues listed here read almost the same as WebWork2. Still good news for them to have reached GA, so the more innovative features should come in time.
Even simply matching WW 2 features I think is good for the community, as there is now a good upgrade path for Struts users to someting better but still 'Struts', and over all its good to have standardization in web framework use in the industry (and I think the merger of the Struts and WebWork communities is quite sizable).
Struts 2 or WebWork 3?
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
3 comments
Watch Thread Reply