You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by James Strachan <ja...@yahoo.co.uk> on 2003/11/15 06:52:18 UTC

Universal Geronimo Service Repository

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 
requirements.

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?

James
-------
http://radio.weblogs.com/0112098/


RE: Universal Geronimo Service Repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> I've read the bulk of the archives for the repository list and I'm ready
to
> conclude that the work I'm envisioning doesn't lie within its scope.

The repository group will not develop tools.  The repository group is under
the infrastructure team, and is not part of a PMC.  The repository group is
specifying the URI space, and some work related to ensuring that meta-data
is available for tools.  The meta-data content and the tools will be
elsewhere, although I think it reasonable to use the list for a discussion
of common repository elements.

> I'm under the impression that Geronimo's UI needs are very
> specific and custom to our project

But you will want your artifacts and meta-data to fit into the structure
being established for the repository, and so you should be aware of those
discussions, especially if you see any conflict between your plans and
those.

> There will hopefully be private, corporate entities and independently
> managed Open Source projects who want to publish J2EE services that
> plug into Geronimo, or even services that lie outside of the spec &
> standards but who have been able to attract users anyway (like hibernate).
> They'll not be keeping their artifacts in the ASF repository : )

Agreed, although hopefully the ASF repository structure will be suitable for
replicating in other domains.

> Thanks for the heads-up about the repository, Noel.  I'll keep up with it
and
> see if there's any way I can help once things crystallize a bit more.

:-)

	--- Noel


Re: Universal Geronimo Service Repository

Posted by "n. alex rupp" <ru...@umn.edu>.
I've read the bulk of the archives for the repository list and I'm ready to
conclude that the work I'm envisioning doesn't lie within its scope.

"The tools that retrieve from the repository are not within its scope.  Anything
(and I do mean anything) beyond that is a software project that the ASF has not
authorized, and certainly won't be developed here unless it is within a PMC." -- 
Roy T. Fielding
(http://nagoya.apache.org/eyebrowse/ReadMsg?listName=repository@apache.org&msgNo
=255)

I completely agree with Roy in this regard, and I'll continue on my own.  I'll
also keep my eyes open in case a tools project for this lands in the incubator,
and see if I can help them out, but I'm under the impression that Geronimo's UI
needs are very specific and custom to our project, and that there is very little
overlap with other projects--I'm not completely sold on the worth of a common UI
project but if I can help with it, I certainly will.

I'm also not convinced the ASF repository alone will be able to satisfy the
needs of Geronimo's users.  I'll be glad to add hooks to the ASF repo, but I'll
also be adding hooks to a repository hosted by a reliable third party like
ibiblio--specifically, one that lies outside the ASF's infrastructure.  There
will hopefully be private, corporate entities and independently managed Open
Source projects who want to publish J2EE services that plug into Geronimo, or
even services that lie outside of the spec & standards but who have been able to
attract users anyway (like hibernate).  They'll not be keeping their artifacts
in the ASF repository : )

So, whatever work I do on this I'll make sure it is neutral in regards to the
ASF and a potential third-party repository, and I'll try to write it so we can
add hooks for different repositories as the need arises.  I just want the users
to have options and for other projects and companies to be able to publish
service plugins for Geronimo and have them made available through the management
interface ; )

Thanks for the heads-up about the repository, Noel.  I'll keep up with it and
see if there's any way I can help once things crystallize a bit more.
--
N. Alex Rupp (n_alex_rupp@users.sf.net)



----- Original Message ----- 
From: "Noel J. Bergman" <no...@devtech.com>
To: <ge...@incubator.apache.org>
Sent: Sunday, November 16, 2003 1:35 PM
Subject: RE: Universal Geronimo Service Repository


> > I've been planning on adding these features into the management
> > UI for some time now (note the greyed out "Add / Remove Modules"
> > link in the current UI )
>
> > I have a lot of questions on how I'd do this, how we could get
> > a list of the available services.
>
> > I've been assuming that references to services will be stored
> > at ibiblio (or somewhere analogous).
>
> I re-iterate that you should subscribe to repository@apache.org if you want
> to discuss the repository side of this topic.  Nicola Ken has also proposed
> a tool project for incubation.  Other tools in this space would also include
> maven and merlin, both of which are represented in the repository group.
>
> --- Noel
>
>


Re: Universal Geronimo Service Repository

