avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean Louis Seguineau" <jean-louis.seguin...@antepo.com>
Subject Re: Phoenix Server Resource Pooling
Date Mon, 11 Feb 2002 08:42:56 GMT
Hi All,

I have ideas actually, I we have put it to work. The basic is that within a
certain context a block could "extend" the service provided by another block
hosted by another application. Let's say we have such things as a
communication bus, a naming service, a connection manager, a thread manager
and so on, that will be deployed by a "core-service" application. Then other
application blocks will declare in the assembly file that they extend a
"core-service" application block by giving its name. This implies adding an
attribute to the <block/> tag in the assembly.xml and provisionning for it
in the BlockMetaData class.

Then we need a mechanism that will work along the lines of the blocks
dependencies processing to process the various applications in the right
order, i.e. the one that provide services to other applications first. This
is done by having the bunch of applications made available to check together
to the Deployer that will order the applications for processing. This
implies the adjunct of a batch process interface for the Deployer where an
array of names and an array of locations is provided instead of a single
name/location pair. Obviously, the Embeddor has to be modified accordingly.

Lastly, we need a mechanism to allow an application to provide references to
block proxies from other applications. This is performed in the
ApplicationContext that is modified to hold a reference to the Kernel and
allow a new getBlock that takes an application name and a block name as
parameters. Obviously, the Application getBlock is modified accordingly to
look in the context when necessary. Impact falls on the ApplicationContext,
DefaultApplication, DefaultKernel and LifeCycleHelper.

I have attached the modified classes so that you can look at it. For the
time being it serves our purpose, i.e. we work in a trusted environment and
I have not extended fully all the security management issues. And as I
mentioned, it is only working in a single JVM environment. I am sure you
guys will have ideas on the subject to extend it further :)



P.S. As we do not want to mess up original Phoenix sources, the modified
classes are in the com.antepo.accept code base.

----- Original Message -----
From: "Peter Donald" <peter@apache.org>
To: "Jean Louis Seguineau" <jean-louis.seguineau@antepo.com>
Cc: "Avalon Development" <avalon-phoenix-dev@jakarta.apache.org>
Sent: Saturday, February 09, 2002 8:24 AM
Subject: Re: Phoenix Server Resource Pooling

> On Fri, 8 Feb 2002 01:11, Jean Louis Seguineau wrote:
> > Hi Peter,
> >
> > Extend my thanks to the whole team for putting up such a great
> thanks!
> > I was wondering if anybody has already started thinking/working on a way
> > have several applications(servers) in Phoenix share Blocks(services)
> > would be considered "core" services and that would only be instantiated
> > once for the whole framework. Starting with this feature on a single
> > instance of Phoenix would do :)
> We have talked about doing this a few times and a few different ways
> as yet none of the mechanisms are in place. So the only way you can do
> currently is merge all the different applications into one .sar file.
> Almost all the infrastructure is currently in place for such a move -
> we have to decide on how we would describe inter-application
dependencies -
> any ideas?
> --
> Cheers,
> Pete
> "Artists can color the sky red because they know it's blue.  Those of us
>  aren't artists must color things the way they really are or people might
>  think we're stupid." -- Jules Feiffer

View raw message