On Sun, Aug 2, 2009 at 10:49 AM, Simon Nash<[email protected]> wrote: > When creating a domain configuration from scratch using the > Domain Manager GUI, the generated configuration files don't include > a <binding.sca> entry. This means that deployed composites that > use binding.sca for inter-node communication don't work "out of the > box" in a distributed domain configuration. In order to get this > to work, it's necessary to manually edit the generated domain > configuration to add <binding.sca> elements to the node definitions. > > IMO this is a serious usability issue for someone just starting > with the distributed domain and I would like to change the domain > manager to generate a <binding.sca> entry in the node configuration. > This is a simple one-line change and it doesn't cause any problems > in a full build. > > Adding this entry makes the distributed domain work "out of the box" > with binding.sca. However, with the current domain mananger code, > this change also removes the local optimization for inter-node calls > using <binding.sca>. This is because the node configuration algorithm > is currently "all or nothing" which means that all references and > services using <binding.sca> would get an http:// absolute URI, forcing > them to use binding-sca-axis2 for communication rather than binding-sca. > > The correct solution is to make the domain manager URI generation > algorithm more intelligent and only create the http:// style of > URI for binding.sca references and services that use inter-node wires, > not those that use intra-node wires. Unfortunately this change is > not simple because URI generation in the domain manager currently > precedes domain wiring, which means the URI generation code doesn't > know which references and service are wired together. > > I can see 3 options for 1.5.1: > 1. Don't add <binding.sca> to node configurations in the domain > manager, and force users to do this manually. > 2. Add <binding.sca> to node configurations in the domain manager, > and accept that there won't be any local optimization when > binding.sca is used in a distributed domain configuration. > 3. Add <binding.sca> to node configurations in the domain manager, > and also fix the URI generation algorithm to preserve local > opimizations where they are applicable. I am currently thinking > about how best to implement this change. > > I am willing to work on option 3, but including this will delay the > release a little. I don't think option 1 is acceptable. I could live > with option 2, but others might not be happy with this. > > Comments, questions, opinions, preferences? >
Interestingly the Assembly spec (both OASIS and OSOA) says for binding.sca: 2452 If a reference specifies an URI via its uri attribute, then this provides the default wire to a service 2453 provided by another domain level component. The value of the URI has to be as follows: 2454 • <domain-component-name>/<service-name> so using an absolute URI seems not allowed. Would it not be possible to have the runtime know about the base URI for the nodes and automagically add in the http://host:port part? ...ant
