Hi,

I’m looking for some advice on how to design a Struts-based webapp that can accept dynamic plug-in components after deployment. I’ve searched the archives and found some interesting posts about Struts Modules and Single Sign On, but I didn’t find anything that addressed my situation exactly.

I have a core webapp, let’s call it BaseApp, that contains a menu of launch points to various features. After BaseApp is deployed and running at a customer site, the time will come when I want to add a launch point to a new feature there. In my current design I’ll need to re-deploy an updated BaseApp that contains a new menu item and the new feature. A much more flexible design would allow me “drop in” a new set of files that the BaseApp would recognize and link to (after restarting Tomcat). This way the BaseApp wouldn’t have to be updated, re-qualified, or re-deployed (a huge savings at my company).

One of the problems is dealing with authorization issues – the users should have to log in only once and should be automatically logged out after a period of inactivity, regardless of where in the GUI they click. Unfortunately the BaseApp has already been developed with custom security code; container managed security was not used. After the user’s password is authorized, a special object is stored in session scope; the presence of that object indicates an authorized user.

Another problem is upgrading the software in the field. Eventually a new version of the BaseApp will be released and the deployment in the field needs to be upgraded. This means that any plug-ins need to be upgraded too, or at least maintained (not wiped out).

I’ve thought of using separate webapps (i.e. the plug-in could be packaged as a new webapp) with a dynamic menu in the BaseApp, but then I’m faced with the authorization problems mentioned above.

Is there a standard pattern in Struts to satisfy these requirements (will Struts Modules do what I need)? Is there some way to “drop in” additional files into a pre-deployed webapp? Does anyone have experience with these types of issues?

Thanks!

-- Joe



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to