tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Nash <n...@apache.org>
Subject Re: [1.5.1] Domain manager and binding.sca
Date Mon, 03 Aug 2009 09:54:50 GMT
Simon Laws wrote:
> Hi Simon
> 
>>> 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.
>>>
> snip...
> 
> Can you give a specific example here. I don't quite understand what
> you mean. I just ran up the store tutorial where for an input of...
> 
> 	<component name="StoreCatalog">
> 		<implementation.java class="services.FruitsCatalogImpl"/>
> 		<property name="currencyCode">USD</property>
> 		<service name="Catalog">
> 			<t:binding.jsonrpc/>
>    		</service>
> 		<reference name="currencyConverter" target="StoreCurrencyConverter"/>	
> 	</component>
> 
> 	<component name="StoreCurrencyConverter">
> 		<implementation.java class="services.CurrencyConverterImpl"/>
> 	</component>
> 
> I get an output from the domain manager of...
> 
> <component name="StoreCatalog" uri="StoreCatalog">
>   <implementation.java class="services.FruitsCatalogImpl"/>
>   <service name="Catalog">
>     <interface.java interface="services.Catalog"/>
>     <ns2:binding.jsonrpc name="Catalog"
> uri="http://localhost:8100/StoreCatalog"/>
>     <callback/>
>   </service>
>   <reference name="currencyConverter">
>     <interface.java interface="services.CurrencyConverter"/>
>     <binding.sca
> name="currencyConverter#StoreCurrencyConverter/CurrencyConverter"
> uri="/StoreCurrencyConverter"/>
>     <callback/>
>   </reference>
>   <property name="currencyCode" mustSupply="false" many="false"
> type="ns2:string">USD</property>
> </component>
> 
> <component name="StoreCurrencyConverter" uri="StoreCurrencyConverter">
>   <implementation.java class="services.CurrencyConverterImpl"/>
>   <service name="CurrencyConverter">
>     <interface.java interface="services.CurrencyConverter"/>
>     <binding.sca name="CurrencyConverter" uri="/StoreCurrencyConverter"/>
>     <callback/>
>   </service>
> </component>
> 
> Are you talking about forward calls or callbacks or both?
> 
> Regards
> 
> Simon
> 
> 
Sorry that my previous note was not clear.  I was referring to the files
in the "cloud" directory that are generated by the Domain Manager GUI
when using the Domain Manager GUI with no predefined configuration.
These currently have host/port entries for binding.ws, binding.http,
binding.jsonrpc, and binding.atom.  They don't include a host/port entry
for binding.sca.

Without this entry, application composites will always have local-only
<binding.sca> entries (as your example shows) which means they can't
use binding.sca to communicate between different nodes.  This applies
to both forward calls and callbacks.

The good news is that my builder fix to optimize intra-node binding.sca
calls (option 3 from my earlier post) is now working for forward calls.
I now need to enable callback support, which shouldn't take long.
After that I'll run a full build to make sure that my changes haven't
disturbed anything.

   Simon


Mime
View raw message