You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Aaron Mulder <am...@alumni.princeton.edu> on 2006/05/28 19:05:27 UTC

Support for different modules types in EAR

Any objections to supporting different module types (such as Geronimo
service JARs or future Spring or ServiceMix JARs) within an EAR?  For
example, this would let you create an EAR with a normal EJB JAR, a
normal web app WAR, and a Geronimo service JAR containing GBeans used
by the EJBs or web app (or that just run when the app runs).

To do this, I figure we'd just let you specify additional modules in
the geronimo-application.xml, even if you're not going to provide a
plan for them.  So it would be something like this:

application.xml

<application>
  <module><ejb>foo.jar</ejb></module>
  <module><web>...</web></module>
</application>

geronimo-application.xml

<application>
  <module>
    <other>bar.jar</other>
  </module>
</application>

Where a plan like this indicates that there are no overrides for the
EJB or Web app, but we're adding another module, bar.jar, with
unspecified type.  That should be OK since during deployment we ask
all the config builders whether they can handle the specified module,
so we'll figure out whether we can handle it, and if so, what type of
module it is (based on what deployment descriptors / plans it
contains).

Thanks,
    Aaron

Re: Support for different modules types in EAR

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
Every app server has a proprietary deployment plan for each module
type (e.g. weblogic.xml, jboss-web.xml, geronimo-web.xml, etc., etc.,
etc.) or other means of specifying server-specific information (I
believe earlier WebSphere servers stored everything in a database
instead of an XML file).  As far as I know, the spec doesn't
specifically say you can or can't add new modules to a J2EE
application.  It wouldn't be portable to another server, of course,
though you can do similar things in some of them.

As for ServiceMix, to address one of the points, there's a Geronimo
thread pool GBean so any ServiceMix integration can (and IMHO should)
take a thread pool reference and thereby use Geronimo managed threads.
 As for JNDI, we do have global JNDI on the long-term plan, but we may
want to plan to use a Geronimo/ServiceMix deployment plan with a local
JNDI space with resource/EJB references for now.  (This will also be
necessary to let you specify a module name for a ServiceMix
deployment, and to redeploy modules with a deployment plan.)  Though I
guess we'll want to be able to reference ServiceMix endpoints from
J2EE apps as well as vice versa, so we should think about how to do
that too.

Thanks,
    Aaron

On 5/28/06, Mohammed Nour <no...@gmail.com> wrote:
> On 5/29/06, Guillaume Nodet <gu...@worldonline.fr> wrote:
> > I fully agree to support that.
> >
> > EAR is by definition an application, and I think that every deployable
> > feature in Geronimo should be able to deploy within an EAR.
> > Especially for ServiceMix, I think this would be a great addition:
> > ServiceMix is an integration bus and it should be able to completely
> > integrate with Geronimo, but some limitations are difficult to work
> > around, the main ones being:
> > * the lack of global JNDI,
> > * deployment along with other J2EE resources (which would be solved by
> > deploying JBI applications within an EAR)
> > * use of unmanaged threads wrt to transactions and J2EE resources (you
> > have to be fully integrated into Geronimo so that you can initialize the
> > necessary thread local variables containing the contexts for various
> > Geronimo layers when these contexts could easily be created when first
> > used in a non-initialized thread)
> >
> > AFAIK, Geronimo main goal so far has been to be fully J2EE compliant,
>
>
>
> I want to ask, is it compliant to J2EE to have a proprietary application
> deployment descriptor specific to a certain app-server ? and adding new and
> specific declarations to it ?
>
>
> > but all these points fall into the ease of use category and could /
> > should be addressed.
> >
> > Cheers,
> > Guillaume Nodet
> >
> >
> > Aaron Mulder wrote:
> >
> > > Any objections to supporting different module types (such as Geronimo
> > > service JARs or future Spring or ServiceMix JARs) within an EAR?  For
> > > example, this would let you create an EAR with a normal EJB JAR, a
> > > normal web app WAR, and a Geronimo service JAR containing GBeans used
> > > by the EJBs or web app (or that just run when the app runs).
> > >
> > > To do this, I figure we'd just let you specify additional modules in
> > > the geronimo-application.xml, even if you're not going to provide a
> > > plan for them.  So it would be something like this:
> > >
> > > application.xml
> > >
> > > <application>
> > >  <module><ejb> foo.jar</ejb></module>
> > >  <module><web>...</web></module>
> > > </application>
> > >
> > > geronimo-application.xml
> > >
> > > <application>
> > >  <module>
> > >    <other>bar.jar</other>
> > >  </module>
> > > </application>
> > >
> > > Where a plan like this indicates that there are no overrides for the
> > > EJB or Web app, but we're adding another module, bar.jar, with
> > > unspecified type.  That should be OK since during deployment we ask
> > > all the config builders whether they can handle the specified module,
> > > so we'll figure out whether we can handle it, and if so, what type of
> > > module it is (based on what deployment descriptors / plans it
> > > contains).
> > >
> > > Thanks,
> > >    Aaron
> > >
> > >
> >
>
>

