From: Jose Gonzalez Gomez <jgonzalez.openinput@gmail.com>
To: Renat Lumpau <rl03@gentoo.org>, gentoo-java@lists.gentoo.org
Subject: Re: [gentoo-java] webapp-config & Java
Date: Thu, 26 Jan 2006 10:30:14 +0100 [thread overview]
Message-ID: <306bf010601260130w7c2740f4o@mail.gmail.com> (raw)
In-Reply-To: <20060125205026.GF4249@toucan.gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 5106 bytes --]
Hi,
2006/1/25, Renat Lumpau <rl03@gentoo.org>:
>
> Hello,
>
> I am looking into making webapp-config Java-aware. While there are quite a
> few
> things that would need to happen from both the w-c and Java ends, it
> definitely
> seems plausible.
>
> The first step is to develop a directory structure for Java webapps that
> supports virtual hosts and plays nice with GLEP 11.
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.
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.
All four J2EE/servlet
> engines currently in Portage (tomcat, jetty, resin, and jboss) implement
> this in
> their own way:
>
> - tomcat stores webapps in /var/lib/tomcat-5/{vhost}/webapps. There is
> one "default" vhost.
> - jetty stores webapps in /opt/jetty/webapps. There is currently no
> vhost hierarchy, although I believe it should be easy to create one
> under
> /opt/jetty/webapps/{vhost}
> - resin stores webapps in /opt/resin/webapps. There is currently no
> vhost hierarchy, although I believe it should be easy to create one
> under
> /opt/resin/webapps/{vhost}
> - jboss is less straightforward. It appears that webapps go into
> /var/lib/jboss/{all,default,minimal}, but I'm not sure what the
> difference
> between those three directories is or how vhosts are handled.
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.
I propose to add a Java-specific directory under /var/www/{vhost}, such as
> /var/www/localhost/java (perhaps there is a better name than java?). This
> directory could be symlinked from the tomcat/jetty/resin/jboss locations,
> much
> like what tomcat already does. This would have the benefit of keeping
> everything
> related to one vhost (statis HTML, servlets, CGI scripts, etc) in one
> location.
>
> Comments and suggestions (esp. from Java folks) are welcome. I would
> particularly like to figure out what to do with jboss.
>
I think the best bet would be to explore the API for J2EE application
deployment (JSR 88) (http://java.sun.com/j2ee/tools/deployment/,
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: 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.
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,
http://geronimo.apache.org/)
HTH, best regards
Jose
(Sorry to post only to the java list, but I'm not subscribed to web-user)
[-- Attachment #2: Type: text/html, Size: 5928 bytes --]
next prev parent reply other threads:[~2006-01-26 9:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-25 20:50 [gentoo-java] webapp-config & Java Renat Lumpau
2006-01-26 9:30 ` Jose Gonzalez Gomez [this message]
2006-01-26 20:54 ` Renat Lumpau
2006-01-26 21:56 ` Joshua Nichols
2006-01-27 1:19 ` Andrew Cowie
[not found] ` <306bf010601270354i6be394cct@mail.gmail.com>
2006-01-27 11:55 ` Fwd: " Jose Gonzalez Gomez
2006-01-28 7:04 ` Andrew Cowie
2006-01-28 7:29 ` Peter B. West
2006-01-29 1:45 ` Joshua Nichols
2006-01-30 19:22 ` Greg Tassone
2006-01-26 22:48 ` William L. Thomson Jr.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=306bf010601260130w7c2740f4o@mail.gmail.com \
--to=jgonzalez.openinput@gmail.com \
--cc=gentoo-java@lists.gentoo.org \
--cc=rl03@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox