geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Strachan <>
Subject Universal Geronimo Service Repository
Date Sat, 15 Nov 2003 05:52:18 GMT
In enterprise computing there's no such thing as one size fits all. 
We're gonna have all kinds of different implementations of different 
services; whether its servlet engines (tomcat, jetty), ejb containers 
(openejb, jonas), transaction managers (tyrex, jotm), jms providers 
(openjms, joram, commercial vendors) etc.

Already Geronimo can deploy any-old-service from a deployment unit or 
URI etc. Of course we need to put in place some good hooks to 
efficiently wire together dependent services when close integration is 
desirable, but conceptually, we should be able to just deploy 
any-old-service at runtime and things just-work.

So here's a thought for folks (we can talk more about it at ApacheCon 
if you like). Why don't we put together a J2EE service repository. 
Think Maven jar repository but for Geronimo deployment units - all 
ready to run.

Then for a given Geronimo version (based on its kernel & core hooks 
etc), we could have a repository of all the j2ee services available 
that the user can easily install. Then via a GUI or web app or config 
file or command line tool or whatever, the user could choose which 
services they wish to have in their own custom Geronimo installation - 
then hey presto Geronimo could download & install locally each 
deployment unit. i.e. using Maven's idea of remote repositories and 
local repositories & downloading new version as required etc. This 
would allow users to tailor their geronimo deployment to their exact 

This would allow any open source project or commercial vendor to easily 
plugin to Geronimo in a well known, well documented and well tested 
way. e.g. we could have (eval versions) of every commercial JMS 
provider all packaged up as a Geronimo deployment unit. Ditto for 
servlets, EJB, JTA, JCA, WS etc.

Developers who don't need parts of J2EE could easily strip stuff out 
(e.g. if you're just doing web apps & don't use EJB but need some JMS 
or WS or JCA or whatnot). Commercial vendors could use this mechanism 
to create custom Geronimo deployments with all of their products 
cleanly integrated. Folks could then easily do unit / system testing of 
different combinations of J2EE services.

How's this sound? Already much of the mechanics of this is already 
available in Geronimo, its more a question of figuring out what layout 
we should use for the repository & making some little tools to help 
folks pick-and-choose and validate combinations of services etc. e.g. 
it'd be nice to format the repository in such a way so that deployment 
units can describe which version(s) of Geronimo they work with so that 
only known-to-work versions of things are available in the repository 
for a user's geronimo install. Also checking inter-service dependencies 
too like you use (say) a JMS 1.0.x provider, then you can't use a 
certain other service which depends on JMS 1.1 etc.

I think this would be really cool. Thoughts?


View raw message