Posted by "n. alex rupp" <ru...@umn.edu>.
----- Original Message ----- 
From: "Noel J. Bergman" <no...@devtech.com>
To: <ge...@incubator.apache.org>
Sent: Sunday, November 16, 2003 1:35 PM
Subject: RE: Universal Geronimo Service Repository


<snip/>

> I re-iterate that you should subscribe to repository@apache.org if you want
> to discuss the repository side of this topic.  Nicola Ken has also proposed
> a tool project for incubation.  Other tools in this space would also include
> maven and merlin, both of which are represented in the repository group.
>
> --- Noel

More specifically, anyone interested should send an empty email to
repository-subscribe@apache.org.


RE: Universal Geronimo Service Repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> I've been planning on adding these features into the management
> UI for some time now (note the greyed out "Add / Remove Modules"
> link in the current UI )

> I have a lot of questions on how I'd do this, how we could get
> a list of the available services.

> I've been assuming that references to services will be stored
> at ibiblio (or somewhere analogous).

I re-iterate that you should subscribe to repository@apache.org if you want
to discuss the repository side of this topic.  Nicola Ken has also proposed
a tool project for incubation.  Other tools in this space would also include
maven and merlin, both of which are represented in the repository group.

	--- Noel


Re: Universal Geronimo Service Repository

Posted by "n. alex rupp" <ru...@umn.edu>.

----- Original Message ----- 
From: "James Strachan" <ja...@yahoo.co.uk>
To: <ge...@incubator.apache.org>
Sent: Friday, November 14, 2003 11:52 PM
Subject: Universal Geronimo Service Repository


<snip/>
> 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.

<more/>

> We need to certify a build of Geronimo - so Geronimo will be
> synonymous with a J2EE certified distribution. However there's
> no reason why we can't have a configuration tool that ships as
> a standard part of the Geronimo distribution where folks can
> plug and play any J2EE service - which just creates a new
> configuration of services for Geronimo.

I've been planning on adding these features into the management UI for some time
now (note the greyed out "Add / Remove Modules" link in the current UI )

I have a lot of questions on how I'd do this, how we could get a list of the
available services.  Preferably there'd be a module lookup service that either
ran on a timer or functioned whenever a user called a lookup from the management
console, or both.  I've been assuming that references to services will be stored
at ibiblio (or somewhere analogous).  It would be nice if the timed service
could pull down a descriptor file or summary for each of the available services,
then restructure the data for easy presentation in the management interface.
The user should be able to scroll through a list and pick out services (I
imagine something very akin to Cygwin setup), and invoke an installation
procedure which would draw everything from the archive and deploy it locally.
This, of course, means that configuration of the different services should be
capable of being performed in the management UI as well.

