You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Alex Karasulu <ao...@bellsouth.net> on 2003/10/29 02:35:39 UTC

Kernel bootstrapping question

When bootstrapping the Kernel I guess we use the system repository right?
When bringing up the application we use the application repository which is
referred to as the user repository.  Are there any objections to calling
this the application repository?  There could be reasons for separating
repositories for the various applications run by a user and in this light
the connotation of an application specific repository makes more sense to
me.  

 

Alex


Re: Kernel bootstrapping question

Posted by Stephen McConnell <mc...@apache.org>.

Peter Courcoux wrote:

>On Wed, 2003-10-29 at 08:27, Stephen McConnell wrote:
>  
>
>>Alex Karasulu wrote:
>>
>>    
>>
>>>When bootstrapping the Kernel I guess we use the system repository right?
>>>When bringing up the application we use the application repository which is
>>>referred to as the user repository.  Are there any objections to calling
>>>this the application repository?  There could be reasons for separating
>>>repositories for the various applications run by a user and in this light
>>>the connotation of an application specific repository makes more sense to
>>>me.  
>>> 
>>>
>>>      
>>>
>>+1
>>
>>Steve.
>>    
>>
>
>Does it not make sense to have a single maven style repository? This
>could provide access to versioned resources and keep them all in one
>place. Separate user repositories for each application seems like it
>might encourage or require duplication of common resources. 
>

In my own environment I've had up to three seperate repositories in use.
These included (a) maven's repo - linked to development, (b) a more
stable merlin default application repository, (c) an test repository
that I use for validating things like James before releasing.

The think is:

(a) we always have a default common shared application repository
    which is basically ${merlin.home}/repository

(b) we have option (already) to swtich in a different repository
    (e.g. the abstract merlin testcase switches in the maven
    repository as the default application repostory) depending
    on deployment requirements

(c) none of this is suggesting a different repo per app or anything
    like that - its simply more correct to refer to the repository
    in the code as the "applicable" repository - relacting an
    "application context"

>
>
>Are there any implications for a security model?.
>

Yes.

Currently we have all permission assiged - but in the future a component
will be given read access to the repository whereas we may want to
control what permissions a repository itself has - e.g. a static repository
than cannot perform remote updates as opposed to a dynamic repository.

Cheers, Steve.

>
>
>Regards,
>
>Peter
>  
>
>>>Alex
>>>
>>>
>>> 
>>>
>>>      
>>>

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


RE: Kernel bootstrapping question

Posted by Alex Karasulu <ao...@bellsouth.net>.
Ooops forgot the patch attachment!



RE: Kernel bootstrapping question

Posted by Alex Karasulu <ao...@bellsouth.net>.
Peter,

Yeah I think the route taken (one application repo verse many) is
application specific.  I guess your example shows that in a way.  Did you
see Steve's response?  It does not really matter for me this is a semantics
issue.  Anyway I agree with you to leave it up to the user to decide how to
slice and dice with the ginsu knife.

> I'm trying to think of reasons to have multiple repositories. Security
> may be one.

 [Karasulu, Alex] 
Sounds good but I can't think of a concrete example right now.

> The system repository contains the bootstrapping resources so multiple
> versions of merlin could be run, which may be important if merlin
> changes dramatically.

[Karasulu, Alex] 
Versioning is another good idea.  The repo structure could be played with in
other Merlin releases.  The hierarchical repo discussion earlier could be
put to the test in another application repo - it would have to I guess.
Good idea!

> I started to look at this as I was embedding merlin as a component
> service in a turbine app of mine. The question was:- should we have a
> complete merlin installation in webapp/WEB-INF? Steve suggested that
> this is normally a read-only location which would have implications for
> programmatic updating of artifacts in a repository. If we were moving
> out of the WEB-INF directory then it made sense to perhaps think of a
> local repository which could hold artifacts for any merlin component. I
> was therefore very interested in your work on kernel context and
> builder.
> 
> I don't know the answer but consider the following structure :
> 
> 
> Merlin
>    |---	James
> 
>    |---	Jetty
> 	   |---	webapp
> 		   |--- Merlin
> 
> 	   |---	webapp
> 		   |--- Merlin
> 
>    |--- Ldapd
> 
>    |--- FtpServer
> 
[Karasulu, Alex] 

BU,
Alex



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


RE: Kernel bootstrapping question

Posted by Peter Courcoux <pe...@courcoux.biz>.
On Wed, 2003-10-29 at 20:01, Alex Karasulu wrote:
> <snip/>
> 
> > Does it not make sense to have a single maven style repository? This
> > could provide access to versioned resources and keep them all in one
> > place. Separate user repositories for each application seems like it
> > might encourage or require duplication of common resources.
> > 
> > Are there any implications for a security model?.
> [Karasulu, Alex] 
> 
> Your right the whole purpose for a repository is for keeping things in one
> place.  However keep in mind that this so called application repository is
> really a artifact cache for the application and not a REPOSITORY REPOSITORY
> like ibiblio etc where you snarf down dependencies.  The application
> repository is the local disk cache of all the dependencies pulled down from
> the remote repo.
> 
> But your question still holds does it make sense to "allow" multiple
> artifact cache' one per application.  I don't really know the answer to this
> right now because I have not encountered the use cases.  The safest approach
> I think is to allow for it and leave it up to the user to decide and
> configure.  What do you think?
> 
> Alex
> 

I'm trying to think of reasons to have multiple repositories. Security
may be one. 

The system repository contains the bootstrapping resources so multiple
versions of merlin could be run, which may be important if merlin
changes dramatically.