Re: Support for different modules types in EAR

Posted by Mohammed Nour <no...@gmail.com>.
On 5/29/06, Guillaume Nodet <gu...@worldonline.fr> wrote:
>
> I fully agree to support that.
>
> EAR is by definition an application, and I think that every deployable
> feature in Geronimo should be able to deploy within an EAR.
> Especially for ServiceMix, I think this would be a great addition:
> ServiceMix is an integration bus and it should be able to completely
> integrate with Geronimo, but some limitations are difficult to work
> around, the main ones being:
> * the lack of global JNDI,
> * deployment along with other J2EE resources (which would be solved by
> deploying JBI applications within an EAR)
> * use of unmanaged threads wrt to transactions and J2EE resources (you
> have to be fully integrated into Geronimo so that you can initialize the
> necessary thread local variables containing the contexts for various
> Geronimo layers when these contexts could easily be created when first
> used in a non-initialized thread)
>
> AFAIK, Geronimo main goal so far has been to be fully J2EE compliant,


I want to ask, is it compliant to J2EE to have a proprietary application
deployment descriptor specific to a certain app-server ? and adding new and
specific declarations to it ?

but all these points fall into the ease of use category and could /
> should be addressed.
>
> Cheers,
> Guillaume Nodet
>
>
> Aaron Mulder wrote:
>
> > Any objections to supporting different module types (such as Geronimo
> > service JARs or future Spring or ServiceMix JARs) within an EAR?  For
> > example, this would let you create an EAR with a normal EJB JAR, a
> > normal web app WAR, and a Geronimo service JAR containing GBeans used
> > by the EJBs or web app (or that just run when the app runs).
> >
> > To do this, I figure we'd just let you specify additional modules in
> > the geronimo-application.xml, even if you're not going to provide a
> > plan for them.  So it would be something like this:
> >
> > application.xml
> >
> > <application>
> >  <module><ejb>foo.jar</ejb></module>
> >  <module><web>...</web></module>
> > </application>
> >
> > geronimo-application.xml
> >
> > <application>
> >  <module>
> >    <other>bar.jar</other>
> >  </module>
> > </application>
> >
> > Where a plan like this indicates that there are no overrides for the
> > EJB or Web app, but we're adding another module, bar.jar, with
> > unspecified type.  That should be OK since during deployment we ask
> > all the config builders whether they can handle the specified module,
> > so we'll figure out whether we can handle it, and if so, what type of
> > module it is (based on what deployment descriptors / plans it
> > contains).
> >
> > Thanks,
> >    Aaron
> >
> >
>

Re: Support for different modules types in EAR

Posted by Guillaume Nodet <gu...@worldonline.fr>.
I fully agree to support that.

EAR is by definition an application, and I think that every deployable 
feature in Geronimo should be able to deploy within an EAR.
Especially for ServiceMix, I think this would be a great addition: 
ServiceMix is an integration bus and it should be able to completely 
integrate with Geronimo, but some limitations are difficult to work 
around, the main ones being:
  * the lack of global JNDI,
  * deployment along with other J2EE resources (which would be solved by 
deploying JBI applications within an EAR)
  * use of unmanaged threads wrt to transactions and J2EE resources (you 
have to be fully integrated into Geronimo so that you can initialize the 
necessary thread local variables containing the contexts for various 
Geronimo layers when these contexts could easily be created when first 
used in a non-initialized thread)

AFAIK, Geronimo main goal so far has been to be fully J2EE compliant, 
but all these points fall into the ease of use category and could / 
should be addressed.

Cheers,
Guillaume Nodet


Aaron Mulder wrote:

> Any objections to supporting different module types (such as Geronimo
> service JARs or future Spring or ServiceMix JARs) within an EAR?  For
> example, this would let you create an EAR with a normal EJB JAR, a
> normal web app WAR, and a Geronimo service JAR containing GBeans used
> by the EJBs or web app (or that just run when the app runs).
>
> To do this, I figure we'd just let you specify additional modules in
> the geronimo-application.xml, even if you're not going to provide a
> plan for them.  So it would be something like this:
>
> application.xml
>
> <application>
>  <module><ejb>foo.jar</ejb></module>
>  <module><web>...</web></module>
> </application>
>
> geronimo-application.xml
>
> <application>
>  <module>
>    <other>bar.jar</other>
>  </module>
> </application>
>
> Where a plan like this indicates that there are no overrides for the
> EJB or Web app, but we're adding another module, bar.jar, with
> unspecified type.  That should be OK since during deployment we ask
> all the config builders whether they can handle the specified module,
> so we'll figure out whether we can handle it, and if so, what type of
> module it is (based on what deployment descriptors / plans it
> contains).
>
> Thanks,
>    Aaron
>
>