Hi Daniel.

Some more comments inline

Simon

On Wed, Apr 9, 2008 at 5:25 PM, <[EMAIL PROTECTED]> wrote:

> Hi Simon,
>
> Thanks for your elaborate answer.
> It's good to hear that these topics are work in progress!
>
>
> > This is my view of where we are.
> >
> > Service lookup - We are moving to a domain model now that
> > doesn't rely on service lookup internally. If you take a look
> > at the workspace code and sample/calculator-distributed as it
> > now stands the service endpoints in the domain are calculated
> > in the workspace, i.e. before the individual composites are
> > deployed and don't need looking up by each of the nodes that
> > are running composites. It seemed like a simpler solution as
> > the service lookup piece was causing unwanted complexity. The
> > workspace code is new so there aren't docs yet. There is the
> > calculator-distributed sample though and the Tutorial code
> > gives it a good workout. Ask here if you want to know more
> > :-)
>
> I just tried to get the new calculator-distributed sample working in my
> eclipse (the old version worked fine).
> LaunchDomain starts but when I start LaunchCalculatorNodeB I get the
> following Exception:
>
> INFO: Creating node: http://localhost:9990/node-image/NodeB
> 09.04.2008 18:15:42 org.apache.tuscany.sca.node.launcher.NodeLauncherUtil
> node
> SCHWERWIEGEND: SCA Node could not be created
> java.lang.reflect.InvocationTargetException
>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>        at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:297)
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncher.createNode(NodeLauncher.java:60)
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncher.main(NodeLauncher.java:109)
>        at node.LaunchCalculatorNodeB.main(LaunchCalculatorNodeB.java:26)
> Caused by: org.osoa.sca.ServiceRuntimeException:
> java.io.FileNotFoundException: http://localhost:9990/node-image/NodeB
>        at
> org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:120)
>        at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANode(NodeFactoryImpl.java:37)
>        at
> org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherBootstrap.<init>(NodeImplementationLauncherBootstrap.java:95)
>        ... 8 more
> Caused by: java.io.FileNotFoundException:
> http://localhost:9990/node-image/NodeB
>        at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
>        at java.net.URL.openStream(URL.java:1007)
>        at
> org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:100)
>        ... 10 more
> Exception in thread "main"
> org.apache.tuscany.sca.node.launcher.LauncherException:
> java.lang.reflect.InvocationTargetException
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:318)
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncher.createNode(NodeLauncher.java:60)
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncher.main(NodeLauncher.java:109)
>        at node.LaunchCalculatorNodeB.main(LaunchCalculatorNodeB.java:26)
> Caused by: java.lang.reflect.InvocationTargetException
>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>        at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>        at
> org.apache.tuscany.sca.node.launcher.NodeLauncherUtil.node(NodeLauncherUtil.java:297)
>        ... 3 more
> Caused by: org.osoa.sca.ServiceRuntimeException:
> java.io.FileNotFoundException: http://localhost:9990/node-image/NodeB
>        at
> org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:120)
>        at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANode(NodeFactoryImpl.java:37)
>        at
> org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherBootstrap.<init>(NodeImplementationLauncherBootstrap.java:95)
>        ... 8 more
> Caused by: java.io.FileNotFoundException:
> http://localhost:9990/node-image/NodeB
>        at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
>        at java.net.URL.openStream(URL.java:1007)
>        at
> org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:100)
>        ... 10 more
>
> If I open http://localhost:9990/ui/workspace/ in my browser, I can't see
> any Contributions, Composites, Clouds or Files. So it's not remarkable that
> http://localhost:9990/node-image/NodeB cannot be found.
>
> Do I first have to configure the workspace by manually uploading
> contributions ?


No it should all be set up so all you need to do from Eclipse is as you are
suggesting, i.e. run

LaunchDomain
LaunchCalculatorNodeB
LaunchCalculatorNodeC
LaunchCalculatorNodeA

