Peter M. Goldstein wrote:

>Please consider this my -1 to replacing ComponentManager in the Mailet
>API with ServiceManager as a long term approach.
>
>There have been extensive discussions on this list about the coupling
>between the Mailet API and Avalon.  How extensive should this coupling
>be, what form should it take?
>  
>

Peter:

Can you provide me with summary of the issue here - if I look at the 
Mailet interface there are no Avalon Framework dependecies.  As a 
container author there are a couple of lifecycle thigns I need to take 
care of which is complete within the scope of the lifecycle extension 
model used in a couple of Avalon containers (i.e. even if Mailet is 
independent of Avalon I can still treat a Mailet as a component - I just 
need to know the lifecycle logic).  I guess I'm confussed about the 
Avalon lock-in issue .. can you explain?

>For my part, I don't really have a tremendous objection to a tighter
>coupling between Avalon and the Mailet API.  I know that some do,
>because they want to see the Mailet API become a server-independent
>standard.  I respect that opinion, but it's not the reason I'm voting
>against this as a long term proposal.  I'm interested in James as an
>enterprise quality mail server, not in the Mailet API in the abstract.
>If the mailet API were to incorporate some subset of the Avalon
>lifecycle, I'd have no objection in principle.
>
>I do object however to an attempt to slip things in the back door.  The
>current situation is the worst of both worlds.  We're tightly coupled to
>the Avalon lifecycle framework (see the current situation), but gain
>none of its benefits.  There is no ordered lifecycle, no well defined
>series of events.  
>

There are some Avalon issues I would be jumping up and down about but 
the lifecycle ordering is not one one of them.  Lifecycle orddering is 
very stong and is very reason why I can run james in Merlin.

>There isn't even a wrapper method for the
>MailetContext to ensure that when we get the ComponentManager /
>ServiceManager we're actually getting a ComponentManager /
>ServiceManager object because that would introduce Avalon classes into
>the Mailet API.  
>

This is ignorance on my part - over on the left I have a bunch of 
windows open showing the Mailet sources - I'm not getting the issue - 
but (a) it's late and (b) I would really like to undertand the issue.

:-)

>That's supposedly a guarantee of the container, but it
>can't be a real guarantee because not every Mailet container is
>necessarily an Avalon container.  So these mailets aren't really
>portable even though their interfaces all say they are.  Arrgh.  But we
>don't have any Avalon interfaces in our API, so we're Avalon independent
>(wink, wink).  Double arrgh.
>  
>

Ok - I'm lost!!

>   
>For a long term solution I see three possibilities:
>
>i) Incorporate the Avalon classes into the Mailet API - there is strong
>objection to this and it ties us to Avalon
>  
>

It's a reasonable argument.

>ii) Incorporate some other set of classes that provide much of this
>functionality (i.e. JDK 1.4 for logging) and write adaptors for the
>relevant Avalon classes - probably incur strong objections, adaptors
>might be tricky
>  
>

That's where things start to suck.
But is this really a Mailet API issue - or just lots of fuss over the 
current mailet container implementation?

>iii) Do it all ourselves, making a more rigorous lifecycle for the
>mailet and write adaptors for the relevant Avalon classes - probably the
>least objections from those who want the Mailet API to be independent,
>adaptors might be tricky
>  
>

I'm using James because it's based on Avalon.
Doing a roll-your-own means that I have to a lot of extra stuff to 
handle the same things - that sucks.

>Anyway, that's why I'm voting -1 on simply replacing ComponentManager
>with ServiceManager for the long haul.  I understand we may need to do
>it temporarily.  If we do, I want us to commit to coming up with some
>sort of acceptable solution by a given date/release.  Otherwise I'll
>vote against the change.
>  
>

Summmary - I don't get the issue (and that's probably because I'm not 
deep enough into James).  I do know that moving from ComponentManger to 
ServiceManager reduces your depedence on Avalon.  That's the reason it 
was introduced.  I had way too many situations where I was forced to 
wrap other system just to fit into the "Avalon" way - and without any 
good reason.  ServiceManager changed all of that - I can now have a 
CORAB ORB as a service, supplied to another component (the OMG spec for 
the ORB does not include and will never include the Avalon Framework 
Component Interface). I have lots and lots of other examples where I'm 
using non-Avalon services within components, and exporting services 
without any Avalon baggage.

