You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Nash (JIRA)" <de...@tuscany.apache.org> on 2009/08/03 13:23:15 UTC

[jira] Created: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
-------------------------------------------------------------------------------------

                 Key: TUSCANY-3193
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Domain Management
    Affects Versions: Java-SCA-1.5.1
            Reporter: Simon Nash
            Assignee: Simon Nash
             Fix For: Java-SCA-1.5.1


When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.

Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.

In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.

A complete fix for this problem requires the following:
1. Add <binding.sca> elements to the generated configuration.
2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Laws (JIRA)" <de...@tuscany.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Laws updated TUSCANY-3193:
--------------------------------

    Fix Version/s:     (was: Java-SCA-1.5.1)
                   Java-SCA-Next

> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-Next
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Nash (JIRA)" <de...@tuscany.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738395#action_12738395 ] 

Simon Nash commented on TUSCANY-3193:
-------------------------------------

The fix I have checked in isn't completely straightforward because of the "catch 22" of the binding URIs being created before the wiring is done.  This ordering means that it isn't possible to use the presence or absence of wires to influence whether a relative or absolute URI is created for binding.sca.

The desired behaviour for <binding.sca> is to create an absolute URI for reference and service bindings (including reference callback bindings) if the reference and service are wired across composites running on different nodes in a distributed configuration.  For references and services that aren't wired, or that are wired within a composite running on a single node in a distributed configuration, the binding URI should be relative so that locally optimized calling is used.

With the r800411 fix, the URI creation step still happens first.  If the binding type is binding.sca and the builders are being called by the domain manager to create a node configuration, a "tentative" relative URI is created for the binding and the binding is added to a Map that maintains binding/node relationships (the bindingMap).

When the domain wiring is done later, there is code in the matchBinding() method of BindingConfigurationUtil that uses the bindingMap created in the first step to look up which node the reference or service is running on.  If the source and target of the wire are running on different nodes, the "tentative" relative URI is updated to convert it to an absolute URI with host/port information.  In all other cases the "tentative" relative URI is left unchanged.

For reference callback URIs, the "tentative" relative URI is updated to an absolute URI if and only if the target of the forward wire is outside the current node.

If the builders are not being called by the domain manager, the bindingMap will always be null and none of the above processing will happen.  This ensures that the fix will not disturb the execution paths for calls not made by the domain manager.

> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-1.5.1
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Nash (JIRA)" <de...@tuscany.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Nash updated TUSCANY-3193:
--------------------------------

    Affects Version/s: Java-SCA-1.6

> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1, Java-SCA-1.6
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-Next
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Nash (JIRA)" <de...@tuscany.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Nash closed TUSCANY-3193.
-------------------------------


> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1, Java-SCA-1.6
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-Next
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Nash (JIRA)" <de...@tuscany.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746683#action_12746683 ] 

Simon Nash commented on TUSCANY-3193:
-------------------------------------

This fix wasn't quite correct.  In some cases the matchBinding() method could be called more than once and would add host/port information to the service URI each time it was called, producing URIs like
  http://localhost:8087localhost:8087/ShoppingCartComponent
instead of
  http://localhost:8087/ShoppingCartComponent

I have fixed this problem by removing the service binding from the bindingMap when the host/port information is added.  This prevents the host/port information from being added again.  I have checked this fix into the 1.5.1 branch under revision r807024.


> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-1.5.1
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Nash (JIRA)" <de...@tuscany.apache.org>.
    [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738375#action_12738375 ] 

Simon Nash commented on TUSCANY-3193:
-------------------------------------

Fixed in the 1.5.1 branch under revision r800411. I will copy this to the 1.x branch soon.

> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-1.5.1
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (TUSCANY-3193) Domain Manager GUI does not put entries in generated node confiig files

Posted by "Simon Nash (JIRA)" <de...@tuscany.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Nash resolved TUSCANY-3193.
---------------------------------

    Resolution: Fixed

One change (in cloud-gadget.html)  was missing from the previous commits for this issue and I have added this change to the 1.x trunk under revision r951548.  This completes the fix for this issue.

> Domain Manager GUI does not put <binding.sca> entries in generated node confiig files
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3193
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3193
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Domain Management
>    Affects Versions: Java-SCA-1.5.1
>            Reporter: Simon Nash
>            Assignee: Simon Nash
>             Fix For: Java-SCA-Next
>
>
> When creating a domain configuration from scratch using the Domain Manager GUI, the generated configuration files for nodes in the "cloud" directory don't have a <binding.sca> entry.  These files currently have host/port entries for binding.ws, binding.http, binding.jsonrpc, and binding.atom, but no host/port entry for binding.sca.
> Without this entry, application composites sent to the nodes by the domain manager will always have local-only <binding.sca> entries, which means they can't use binding.sca to communicate between different nodes.  This applies to both forward calls and callbacks.
> In order to get binding.sca to work across distributed nodes, it's currently necessary to manually edit the generated files in the "cloud" directory and add <binding.sca> elements to the node definitions.  This is a serious usability issue for someone who wants to use the distributed domain in the simplest possible manner.
> A complete fix for this problem requires the following:
> 1. Add <binding.sca> elements to the generated configuration.
> 2. Change the builder code so that the presence of these elements does not force all binding.sca calls to use a distributed provider, which would create unnecessary overhead when the reference and the target are running on the same node.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.