When I run LaunchDomain this is the output I see:

09-Apr-2008 18:51:42
org.apache.tuscany.sca.node.launcher.DomainManagerLauncher main
INFO: Apache Tuscany SCA Domain Manager starting...
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/ui/home/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/ui/workspace/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/ui/files/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/ui/composite/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/ui/cloud/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/workspace/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/contribution/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/feed/files/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/files/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/composite/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/composite-source/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/deployable/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/composite-resolved/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/cloud/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/cloud-source/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/composite-image/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/node-image/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/quickstart/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/processes/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/node/processes/*
09-Apr-2008 18:51:55 org.apache.tuscany.sca.http.jetty.JettyServer
addServletMapping
INFO: Added Servlet mapping: http://L3AW203:9990/ping/*
09-Apr-2008 18:51:55
org.apache.tuscany.sca.node.launcher.DomainManagerLauncher main
INFO: SCA Domain Manager started.
09-Apr-2008 18:51:55
org.apache.tuscany.sca.node.launcher.DomainManagerLauncher main
INFO: Press enter to shutdown.

Are you seeing any errors when the domain starts?

In your browser do you see the workspace admin screens but with no content
or do you not see any screens?


> BTW, I just tried to manually upload a sca.contribution.xml (in Files) and
> got another Exception:


You shouldn't need to do this but it should work. Its interesting here that
it's looking for \C:\resources\nodeB\META-INF\sca-contribution.xml. It
should be looking in the resources directory under the
calculator-distributed sample. In my case this is
C:\simon\tuscany\java-head\sca\samples\calculator-distributed\src\main\resources\nodeB.
This is pre-configured by the entries in the file workspace.xml at the top
level of the calculator-distributed sample. Looking in there the reference
is to ./src/main/resources/nodeB. Could that path be causing a problem for
you somehow?


>
>
> HTTP Status 500 - java.io.IOException: java.io.FileNotFoundException:
> files\C:\resources\nodeB\META-INF\sca-contribution.xml (Die Syntax für den
> Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)
> The german error message reads "the syntax for filename, pathname or
> volume is wrong".
>
> So any help or additional documentation would be appreciated.


No docs just yet I'm afraid:-(


>
>
>
> > Load balancing and failover - The default plan for load
> > balancing is to run composites in a cluster. I got close to
> > having a simple sample running on my own machine in a Tomcat
> > cluster with the old domain  approach. I haven't converted
> > this over to the new workspace yet but here is how I expect
> > it to work.
> >
> > - The details of the head of the cluster are provided to the
> > workspace as a node to which composites can be deployed
> > - This configuration causes references targeting services
> > that will run in the cluster to have their bindings
> > configured with the URI of the head node of the cluster
> > - All of the real nodes in the cluster request the same
> > composite from the workspace and hence start the same
> > services but of course on different physical addresses
> > - Service requests are dispatched to the head node of the
> > cluster based on the configuration provided by the workspace
> > - The head node sprays out requests to the cluster as appropriate.
> >
> > This should (!) work for stateless service but I haven't
> > actually tried it yet. Stateful services, e.g. conversations
> > or services with COMPOSITE scope are a little more
> > problematic as the problem of affinity and fail over comes
> > up. To make fail over work in the stateful case we will have
> > to provide persistance of the conversation state etc. This is
> > still not there yet
>
>
> Sounds good so far. Load balancing and especially failover are crucial for
> our EILF project so we are looking foreward that Tuscany will provide
> solutions for those topics. The majority of services we employ will be
> stateless. But several may need to be stateful, so this will get an issue
> sooner or later. At the moment I can only offer to take part in discussions
> about those topics and test your implementations (like I did with my various
> Conversational examples).


No problem Daniel. The level of help  you have been giving us so far is very
much appreciated. I'll take a look at the tomcat cluster example again at
some point (won't be this week though) and we can discuss.


>
> Thanks.
>
> Bye,
> Daniel
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to