Hi Simon, In one of the previous mails Sebastien proposed two ways of how the SCADomain should exist in geronimo
(a) one instance of SCADomain per component running on the server, loaded with a subset of the distributed SCA domain composite representing that component and enough information about its peer components for it to locate and wire to them.
(b) a single SCADomain object per Geronimo server, loaded with all the components running on the server. This will save a little bit of memory, at the expense of more synchronization work.
I'd suggest to start with option (a) as it's the model that needs to be supported when SCA components run on different physical machines as well, and I'm actually not sure that we'll get any real performance gain with (b) over (a) if we do (a) right.
Point (a) looks very similar to the distributed domain concept you explained. First it should be distributed across different apps/classloaders. There will be different instances of SCADomain containing parts of the whole and the different domain instances should constitute a single domain, which is capable of wiring together the components in the different instances they should be able to wire. This looks exactly like the scenario u mentioned but only locally. Is this supported as of now.
> As Raymond says, we do have limited support for the distributed SCADomain now. The APIs for driving it are not sorted out yet though. What happens now is that you provide all contributed resources to each node in the domain and then tell each node which component from a contribution it is responsible and it does the rest creating remote connections where appropriate.
I am interested to understand how you might use a distributed domain in the Geronimo integration exercise, even if you use the single EmbeddedSCADomain in the first instance, as it could inform the design of the API.
I didn't give much thought to this but at the high level two possibilities. a) If we have a single domain per server. Then that domain can span over multiple Geronimo instances and do wiring between JEE apps exposed as SCA services on both the server instances. b) If we have multiple domains in each server, then each of them can span over multiple instances. c) If in one server itself there are many instances constituting one domain, then there is a possibility that there are multiple instances in another server as well which also will be part of the same domain. d) What to do when we cluster geronimo instances? Will SCADomains be clustered too? I am not sure how much sense i am making and whatever I am saying is very general. This is all i can think off now. If there is anything else someone can think off pls jump in. Regards Manu
Regards Simon