On Jan 28, 2005, at 12:57 PM, Steven Peterson wrote:
I would also be interested in alternates to Struts; and I have heard many rave about Tapestry.� I would be interested to hear about experiences with migrating from Struts to Tapestry.� For example, can portions of the application remain in Struts while new portions are written in Tapestry?� How difficult is a complete migration?

It is quite reasonable to mix Tapestry in with other technologies. Consistent look and feel is one issue to consider - and SiteMesh can work wonders for this. The awkward things to deal with when mixing and matching is how to share information between Struts and Tapestry. Tapestry is "just a servlet", and it leverages application, session (if needed), and request scope just like everything else does. However, the Tapestry Way is to work with concepts called "global" and "visit" for application and session state, and Tapestry manages these for you (there are very good technical reasons why this management differentiates Tapestry from Struts - hint: consider server replication and what you need to do in Struts to modify a property of a bean in session/application scope). You can easily get directly at these scopes from within Tapestry, its just not what you'd see in a pure Tapestry application.


The difficulty of a complete migration would depend on how clean your templates are (do you use scriptlets? or taglibs?), how well you've separated business logic from the Struts framework (do you have a lot of code in your Action classes?) and such. It is essentially a complete rewrite of the presentation layer to go from Struts to Tapestry - its a different paradigm. You will likely find that you'll have less code, less complexity, and most definitely cleaner templates with Tapestry than Struts - so a one-to-one crude translation would make for an ugly Tapestry implementation.

My suggestion for migration is first try Tapestry on a new small project, or implement new functionality of an existing system in Tapestry. Once you get a feel for how it works, you'll have a better idea of what is needed to migrate.

Oh, and to market my friend Howard Lewis Ship (creator of Tapestry) a bit.... he is for hire. We brought him in to Darden for two days of onsite training after we had built some prototypes. We had an aggressive schedule to build a large suite of applications and wanted to be sure we had the know-how to move fast and properly with Tapestry rather than fumbling around. He was well worth the reasonable (and probably too low) amount we paid him. Consider doing the same thing if your project cannot afford to waste time on the (un)learning curve - I can vouch that it saved us vastly more than it cost us. Not only did Howard give us the technical goods we were looking for (and we had a boatlaod of detailed questions ready for him), he immediately grasped our problem domain and offered very appropriate design advice for our specific needs - primarily relating to a highly dynamic application form that is completely database driven, controlling what fields are seen in what sections/pages of the application, whether a field is required or not, what type of field it is, and so on.

        Erik


_______________________________________________ Juglist mailing list [email protected] http://trijug.org/mailman/listinfo/juglist_trijug.org

Reply via email to