A useful extension of this technology down the road could be to consume web
services in a similar manner.  We could perform search and discovery for
services (like SAML gateways) and "install" the service at runtime, (really
we're just establishing a remote connection to the service over the line), but
from the user's perspective, it could function as though they'd installed a
service locally.

Anyway, I just wanted to ping you guys and tell you I'm on the case.

--
N. Alex Rupp (n_alex_rupp@users.sf.net)


Re: Universal Geronimo Service Repository

Posted by "n. alex rupp" <ru...@umn.edu>.
----- Original Message ----- 
From: "Geir Magnusson Jr." <ge...@optonline.net>
To: <ge...@incubator.apache.org>
Sent: Saturday, November 15, 2003 8:14 PM
Subject: Re: Universal Geronimo Service Repository


<snip/>

> I can't understand why an extension that's outside of the spec
> 'uncertifies' it.  The implmentation will still pass all tests.
>
> geir

Probably because Sun won't want us to certify via proxy any old vendor who ships
a fully functional product.  That's the distinction between "functional" and
"certifiable".  It's a marketing and standards thing--they'd never go for it.


Re: Universal Geronimo Service Repository

Posted by James Strachan <ja...@yahoo.co.uk>.
On 15 Nov 2003, at 18:26, Noel J. Bergman wrote:

>>> I don't know of any reason why we cannot perform TCK certification
>>> on multiple packagings, but AFAIK it is the packaging that is 
>>> certified.
>
>> I can't understand why an extension that's outside of the spec
>> 'uncertifies' it.  The implmentation will still pass all tests.
>
> Are you sure that James' list of services is outide the scope of the 
> TCK?  I
> agree with you that extensions outside of the scope of the TCK should 
> not
> invalidate the certification.

FWIW other non-J2EE certifiable services like web apps,  EARs, workflow 
engines, rule engines or JCA connectors and stuff would be outside of 
the TCK and so wouldn't impact the certification.

James
-------
http://radio.weblogs.com/0112098/


Re: Universal Geronimo Service Repository

Posted by "Geir Magnusson Jr." <ge...@optonline.net>.
On Nov 15, 2003, at 9:26 PM, Noel J. Bergman wrote:

>>> I don't know of any reason why we cannot perform TCK certification
>>> on multiple packagings, but AFAIK it is the packaging that is 
>>> certified.
>
>> I can't understand why an extension that's outside of the spec
>> 'uncertifies' it.  The implmentation will still pass all tests.
>
> Are you sure that James' list of services is outide the scope of the 
> TCK?  I
> agree with you that extensions outside of the scope of the TCK should 
> not
> invalidate the certification.

As a matter of fact, an implementation must provide 'value add' beyond 
the spec.  Really.  :/


geir

>
> 	--- Noel
>
>
-- 
Geir Magnusson Jr                                   203-247-1713(m)
geirm@optonline.net


RE: Universal Geronimo Service Repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> > I don't know of any reason why we cannot perform TCK certification
> > on multiple packagings, but AFAIK it is the packaging that is certified.

> I can't understand why an extension that's outside of the spec
> 'uncertifies' it.  The implmentation will still pass all tests.

Are you sure that James' list of services is outide the scope of the TCK?  I
agree with you that extensions outside of the scope of the TCK should not
invalidate the certification.

	--- Noel


Re: Universal Geronimo Service Repository

Posted by "Geir Magnusson Jr." <ge...@optonline.net>.
On Nov 15, 2003, at 6:56 PM, Noel J. Bergman wrote:

>> Why don't we put together a J2EE service repository.
>> Think Maven jar repository but for Geronimo deployment
>> units - all ready to run.
>
> I encourage anyone interested in this to also join the 
> repository@apache.org
> mailing list.  See
> http://nagoya.apache.org/eyebrowse/SummarizeList?listId=177
>
>> 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.
>
> A major goal of Geronimo is to deliver a certified J2EE platform.  As I
> understand the TCK, we certify a total package.  Yes, someone could 
> plug-in
> another component, but in many cases, that will invalidate the 
> certification
> or require re-certfication.  I don't know of any reason why we cannot
> perform TCK certification on multiple packagings, but AFAIK it is the
> packaging that is certified.

I can't understand why an extension that's outside of the spec 
'uncertifies' it.  The implmentation will still pass all tests.

geir

>
> 	--- Noel
>
>
-- 
Geir Magnusson Jr                                   203-247-1713(m)
geirm@optonline.net


Re: Universal Geronimo Service Repository

Posted by Jan Bartel <ja...@mortbay.com>.
James,

I think this is an idea worth exploring more. Anything contributing to 
the pluggability (but not at the cost of sacrificing certifiability) of 
Geronimo is a +1 from me.

Do you think this kind of functionality could (eventually) follow a lazy 
instantiation model - that is, a user creates a j2ee deployable module 
(ear, war etc) that requires a jms service and specifies some 
preferences for it in the module's Geronimo specific descriptor and the 
appropriate plugin is sucked down from the repository site when the 
module is deployed?

Jan

James Strachan wrote:
> 
> On 15 Nov 2003, at 15:56, Noel J. Bergman wrote:
> 
>>> 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.
>>
>>
>> A major goal of Geronimo is to deliver a certified J2EE platform.  As I
>> understand the TCK, we certify a total package.  Yes, someone could 
>> plug-in
>> another component, but in many cases, that will invalidate the 
>> certification
>> or require re-certfication.  I don't know of any reason why we cannot
>> perform TCK certification on multiple packagings, but AFAIK it is the
>> packaging that is certified.
> 
> 
> We need to certify a build of Geronimo - so Geronimo will be synonymous 
> with a J2EE certified distribution. However there's no reason why we 
> can't have a configuration tool that ships as a standard part of the 
> Geronimo distribution where folks can plug and play any J2EE service - 
> which just creates a new configuration of services for Geronimo.
> 
> There can be only 1, J2EE certified distribution of Geronimo - though 
> users can customize it to do whatever they wish.
> 
> James
> -------
> http://radio.weblogs.com/0112098/



Re: Universal Geronimo Service Repository

Posted by "Geir Magnusson Jr." <ge...@optonline.net>.
On Nov 15, 2003, at 9:30 PM, James Strachan wrote:

>
> On 15 Nov 2003, at 16:43, Noel J. Bergman wrote:
>
>>> We need to certify a build of Geronimo - so Geronimo will be 
>>> synonymous
>>> with a J2EE certified distribution. However there's no reason why we
>>> can't have a configuration tool that ships as a standard part of the
>>> Geronimo distribution where folks can plug and play any J2EE service 
>>> -
>>> which just creates a new configuration of services for Geronimo.
>>
>> I don't think that we disagree on any of that.  My point is that if 
>> Geronimo
>> can support more than one:
>>
>>   servlet engine
>>   EJB container
>>   Transaction Manager
>>   JMS Provider
>>   etc.
>>
>> then I believe that we need to certify at least one combination, and 
>> that
>> any combination that we do not certify AS A COMBINATION is not 
>> certified.
>>
>> Is your understanding of the certification process different?
>
> Yes thats right.  Going forward we've gotta be quite careful of what 
> is said publicly about the certification process due to NDAs and the 
> like.  A lot of the details of this will have to stay private on the 
> certification team mail list. (Which reminds me, we need to setup a 
> certification team & a private, certification-only team mail list 
> soon)
>

We should be able to get that started sometime in the upcoming week.  
Once some other details are out of the way, I'll get that setup.

geir

-- 
Geir Magnusson Jr                                   203-247-1713(m)
geirm@optonline.net


Re: Universal Geronimo Service Repository

Posted by "Geir Magnusson Jr." <ge...@optonline.net>.
On Nov 15, 2003, at 10:27 PM, Noel J. Bergman wrote:

>> Going forward we've gotta be quite careful of what is said
>> publicly about the certification process due to NDAs and the like.
>> A lot of the details of this will have to stay private on the
>> certification team mail list.
>
> I've not seen the TCK (though I've read
> http://jakarta.apache.org/site/tck-standalone.pdf); everything I've 
> said so
> far has come from common knowledge regarding the nature of the
> certification.  Other than details of tests, themselves, what needs to 
> be
> kept confidential?

I think that will be the limit.  We are going to arrange things so that 
the committer community in the large will be able to work on code that 
isn't passing tests.  I assume we'd just tell them what part of the 
spec is failing and how.  We will have a limited group that can access 
the TCK test information due to NDA reasons.

The Axis group has already been through this, and Sam is a big 
proponent of openness.  I've talked to him about it, and it appears to 
have worked out just fine.

geir

-- 
Geir Magnusson Jr                                   203-247-1713(m)
geirm@optonline.net


RE: Universal Geronimo Service Repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> Going forward we've gotta be quite careful of what is said
> publicly about the certification process due to NDAs and the like.
> A lot of the details of this will have to stay private on the
> certification team mail list.

I've not seen the TCK (though I've read
http://jakarta.apache.org/site/tck-standalone.pdf); everything I've said so
far has come from common knowledge regarding the nature of the
certification.  Other than details of tests, themselves, what needs to be
kept confidential?

	--- Noel


Re: Universal Geronimo Service Repository

Posted by James Strachan <ja...@yahoo.co.uk>.
On 15 Nov 2003, at 16:43, Noel J. Bergman wrote:

>> We need to certify a build of Geronimo - so Geronimo will be 
>> synonymous
>> with a J2EE certified distribution. However there's no reason why we
>> can't have a configuration tool that ships as a standard part of the
>> Geronimo distribution where folks can plug and play any J2EE service -
>> which just creates a new configuration of services for Geronimo.
>
> I don't think that we disagree on any of that.  My point is that if 
> Geronimo
> can support more than one:
>
>   servlet engine
>   EJB container
>   Transaction Manager
>   JMS Provider
>   etc.
>
> then I believe that we need to certify at least one combination, and 
> that
> any combination that we do not certify AS A COMBINATION is not 
> certified.
>
> Is your understanding of the certification process different?

Yes thats right.  Going forward we've gotta be quite careful of what is 
said publicly about the certification process due to NDAs and the like. 
  A lot of the details of this will have to stay private on the 
certification team mail list. (Which reminds me, we need to setup a 
certification team & a private, certification-only team mail list soon)


But yes, we can certainly certify different combinations of different 
things (platforms, JVMs, databases, servlet engines etc). Combinations 
of things which we don't certify are not certified.

James
-------
http://radio.weblogs.com/0112098/


RE: Universal Geronimo Service Repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> We need to certify a build of Geronimo - so Geronimo will be synonymous
> with a J2EE certified distribution. However there's no reason why we
> can't have a configuration tool that ships as a standard part of the
> Geronimo distribution where folks can plug and play any J2EE service -
> which just creates a new configuration of services for Geronimo.

I don't think that we disagree on any of that.  My point is that if Geronimo
can support more than one:

  servlet engine
  EJB container
  Transaction Manager
  JMS Provider
  etc.

then I believe that we need to certify at least one combination, and that
any combination that we do not certify AS A COMBINATION is not certified.

Is your understanding of the certification process different?

	--- Noel


RE: Universal Geronimo Service Repository

Posted by Matt Kurjanowicz <mk...@cc.gatech.edu>.
I agree - just because we certify a certain distribution, that doesn't mean
that some companies will be looking for different things in their J2EE
environment, if they are willing to put up with their configuration not
being J2EE certified.  It would also allow companies to develop their own
packages and sell/distribute those, and possibly get their own
configurations of Geronimo certified if they feel that a different subset of
services/implementations are necessary.

--
Matt Kurjanowicz
mkurjano@users.sourceforge.net


-----Original Message-----
From: James Strachan [mailto:james_strachan@yahoo.co.uk] 
Sent: Saturday, November 15, 2003 7:01 PM
To: geronimo-dev@incubator.apache.org
Subject: Re: Universal Geronimo Service Repository


On 15 Nov 2003, at 15:56, Noel J. Bergman wrote:
>> 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.
>
> A major goal of Geronimo is to deliver a certified J2EE platform.  As I
> understand the TCK, we certify a total package.  Yes, someone could 
> plug-in
> another component, but in many cases, that will invalidate the 
> certification
> or require re-certfication.  I don't know of any reason why we cannot
> perform TCK certification on multiple packagings, but AFAIK it is the
> packaging that is certified.

We need to certify a build of Geronimo - so Geronimo will be synonymous 
with a J2EE certified distribution. However there's no reason why we 
can't have a configuration tool that ships as a standard part of the 
Geronimo distribution where folks can plug and play any J2EE service - 
which just creates a new configuration of services for Geronimo.

There can be only 1, J2EE certified distribution of Geronimo - though 
users can customize it to do whatever they wish.

James
-------
http://radio.weblogs.com/0112098/


Re: Universal Geronimo Service Repository

Posted by James Strachan <ja...@yahoo.co.uk>.
On 15 Nov 2003, at 15:56, Noel J. Bergman wrote:
>> 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.
>
> A major goal of Geronimo is to deliver a certified J2EE platform.  As I
> understand the TCK, we certify a total package.  Yes, someone could 
> plug-in
> another component, but in many cases, that will invalidate the 
> certification
> or require re-certfication.  I don't know of any reason why we cannot
> perform TCK certification on multiple packagings, but AFAIK it is the
> packaging that is certified.

We need to certify a build of Geronimo - so Geronimo will be synonymous 
with a J2EE certified distribution. However there's no reason why we 
can't have a configuration tool that ships as a standard part of the 
Geronimo distribution where folks can plug and play any J2EE service - 
which just creates a new configuration of services for Geronimo.

There can be only 1, J2EE certified distribution of Geronimo - though 
users can customize it to do whatever they wish.

James
-------
http://radio.weblogs.com/0112098/


RE: Universal Geronimo Service Repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> Why don't we put together a J2EE service repository.
> Think Maven jar repository but for Geronimo deployment
> units - all ready to run.

I encourage anyone interested in this to also join the repository@apache.org
mailing list.  See
http://nagoya.apache.org/eyebrowse/SummarizeList?listId=177

> 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.

A major goal of Geronimo is to deliver a certified J2EE platform.  As I
understand the TCK, we certify a total package.  Yes, someone could plug-in
another component, but in many cases, that will invalidate the certification
or require re-certfication.  I don't know of any reason why we cannot
perform TCK certification on multiple packagings, but AFAIK it is the
packaging that is certified.

	--- Noel


RE: Universal Geronimo Service Repository

Posted by Matt Kurjanowicz <mk...@cc.gatech.edu>.
I think it's a really, really good Idea.  I think it would make a clear
different compared to other J2EE impls.
+1 (just to make it clear :) )

--
Matt Kurjanowicz
mkurjano@users.sourceforge.net

-----Original Message-----
From: James Strachan [mailto:james_strachan@yahoo.co.uk] 
Sent: Saturday, November 15, 2003 12:52 AM
To: geronimo-dev@incubator.apache.org
Subject: Universal Geronimo Service Repository

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 
requirements.

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?

James
-------
http://radio.weblogs.com/0112098/