[jboss-dev-forums] [Design of JBoss Portal] - Deployment architecture for 3.x
julien@jboss.com
do-not-reply at jboss.com
Fri Oct 20 15:01:02 EDT 2006
Deployment architecture for JBoss Portal 3.x thoughts
Currently JBoss Portal integrates directly with the JBoss 4.0.x deployment system. The main benefit is that it provides a transparent deployment of a web archive and does not require the developer to perform any extra work as the war file containing the portlet.xml file will just be deployed.
With the requirement of JBoss Portal 3.x to be runnable everywhere we need to work on improving the current deployment architecture and find out solutions for every kind of environment.
When a web archive is deployed the requirements are :
1/ the portlet container deployer needs aware of the deployment life cycle in order to create/destroy related portlet containers
2/ the web application context needs to be modified in order to include the proper hooks that will make the portlet container execute portlets. Injection of new servlet / servlet filter are good examples.
3/ injection of tld file in the war file (optional)
I foresee 2 major ways of deployment techniques, each having its advantages/drawbacks. Indeed there is no universal solution because the lack of synergy between the portlet expert group and servlet expert group does not exist as of today.
- Technique 1 : native integration
this is what we do currently in JBoss 4.0.x. The portlet container deployer integrates directly with the deployer and is able to create on the fly the missing servlet / servlet filter in tomcat (by modifying the object model). It is also able to inject tld in the unpacked war file. It is completely transparent to the developer and probably provides the best integration. The drawback is that it is native to the environment and is not always possible for various reasons (technical or legal).
- Technique 2 : prepare the war file ahead of deployment time
it consist in modifying the war file by injecting the necessary hooks like modifying the web.xml for example. There are different flavors.
. a special directory can be scanned for war files, modify them and then deploy them in the target environment (through JSR 88 in the case of an app server J2EE 1.4 certified)
. the developer can be made aware of what is required and ask him to do that directly
. a file upload mechanism can be used to act as in the first case
The best we can do is to provide technique 1 whenever possible and technique 2 otherwise.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3979714#3979714
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3979714
More information about the jboss-dev-forums
mailing list