Bottom line - moving from ComponentManager to ServiceManager means 
giving yourself more liberty.

Anyway - If someone can bring me up to speed on the Mailet issue - I 
would be really happy.

Cheers, Steve.

p.s. Yes - I read lots of message in the thread about logging and to be 
frank - I'm no better of than before.

SJM

>--Peter
>
>  
>
>>-----Original Message-----
>>From: Steve Short [mailto:[EMAIL PROTECTED]]
>>Sent: Tuesday, September 24, 2002 4:10 PM
>>To: James Developers List
>>Subject: RE: [PATCH] Replace Components with Services
>>
>>Yes - replace ComponentManager with SystemManager.  I do not think is
>>    
>>
>as
>  
>
>>big a deal as you do.
>>
>>Steve
>>
>>    
>>
>>>-----Original Message-----
>>>From: Peter M. Goldstein [mailto:[EMAIL PROTECTED]]
>>>Sent: Tuesday, September 24, 2002 4:05 PM
>>>To: 'James Developers List'
>>>Subject: RE: [PATCH] Replace Components with Services
>>>
>>>
>>>
>>>Steve,
>>>
>>>      
>>>
>>>>It is an unfortunate situation, but I think the path that will
>>>>        
>>>>
>cause
>  
>
>>>the
>>>      
>>>
>>>>least pain now and in the future is to bite the bullet and do it.
>>>>        
>>>>
>>>There
>>>      
>>>
>>>>aren't too many mailets that use a ComponentManager /
>>>>        
>>>>
>ServiceManager
>  
>
>>>and
>>>      
>>>
>>>>for those the code change is trivial.
>>>>        
>>>>
>>>But that's exactly the question - do what?  Replace
>>>ComponentManager with ServiceManager?  Is this our permanent
>>>solution (very -1)?  If not, how do we present it to our user
>>>base?  When do we expect to have a permanent solution?
>>>
>>>      
>>>
>>>>Let's not get into forked Cornerstone or being tied to prehistoric
>>>>releases of Avalon packages, both of which will just lead
>>>>        
>>>>
>>>to more and
>>>      
>>>
>>>>more compatibility problems.  James needs to be able to move up to
>>>>        
>>>>
>>>newer
>>>      
>>>
>>>>releases of these packages as easily as possible.
>>>>        
>>>>
>>>Absolutely agree.
>>>
>>>      
>>>
>>>>As far as backwards compatibility is concerned, this is partially
>>>>        
>>>>
>>>blown
>>>      
>>>
>>>>already with the enabled flag required in  config files so
>>>>        
>>>>
>existing
>  
>
>>>>config files will no longer work.  Admittedly this is much
>>>>        
>>>>
>>>easier to
>>>      
>>>
>>>>fix.
>>>>        
>>>>
>>>There is a huge difference here.  Basically we can (and
>>>should) write some simple XML transform code to change the
>>>config file as necessary. Even if we don't do this, any
>>>administrator can be instructed to do minor adjustments to
>>>their config file.
>>>
>>>Changing APIs is an entirely different order of magnitude.
>>>
>>>--Peter
>>>
>>>
>>>
>>>--
>>>To unsubscribe, e-mail:
>>><mailto:james-dev-> [EMAIL PROTECTED]>
>>>For
>>>additional commands,
>>>e-mail: <mailto:[EMAIL PROTECTED]>
>>>
>>>
>>>      
>>>
>>--
>>To unsubscribe, e-mail:   <mailto:james-dev-
>>[EMAIL PROTECTED]>
>>For additional commands, e-mail: <mailto:james-dev-
>>[EMAIL PROTECTED]>
>>    
>>
>
>
>
>--
>To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>
>
>  
>

-- 

Stephen J. McConnell

OSM SARL
digital products for a global economy
mailto:[EMAIL PROTECTED]
http://www.osm.net




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to