I started to look at this as I was embedding merlin as a component
service in a turbine app of mine. The question was:- should we have a
complete merlin installation in webapp/WEB-INF? Steve suggested that
this is normally a read-only location which would have implications for
programmatic updating of artifacts in a repository. If we were moving
out of the WEB-INF directory then it made sense to perhaps think of a
local repository which could hold artifacts for any merlin component. I
was therefore very interested in your work on kernel context and
builder.

I don't know the answer but consider the following structure :


Merlin 
   |---	James	
	
   |---	Jetty
	   |---	webapp
		   |--- Merlin
	
	   |---	webapp
		   |--- Merlin
	
   |--- Ldapd
	
   |--- FtpServer


I guess this is possible. It's mainly a problem if you are running
multiple webapps with individual merlin installations. However, Turbine
has its own AvalonComponentService available to each webapp, which by
default makes the structure a one Merlin installation per Turbine
webapp. 

I think that it could be done either way, and should almost certainly be
permitted. However, I think I might lean toward the option of a single
repository if possible and make it the default. 
 
It might make sense to ask what all the various users think, and if its
likely whether multiple instances of merlin will be run in practice. 

Keeping it all in WEB-INF for now does make it easier for my
TurbineAvalonMerlinComponentService. No trying to load stuff from
outside the web-app context!

Thoughts anyone?

Peter

> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org
-- 
Peter Courcoux <pe...@courcoux.biz>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: Kernel bootstrapping question

Posted by Stephen McConnell <mc...@apache.org>.

Alex Karasulu wrote:

><snip/>
>
>  
>
>>Does it not make sense to have a single maven style repository? This
>>could provide access to versioned resources and keep them all in one
>>place. Separate user repositories for each application seems like it
>>might encourage or require duplication of common resources.
>>
>>Are there any implications for a security model?.
>>    
>>
>[Karasulu, Alex] 
>
>Your right the whole purpose for a repository is for keeping things in one
>place.  However keep in mind that this so called application repository is
>really a artifact cache for the application and not a REPOSITORY REPOSITORY
>like ibiblio etc where you snarf down dependencies.  The application
>repository is the local disk cache of all the dependencies pulled down from
>the remote repo.
>
>But your question still holds does it make sense to "allow" multiple
>artifact cache' one per application.  I don't really know the answer to this
>right now because I have not encountered the use cases.  The safest approach
>I think is to allow for it and leave it up to the user to decide and
>configure.  What do you think?
>

By default we are enabling a single application repository 
${merlin.home}/repository.  We have provided and will continue to 
maintain the option for a user to override the default by declaring the 
location of an alternative application repository for a particular 
kernel instance.  There is nothing suggesting any policy that would 
result in a 1-to-1 mapping between kernel instance and application 
repository (and I don't think such a policy would be interesting or 
desirable).

All we want at the end of the day is:

1 it works out the box
2. you can configure it to do different things if you want

At the end of the day this means that Merlin is providing a default 
application repository but should you need something different, then the 
option exists to deploy using a different repository to suite a 
different application requirement (e.g. system deployment verus system 
testing).

Cheers, Steve.

>
>Alex
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
>For additional commands, e-mail: dev-help@avalon.apache.org
>
>
>  
>

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


RE: Kernel bootstrapping question

Posted by Alex Karasulu <ao...@bellsouth.net>.
<snip/>

> Does it not make sense to have a single maven style repository? This
> could provide access to versioned resources and keep them all in one
> place. Separate user repositories for each application seems like it
> might encourage or require duplication of common resources.
> 
> Are there any implications for a security model?.
[Karasulu, Alex] 

Your right the whole purpose for a repository is for keeping things in one
place.  However keep in mind that this so called application repository is
really a artifact cache for the application and not a REPOSITORY REPOSITORY
like ibiblio etc where you snarf down dependencies.  The application
repository is the local disk cache of all the dependencies pulled down from
the remote repo.

But your question still holds does it make sense to "allow" multiple
artifact cache' one per application.  I don't really know the answer to this
right now because I have not encountered the use cases.  The safest approach
I think is to allow for it and leave it up to the user to decide and
configure.  What do you think?

Alex



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: Kernel bootstrapping question

Posted by Peter Courcoux <pe...@courcoux.biz>.

On Wed, 2003-10-29 at 08:27, Stephen McConnell wrote:
> Alex Karasulu wrote:
> 
> >When bootstrapping the Kernel I guess we use the system repository right?
> >When bringing up the application we use the application repository which is
> >referred to as the user repository.  Are there any objections to calling
> >this the application repository?  There could be reasons for separating
> >repositories for the various applications run by a user and in this light
> >the connotation of an application specific repository makes more sense to
> >me.  
> >  
> >
> 
> +1
> 
> Steve.

Does it not make sense to have a single maven style repository? This
could provide access to versioned resources and keep them all in one
place. Separate user repositories for each application seems like it
might encourage or require duplication of common resources. 

Are there any implications for a security model?.

Regards,

Peter
> 
> > 
> >
> >Alex
> >
> >
> >  
> >
-- 
Peter Courcoux <pe...@courcoux.biz>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: Kernel bootstrapping question

Posted by Stephen McConnell <mc...@apache.org>.

Alex Karasulu wrote:

>When bootstrapping the Kernel I guess we use the system repository right?
>When bringing up the application we use the application repository which is
>referred to as the user repository.  Are there any objections to calling
>this the application repository?  There could be reasons for separating
>repositories for the various applications run by a user and in this light
>the connotation of an application specific repository makes more sense to
>me.  
>  
>

+1

Steve.

> 
>
>Alex
>
>
>  
>

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org