tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ant elder <ant.el...@gmail.com>
Subject Re: [1.5.1] Domain manager and binding.sca
Date Mon, 03 Aug 2009 08:25:59 GMT
On Sun, Aug 2, 2009 at 10:49 AM, Simon Nash<nash@apache.org> 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?


View raw message