Peter,
>>>[ .. assembly .. ]
>>>
>>Yes, but perhaps an Ant task before then. Automation is more important
>>that interactive replacement.
>>
>
>The problem is it quickly requires human intervention for most things. ie
>Merging configuration and adding .jar files is simple enough but how do you
>manage dependencies between blocks. If you are replacing another block then
>it *should* be easy but it gets really tricky when you start moving beyond
>that.
>
>>>>P3) The FAQ needs to be updated. Experience of "new guy" should be
>>>>incorporated into the faq/docs ("Woods for the Trees" anti-pattern).
>>>>
>>>+100
>>>
>>>volunteering ? ;)
>>>
>>Perhaps a little with infrastructure. How about we ask people we are
>>helping in the list to contribute what then feel to be a decent FAQ
>>point after we've helped them in the list. Vinay's cryptic:
>>
>> "How does one service access the instance of another Service.?"
>>
>>Is a good example of not knowig where to start (as we're all so familiar).
>>
>
>Im happy to answer questions if you want to create a list of them, chuck them
>in a faq.xml and get it generating stuff properly ;)
>
Cool will do. From now on can we compel newbies to FAQize their
questions and the resulting answers to asist the FAQ program.
>>>+1 Phoenix has needed this ever since we went from a 2-layer app to a
>>>3-layer app. (About a year ago?). However before we can do this there is
>>>2 issues we really need to resolve. One is the ClassLoader issue and the
>>>other is the definition of the interface.
>>>
>>Re Interfaces, I'd like to see support for multiple versions of the same
>>interface.
>>
>
>Should be possible - especially as I no longer see apps sharing any
>classloader stuff. We can use the jdk1.3 Proxy stuff or BCEL to implement
>this I think.
>
Indeed.
>>Re Classloader, you know my daft ideas. I'll re-read your RT thread,
>>
>
>promotion ? sorry still don't like that idea ;)
>
I don't like it anymore either, It was a cool trick bat had loads of
downsides. Proxy of some sort is the answer.
>>>The other is the definition of the interface. The problem arises is how do
>>>we know when the interface has been invalidated? We could let the
>>>application know with another Event listener interface but that seems
>>>like overkill. The other alternative is to make it a Remote interface but
>>>I know how much you hate that ;)
>>>
>>Invalidated? You mean dependancies. EJB need to know when Tomcat is
>>stopping? Perhaps Tomcat can't stop until things that use it have?
>>
>
>This would actually make Phoenix's Application very similar to the notion of
>a Partition as per HP's CSF framework (and the Services JSR basis).
>
>Is this a good thing or not ? Not sure. It could be painful because you could
>force a whole bunch of things to go down unecessarily when you want to swap
>an application.
>
>It would be even worse when the application was a container (ie a servlet or
>mailet container) and the components it contained (servlet or mailet)
>depended on another application and that other application depended on on the
>container application.
>
>ie in more simple terms
>
>A and B are applications.
>B depends on A
>A contains P sub-component.
>P depends on B
>
That is a very complex example. Not sure it would ever exist as it is
circular.
>So given this there are three options.
>1. Have the interfaces throw a IllegalStateException when invalidated
>2. Have the interfaces be a rmi Remote interface
>3. Have the interfaces only accesible via a reflection-like ability (similar
>to JMX). eg
>
>otherObject.invoke( "performAction", new Object[] { param1, param2 } );
>
>
>(3) is too clunky for users in my mind.
>
Agree, but it would work. Almost Bean Scripting Framework like. Hmmmm.
>(1) encourages bad programming
>practices and could lead to faulty applications relatively easy.
>
Yup.
>Thus (2) is the best one IMHO at this stage. It would also have the nice
>side-effect that we could federate servers. ie the ServletEngine may be on
>different host from MailetEngine but they could both talk as if they were on
>same machine.
>
Nooooooooooooo, RMI is flawed - it has that abominable RemoteException
thing. Avalon Method Invocation (AMI) is what we want. What ever that is.
>So maybe the rule would be that anything registered into the JNDI directory
>should be a Remote interface or something ?
>
I'm not sold on the need for a JNDI directory, but others are so I'll
not resisit.
- Paul
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]