Hello Eivind and Robin,
Eivind Tagseth wrote:
>
> * Robin H. Johnson <[EMAIL PROTECTED]> [2004-01-08 02:48:43 -0800]:
>
>> I'm working on implementing GLEP11 (just started a week ago since my
>> school semester was over and I had some vacation time). I've got
>> absolutely no experience or knowledge of servlets, so if you can explain
>> how to incorporate them and how they fit together with everything, I'd
>> be glad to see if they fit in with vhost-config and webapp-config, or
>> java-config.
>
> I'll try to explain.
>
> Servlets
> --------
>
> Servlets, or rather, web applications, usually come in the form of a
> WAR-file
> (Web Archive).
Just to clarify, what "usually means": You can provide a web application
either as war file or as a complete directory tree. The war file just
contains this tree for (installation) convenience, but may have to be
extracted to adjust configuration files.
> Everything needed to run the web application is contained
> in this file (apart from the servlet engine itself), and installation of
> the web application is a matter of deploying it into a servlet engine.
>
> As you can see, this is much like installing a "normal" web application
> into apache, but in many ways much simpler.
>
> Servlet engines
> ---------------
>
> Just as with web servers, there are several available servlet engines.
> But unlike web servers, in theory, all web applications can be run by all
> servlet engines. The process of deploying an application may be different
> though, but many servlet engines lets you deploy a web application simply
> by dropping the war file into a certain directory.
>
> The current problem
> -------------------
>
> The problem is that there is no standard way to install a web application
> on a gentoo system, and there is no way to choose which servlet engine
> one wants to use.
>
> Application Installation
> - - - - - - - - - - - -
>
> For example, the before mentioned cocoon application requires tomcat.
> Personally, I don't use tomcat, I rather use JBoss/Jetty for my
> web applications. However, since I have installed cocoon, I automatically
> got tomcat dragged in. And emerging cocoon gives me
>
> /opt/jakarta/tomcat/webapps/cocoon.war
>
> and documentation in
>
> /usr/share/doc/cocoon-2.0.2
>
> So installing cocoon for me is:
>
> emerge cocoon
> cp /opt/jakarta/tomcat/webapps/cocoon.war
> /opt/jboss-3.2.1/server/default/deploy/
>
> Which isn't very elegant.
>
> This is very much like the problem with apache applications, and you could
> probably use the same system. Cocoon could be installed into
> /usr/share/webapps/, just like the apache applications, e.g. like
> /usr/share/webapps/${P}/war/cocoon.war.
>
> WAR files usually have the configuration files included into the WAR file
> (not very practical IMO), so there is no need for a configuration
> directory.
Well, coming to frameworks like Cocoon the things get even more compilcated.
Cocoon itself is a framework i.e. you either include it into your own web
application or you adjust the Cocoon web application to your own needs for
your application. The delivered Cocoon web application is basically just a
demonstration, but not of much use as a real world app. This implies, that
it is normally not really useful for normal users (i.e. not a developer) to
install Cocoon at all in a servelt engine IMHO. Either it is included in
another web application or it is used to build other (web) applications
which implies no need for an installation in a servlet engine also.
Additionally a developer might have the need to have multiple versions of
Cocoon, since he could develop multiple applications using it or
maintaining different versions of his application using different Cocoon
versions also (and probably supporting diferent servlet engines). Both
scenarios do not fit very well into the current portage characteristics.
But there is more. Same situation applies for Enterprise Applications (EAR
files), that should be running in any conforming J2EE server (jBoss,
Enhydra, Jonas, Sun J2ee SDK, WebLogic, ...). Robert, don't get confused: a
servlet engine is part of the J2EE spec.
Robert, to increase your understanding: Imagine an servlet/JSP engine or a
J2EE server to be an ordinary database and Cocoon would be a framework like
unixODBC with an additional demo app. You'll understand that no plain user
of unixODBC would like to have the demo app installed for all/one of his
running databases ...
While I think we should solve the basic problem installing real world web or
enterprise applications, but Cocoon and other frameworks/toolkits should
not be handled in the same way.
> Virtual Host Support
<snip/>
Sorry, can't say to much vhosts also.
Bottom line: I am not sure if portage can (and should) fulfill the need of a
developer here. Especially in the Java world we have meanwhile interesting
alternatives as shown with Maven to deal with this multi-version problem.
Regards,
J�rg
--
[EMAIL PROTECTED] mailing list