Hi,
I have used  a http server to do my testing. I was wondering however if it
is possible to do this as part of setting up the domain/ deploying the
services.

Cheers,
Malte,

On Wed, Jul 30, 2008 at 3:38 PM, Raymond Feng <[EMAIL PROTECTED]> wrote:

>  Hi,
>
> The idea is that SCA contributions can be hosted anywhere that can be
> accessed by URLs, for example, a FTP site, a HTTP server, a SVN repo, a
> Maven repo or a file system. There are many ways to publish the
> contributions depending on the repo types, for example,  HTTP POST, AtomPub,
> WebDAV, FTP, SVN commit, Maven deploy.
>
> Thanks,
> Raymond
>
>  *From:* Malte Marquarding <[EMAIL PROTECTED]>
> *Sent:* Tuesday, July 29, 2008 6:09 PM
> *To:* [email protected]
> *Subject:* Re: calculator-distributed on multiple hosts
>
> Hi Simon,
> thanks for this. I guess what I am asking - as I am just coming back to
> java - is how can I "publish" the contributions' jar without doing it
> manually. I don't want to use a
> "contribution location="file://" style url, but have the jar made avaliable
> somewhere under - in this example - 
> http://<hostname>:9990/<http://%3Chostname%3E%3A9990/>
> .
>
> Cheers,
> Malte.
>
> On Tue, Jul 29, 2008 at 6:16 PM, Simon Laws <[EMAIL PROTECTED]>wrote:
>
>>
>>
>> On Tue, Jul 29, 2008 at 5:25 AM, Malte Marquarding <
>> [EMAIL PROTECTED]> wrote:
>>
>>> Hi,
>>> I had a look at it myself.  I now understand that  I can set the url in
>>> 'workspace.xml'  - RTFM . How do I package/deploy contribution as a jar
>>> file. Or should I leave this to you by submitting a JIRA?
>>>
>>> Cheers,
>>> Malte
>>>
>>>
>>> On Sat, Jul 26, 2008 at 12:17 AM, Simon Laws <[EMAIL PROTECTED]>wrote:
>>>
>>>>
>>>>
>>>> On Fri, Jul 25, 2008 at 2:59 PM, Simon Laws <[EMAIL PROTECTED]>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Fri, Jul 25, 2008 at 6:33 AM, Malte Marquarding <
>>>>> [EMAIL PROTECTED]> wrote:
>>>>>
>>>>>> Also, why doesn't it look it up in the jar? I edited the ant script to
>>>>>> include the path and remove the src directory, but that didn't help.
>>>>>>
>>>>>> Cheers,
>>>>>> Malte.
>>>>>>
>>>>>> On Fri, Jul 25, 2008 at 2:49 PM, Malte Marquarding <
>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> I made some progress. The problem is that the 'nodeB' composite file
>>>>>>> is looked up with an absolute path of server1 location of the file on
>>>>>>> server2. I hope you know what I mean. I found this by moving both 
>>>>>>> server1
>>>>>>> and server2 code into '/tmp' - the same location.
>>>>>>> Now the example runs happily.
>>>>>>> Shouldn't the file  look up be relative. This seems to be a bug.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Malte.
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jul 25, 2008 at 10:10 AM, Malte Marquarding <
>>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>>
>>>>>>>> Hi Simon,
>>>>>>>> that's exactly what I did the very first time I tried this (before
>>>>>>>> asking for help). I do get the same exception with respect ro 
>>>>>>>> FileNotFound
>>>>>>>> on  Host1 (server running domain).
>>>>>>>>
>>>>>>>> This is what the domain log says
>>>>>>>>
>>>>>>>>  [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.CompositeImageCollectionImpl
>>>>>>>> doGet
>>>>>>>>      [java] INFO: get NodeB
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.DeployedCompositeCollectionImpl
>>>>>>>> getAll
>>>>>>>>      [java] INFO: getAll
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.DeployableCompositeCollectionImpl
>>>>>>>> get
>>>>>>>>      [java] INFO: get composite:
>>>>>>>> http://tuscany.apache.org/cloud;http://sample/cloud;NodeA
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl 
>>>>>>>> get
>>>>>>>>      [java] INFO: get http://tuscany.apache.org/cloud
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.DeployableCompositeCollectionImpl
>>>>>>>> get
>>>>>>>>      [java] INFO: get composite:
>>>>>>>> http://tuscany.apache.org/cloud;http://sample/cloud;NodeB
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl 
>>>>>>>> get
>>>>>>>>      [java] INFO: get http://tuscany.apache.org/cloud
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.DeployableCompositeCollectionImpl
>>>>>>>> get
>>>>>>>>      [java] INFO: get composite:
>>>>>>>> http://tuscany.apache.org/cloud;http://sample/cloud;NodeC
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl 
>>>>>>>> get
>>>>>>>>      [java] INFO: get http://tuscany.apache.org/cloud
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.binding.atom.provider.AtomBindingListenerServlet
>>>>>>>> doGet
>>>>>>>>      [java] INFO: >>> FeedEndPointServlet /composite-image/
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.CompositeImageCollectionImpl
>>>>>>>> query
>>>>>>>>      [java] INFO: query composite=composite:nodeB;http://sample
>>>>>>>> ;CalculatorB
>>>>>>>>      [java] Jul 25, 2008 10:03:53 AM
>>>>>>>> org.apache.tuscany.sca.workspace.admin.impl.ContributionCollectionImpl 
>>>>>>>> query
>>>>>>>>      [java] INFO: query alldependencies=nodeB
>>>>>>>>
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Malte
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Jul 25, 2008 at 2:14 AM, Simon Laws <
>>>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   On Tue, Jul 22, 2008 at 12:53 AM, Malte Marquarding <
>>>>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Simon,
>>>>>>>>>> I did the following
>>>>>>>>>>
>>>>>>>>>> Host 1:
>>>>>>>>>> ant runDomain
>>>>>>>>>>
>>>>>>>>>> Host 2:
>>>>>>>>>> I modified in my case the NodeB launcher to run in the remote
>>>>>>>>>> location. I get an exception because it can find the artefacts
>>>>>>>>>>
>>>>>>>>>> ant runDomain
>>>>>>>>>> ant runNodeB
>>>>>>>>>>
>>>>>>>>>>       [java] INFO: Loading contribution:
>>>>>>>>>> file:/Users/me/java/tuscany-sca-1.2.1-incubating/samples/calculator-distributed/./src/main/resources/nodeB/
>>>>>>>>>>      [java] 22/07/2008 09:21:53
>>>>>>>>>> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil node
>>>>>>>>>>      [java] SEVERE: SCA Node could not be created
>>>>>>>>>>      [java] java.lang.reflect.InvocationTargetException
>>>>>>>>>>      [java] at
>>>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>>>>>>>>>      [java] at
>>>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>>>>>>>      [java] at
>>>>>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>>>>>>>      [java] at
>>>>>>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>>>>>>>>>>      [java] at
>>>>>>>>>> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:297)
>>>>>>>>>>      [java] at
>>>>>>>>>> org.apache.tuscany.sca.node.launcher.NodeLauncher.createNode(NodeLauncher.java:60)
>>>>>>>>>>      [java] at
>>>>>>>>>> org.apache.tuscany.sca.node.launcher.NodeLauncher.main(NodeLauncher.java:109)
>>>>>>>>>>      [java] at
>>>>>>>>>> node.LaunchCalculatorNodeB.main(LaunchCalculatorNodeB.java:26)
>>>>>>>>>>      [java] Caused by: org.osoa.sca.ServiceRuntimeException:
>>>>>>>>>> java.io.FileNotFoundException:
>>>>>>>>>> /Users/me/java/tuscany-sca-1.2.1-incubating/samples/calculator-distributed/./src/main/resources/nodeB
>>>>>>>>>> (No such file or directory)
>>>>>>>>>>
>>>>>>>>>> This directory is present on the remote domain (host 1)
>>>>>>>>>>
>>>>>>>>>> ls
>>>>>>>>>> /Users/me/java/tuscany-sca-1.2.1-incubating/samples/calculator-distributed/./src/main/resources/nodeB
>>>>>>>>>> 8 Calculator.composite 0 META-INF/
>>>>>>>>>>
>>>>>>>>>> What else  am I missing?
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Malte.
>>>>>>>>>>
>>>>>>>>>> On Mon, Jul 21, 2008 at 9:20 PM, Simon Laws <
>>>>>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jul 21, 2008 at 9:40 AM, Malte Marquarding <
>>>>>>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>> Thanks that works.
>>>>>>>>>>>>
>>>>>>>>>>>> Does that mean you are running two domains? This is exactly what
>>>>>>>>>>>> I stumbled over. I remote domain manger would certainly be good.
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> Malte
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Jul 21, 2008 at 3:06 PM, Luciano Resende <
>>>>>>>>>>>> [EMAIL PROTECTED]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> The calculator-distributed already runs in multiple VM. Let me
>>>>>>>>>>>>> describe the steps I had to do in order to run the sample in
>>>>>>>>>>>>> two
>>>>>>>>>>>>> different machines.
>>>>>>>>>>>>>
>>>>>>>>>>>>> In one of the machine, I ran NodeB and NodeC by doing the
>>>>>>>>>>>>> following :
>>>>>>>>>>>>>
>>>>>>>>>>>>> ant runDomain
>>>>>>>>>>>>> ant runNodeB
>>>>>>>>>>>>> ant runNodeC
>>>>>>>>>>>>>
>>>>>>>>>>>>> In the other machine, I ran NodeA that would connect to the
>>>>>>>>>>>>> remote
>>>>>>>>>>>>> nodes (nodeB and NodeC). I have to modify the node composites,
>>>>>>>>>>>>> to
>>>>>>>>>>>>> properly identify the remote uri for the nodes as follow :
>>>>>>>>>>>>>
>>>>>>>>>>>>>   <component name="NodeB">
>>>>>>>>>>>>>        <t:implementation.node uri="nodeB"
>>>>>>>>>>>>> composite="s:CalculatorB"/>
>>>>>>>>>>>>>        <service name="Node">
>>>>>>>>>>>>>            <binding.sca uri="http://tuscany1.domain.com:8200
>>>>>>>>>>>>> "/>
>>>>>>>>>>>>>        </service>
>>>>>>>>>>>>>    </component>
>>>>>>>>>>>>>
>>>>>>>>>>>>>     <component name="NodeC">
>>>>>>>>>>>>>                <t:implementation.node uri="nodeC"
>>>>>>>>>>>>> composite="s:CalculatorC"/>
>>>>>>>>>>>>>                <service name="Node">
>>>>>>>>>>>>>                        <binding.sca uri="
>>>>>>>>>>>>> http://tuscany1.domain.com:8300"/>
>>>>>>>>>>>>>                </service>
>>>>>>>>>>>>>        </component>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Then I ran nodeA :
>>>>>>>>>>>>>
>>>>>>>>>>>>> ant runDomain
>>>>>>>>>>>>> ant runNodeA
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> The only thing I'm not sure is how I would tell the node to
>>>>>>>>>>>>> connect to
>>>>>>>>>>>>> a remote domain manager, that would simplify the steps to run
>>>>>>>>>>>>> nodeA.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, Jul 20, 2008 at 6:41 PM, Malte Marquarding
>>>>>>>>>>>>> <[EMAIL PROTECTED]> wrote:
>>>>>>>>>>>>> > Hi,
>>>>>>>>>>>>> > any takers? I tried the API docs, but they are outdated -
>>>>>>>>>>>>> JIRA submitted and
>>>>>>>>>>>>> > trying to build from source.
>>>>>>>>>>>>> > Cheers,
>>>>>>>>>>>>> > Malte
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Luciano Resende
>>>>>>>>>>>>> Apache Tuscany Committer
>>>>>>>>>>>>> http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
>>>>>>>>>>>>> http://lresende.blogspot.com/
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> In the case of samples/calculator-distributed the node launchers
>>>>>>>>>>> are hard coded to talk to the domain at "http://localhost:9990";.
>>>>>>>>>>> If you look in each of the node launcher classes you will see lines 
>>>>>>>>>>> like...
>>>>>>>>>>>
>>>>>>>>>>>  NodeLauncher.main(new String[] {"
>>>>>>>>>>> http://localhost:9990/node-config/NodeC"});
>>>>>>>>>>>
>>>>>>>>>>> To run the domain in a remote location change the localhost here
>>>>>>>>>>> to the host where the domain is running or write some launcher code 
>>>>>>>>>>> that
>>>>>>>>>>> takes this URL as a parameter.
>>>>>>>>>>>
>>>>>>>>>>> The launcher for nodeA is slightly different from the launchers
>>>>>>>>>>> for B and C in that it goes on to make the test calls but in all 
>>>>>>>>>>> these cases
>>>>>>>>>>> it wouldn't be hard to change to accept the domain configuration 
>>>>>>>>>>> URL as a
>>>>>>>>>>> command line argument. If you decide to give this a go make a patch 
>>>>>>>>>>> and we
>>>>>>>>>>> can update the sample.
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>>
>>>>>>>>>>> Simon
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>  Hi Malte
>>>>>>>>>
>>>>>>>>> Sorry this is such a late reply. I just didn't notice this come
>>>>>>>>> through. You may have got past this now but anyhow....
>>>>>>>>>
>>>>>>>>> You don't need to do "ant runDomain" on Host2.
>>>>>>>>>
>>>>>>>>> Your changes to the NodeB launcher should point it at the domain
>>>>>>>>> running on Host1. Hence you don't need the domain running on Host2. 
>>>>>>>>> Just the
>>>>>>>>> NodeB runs on Host2.
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>>
>>>>>>>>> Simon
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>> Hi Malte
>>>>>
>>>>> This sounds like a bug to me. Can you raise a JIRA for it (
>>>>> http://issues.apache.org/jira/browse/TUSCANY) and lets see if we can
>>>>> get it fixed.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Simon
>>>>>
>>>>
>>>>
>>>> Hi Malte
>>>>
>>>> A bit more information. I've just been trying this and I do see the
>>>> problem you see when running across machines. The strange file read
>>>> exception you are seeing occurs because the domain is trying to provide the
>>>> remote node (NodeB) with a file system based contribution. When you run the
>>>> node the configuration URL (http://9.20.188.196:9990/node-config/NodeB)
>>>> is used to ask the domain for two things.
>>>>
>>>> 1 - the composite that is configured by the domain to represent the
>>>> correct domain configuration. The actual result here is that all the 
>>>> service
>>>> and reference URIs are filled in based on where each node is to be deployed
>>>> using information from the node.composite files.
>>>> 2 - the contributions that are required to provide the artifacts needed
>>>> to run the composite at this node
>>>>
>>>> This sample has been written to work directly from the file system so
>>>> that it's straightforward to edit and recompile. However this does  cause
>>>> the problem that you are seeing as the domain cannot provide a file system
>>>> based contribution out to the remote node. What we need to do to make this
>>>> work across nodes is package each nodes contribution as a jar.
>>>>
>>>> So please go ahead and raise a JIRA and I'll look at it as it seems
>>>> natural to want to try the calculator distributed in a distributed
>>>> environment.
>>>>
>>>> Regards
>>>>
>>>> Simon
>>>>
>>>>
>>>
>> Hi Malte
>>
>> There's nothing particularly special about a contribution packaged as a
>> jar. It can simply just be any old jar file. There are some SCA specific
>> things you may find in a contribution, and hence in a contribution packaged
>> as a jar, such as a ".composite" file or a "META-INF/sca-contribution.xml"
>> file. A good place to look for an example is the store tutorial. Here the
>> store application is built up by deploying a number of jar based
>> contributions. You can see the "store" contribution at [1]. You can see the
>> way that the domain is build up at [2]. There are quite a lot of
>> contributions here as the application is presented in a number of different
>> configurations for tutorial purposes [3]
>>
>> Regards
>>
>> Simon
>>
>> [1]
>> http://svn.apache.org/repos/asf/tuscany/java/sca/tutorials/store/store/
>> [2]
>> http://svn.apache.org/repos/asf/tuscany/java/sca/tutorials/store/domain/
>> [3]
>> http://svn.apache.org/repos/asf/tuscany/java/sca/tutorials/store/Tutorial.pdf
>>
>
>

Reply via email to