Peter
Nice picture.
But, What is JA doing to PCA and MA. It has two parents? Is that aggregation? I think you'll have problems trying to implement that. I think that you are trying to make PCA invisible to MIA. Personally I think a minimal set of interfaces from PCA visible in terms of classloading to MIA would be acceptable. Nothing in terms of impl, nothing that could be instantiated. Nothing that could be serialized, etc.
I'm all for a K/CAPI/HC separation, but think you don't have it right yet.
- Paul
Sorry bro, but its kinda needed by my graphical mind.
I think best in pictures too ;)
This is what I would like to do if I was going to be creating a Mailet engine.
SC = System ClassLoader
PCA = Phoenix Client API (phoenix-client.jar, avalon-framework.jar and also logkit and excalibur atm)
PK = Phoenix Kernel/Container implementation
MA = Mailet API
JA = Mailet Engine AKA James
MIA = Mailet Instances Application (set of mailets that form an application)
And heres the pretty picture
+ <--- PK | | SC + <--- PCA + <--- + <--- JA | | | | + <--- MA + <--- + | | + <--- MIA
Now using the following categorization scheme
K = Container/Kernel CAPI = Client API HC = Hosted Component
If you look at the "Phoenix" container level then the above would breakdown as
K == PK CAPI == PCA HC == JA
If you look at the "Mailet" container level then
K == JA CAPI == MA HC == MIA
Does that make it easier to grok ? ;)
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>