tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Nash <n...@apache.org>
Subject [1.5.1] Domain manager and binding.sca
Date Sun, 02 Aug 2009 09:49:44 GMT
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?


View raw message