The migration strategy of Struts Action 1 developers moving to Struts Action 2 involves four non-exclusive paths:
- Run the Struts Action 1 as is - Action 2 will ship with the Action 1.3 jars to allow users to run existing applications unchanged. This is particularly important where frameworks have to be "approved" and by shipping with Action 1.x jars, we help shops make a clean upgrade.
- Dual processor, shared resources - Action 1.x and Action 2.0 servlets running side by side, however, certain resources like message resources, validation rules, and tiles configuration should be able to be shared without conflicts. This allows the user to migrate pieces of their application at a time without having to replicate everything in the new environment.
- Use a conversion wizard - It might be possible to create a tool that reads the web.xml and struts configuration files, and generates the necessary Action 2 configuration files. Actions, ActionForms, and even PlugIns could be ran as is on the new Action 2 framework. This path also serves as a training tool to assist the user in understanding how Action 2 works. While 100% compatibility is probably impossible, we could make a strong effort to migrate the application, marking areas that don't migrate correctly.
- Study known Action 1 applications, rewritten in for Action 2 - Action 2 will ship with familiar applications such as the Struts Mailreader rewritten to be built on Action 2. This demonstration will aid full conversion efforts by demonstrating best practices in the new framework.
Next: Migration Tools
This page originally adopted from http://wiki.apache.org/struts/MigrationStrategy.