Hi there,

just like to putting in my last 2 cents for this year (BTW: I wish you very 
happy X-MAS).

-----Urspr�ngliche Nachricht-----
>Von: marc fleury [mailto:[EMAIL PROTECTED]]
>Gesendet: Donnerstag, 21. Dezember 2000 18:25
>An: jBoss Developer
>Betreff: RE: [jBoss-Dev] The Dumbo problem (Big EARs)


|> if a,b,c are independently deployed EARs
|>
|> such that
|>
|>    a
|>   / \
|>  b   c


To conclude and ensure that I understood correctly, I think we have seen two
different options for the problem of "how to break up a big EAR into several
EARs and how to incrementally link the pieces again at runtime such that
they behave 
like the big original":

- Marc�s proposal: EAR dependencies are encoded into a combination of a
central naming repository and the ejb-ref annotations of the individual
classes. This is close to what I originally proposed as the "multiple,
circular dependencies" thingy.

        Advantages: 
                - is very elegant.      
                - allows fine-grained control.
                - can cope with circular dependencies 
                - lot of possibilities to partition the logical application
                - no sacrifice to VM/CL design
      Problems: 
                - Spec compliance (should ejb-ref be reinterpreted?) versus
management problems
                  (who cares about central naming?)  
                - What about factoring out just non-bean, not-ejb-referenced
parts 
                  (e.g., shared helper classes, common wars, etc.) of an
application? 
                - Incremental (re-)deployment cannot be done efficiently
with the 
                  current ClassLoader model. Similar to Marc, I was
constructing myself a 
                  similar, nighmare example:
                  Altough you could deploy several EAR parts of the logical
application (in your
                  example: "b" and "c") into a single classloader ... you
probably won�t find 
                  out until "a" is deployed which would force you to tear
down the whole damned
                  tree again. Very unsatisfying. But maybe preprocessing of
a 
                  central "XML-script" could tell us before to put b into
the same classloader              than c ... ? On the other hand, changes to
the XML script at runtime would be 
                  impossible.
 
- Rickard�s model: EAR dependencies are encoded into a special tag of the
jboss-application.xml. Each ear could only have a single parent EAR.

        Advantages:
                - spec compliance (ejb-ref would just be interpreted in the
wider scope)
                - no central overview over the logical application necessary
                - close-to-straightforward, efficient (re-)deployment
                - close-to-VM design
                - factoring out of arbitrary "modules" inside the EARs
        Problems:
                - not every partitioning of the logical application can be
done.
                - sacrifice to the existing CL hierarchy
                - dependencies specified via relative URL�s, not logical
names.

Before coming up with the nightmare example, I was in favor to 
the first option (with the relations being nevertheless 
specified in the individual jboss-application.xml�s, but that�s a minor
issue.)

Regarding the arguments of simplicity and efficiency, 
I now severly tend to the second option. Especially because we can start to
write it 
ASAP ...

Doesn�t say that we still can�t write a custom classloader model that can
handle a wider class of partitionings, later, does it? For both approaches,
the meta-model must be revisited ...
 
Best,
CGJ

Reply via email to