On Thu, Jan 26, 2006 at 10:30:14AM +0100, Jose Gonzalez Gomez wrote: > Hi, Jose, Thanks a lot for your reply. As you observed, I'm not exactly a Java expert, so it was exactly what I was looking for. > I'm not sure this is the right way to go... The standard way to deploy > a J2EE application (wether web or more than web, this is containing > EJBs and other stuff) is using an enterprise application archive. This > is basically a jar file with .ear extension and with its content > arranged in a specified way. In the case of pure web applications > (only servlets/JSPs) you may use directly a web archive, this is a jar > file with .war extension and again with its contents arranged in a > specified way. Some containers provide support for deploying an > exploded (unzipped, unjarred, whatever you call it) application, but I > think this is not dictated by the standard, so you can't count on > this. Once you deploy the application, it's up to the server to do > whatever it wants to run the application: it could unzip (unjar) the > application to a working directory, or maybe just work from the > provided file, as long as it publishes the web application as the > standard dictates. Makes sense. I was under the impression (perhaps mistakenly) that we could simply unjar those files and copy them over. Your explanation is much appreciated. > Moreover, I'm not sure you could create virtual hosting based only on > J2EE servers, as I don't remember this to be included in the J2EE > standard, and again you can't count on it. I think the best way to do > this would be to provide virtual hosting using Apache and then use > some connector to forward requests to the corresponding J2EE server. > As far as I know this can be done with Tomcat, Jetty and JBoss fro > your list. Noted. > JBoss is thought as a microkernel to which you add containers and > services as needed. In this case, each container (web, EJB) or service > can be added or removed to create an instance of the server that suits > your needs. JBoss comes with three configurations out of the box, one > with all availables services activated, one as the default > configuration used for most of the J2EE applications and one with a > minimal set of services activated. Each of them has its own directory > where all the necessary files for that configuration live. Thanks. > I think the best bet would be to explore the API for J2EE application > deployment (JSR 88) ([2]http://java.sun.com/j2ee/tools/deployment/, > [3]http://www.jcp.org/en/jsr/detail?id=88&showPrint). This API intends > to provide a common contract every J2EE application server should > comply with, so you could create a generic deploy tool that would be > independent from the server you would be deploying to. > A quick googling of JSR 88 reports this link as something to take into > account: [4]http://cargo.codehaus.org/. This tool is being actively > developed by the Maven guys, and I'm pretty sure that could be used to > deploy web and J2EE applications to any supported server. Thanks for the links, I'll go do my research. > A final note: don't know if you know the difference between a java web > application an a full blown J2EE application... reading your mail I > get the feeling that you think that J2EE is similar in complexity to a > PHP web application, and this isn't the case. Just in case, from the > four servers you mention, three of them are just web containers, this > is, they only support a small part of the full J2EE stack. Only JBoss > is a full J2EE server. I think you should add to that list a few other > servers that are full J2EE stacks, and quite popular, like Geronimo > (from Apache, [5]http://geronimo.apache.org/) Noted. The reason I excluded Geronimo was because it's currently not in Portage. > HTH, best regards > Jose Thanks again for a very informative email. -- Renat Lumpau all things web-apps GPG key id #C6A838DA on http://pgp.mit.edu Key fingerprint = 04AF B5EE 17CB 1000 DDA5 D3FC 1338 ADC2 C6A8 38DA