On Mon, Apr 28, 2008 at 5:36 PM, Marian, Radu <[EMAIL PROTECTED]>
wrote:

> Simon,
>
> Thanks for your prompt response.  I hope the following api will let me
> do what I need - compositeContent :
>     /**
>     * Creates a new SCA node.
>     *
>     * @param compositeURI the URI of the composite to use
>     * @param compositeContent the XML content of the composite to use
>     * @param contributions the URI of the contributions that provides
> the composites and related artifacts
>     * @return a new SCA node.
>     */
>    public abstract SCANode2 createSCANode(String compositeURI, String
> compositeContent, SCAContribution... contributions);
>
> However I could not find it in the latest 1.2 release... :( sorce code
> or binaries...
>
> Any idea?  Should I get a nightly?
>
> Regards,
> Radu Marian
> CRM Services Architecture Team
> Bank of America, Charlotte NC
> (980) 387-6233
> [EMAIL PROTECTED]
>
> -----Original Message-----
> From: Simon Laws [mailto:[EMAIL PROTECTED]
> Sent: Monday, April 28, 2008 11:54 AM
> To: tuscany-user@ws.apache.org
> Subject: Re: Is there are simple straightforward way of creating a
> Compoisite
>
> On Mon, Apr 28, 2008 at 4:14 PM, Marian, Radu
> <[EMAIL PROTECTED]>
> wrote:
>
> > Hello,
> >
> > I have spent quite a few time through ContributionServiceImpl class
> > and could not find a simple way to add a Composite to the
> > contributiion - given the InputStream of the composite URL.  I
> > understand tuscany team wants to provide the ease of use for
> > compoistes to be discovered from the file system.... However - IMO -
> > the api should not prevent one from loading/adding a composite from an
> InputStream.
> >
> > Why is everything have to be served from local file system?  Does the
> > sca spec mandate that?
> >
> > Thanks,
> > Radu.
> >
>
> Hi Radu
>
> You catch us at a point of transition. The spec doesn't mandate that
> contributions/composites be read from the local files system although
> most of our samples do this as they use the DefaultSCADomain
> implementation from the host-embedded module.
>
> There has been work recently on new code to allow for easier and more
> consistent processing of contributions and composites and for deployment
> of these out to the nodes where they will run. Hence there is a new
> runtime interface, see node2-api [1], that can be used to fire up the
> Tuscany runtime classes and run a composite.
>
> A node expects to be provided with a single composite and all of the
> contributions required to run that composite. This information can be
> provided in a number of ways
>
>    /**
>     * Creates a new SCA node.
>     *
>     * @param configurationURI the URI of the node configuration
>     * @return a new SCA node.
>     */
>    public abstract SCANode2 createSCANode(String configurationURI);
>
>    /**
>     * Creates a new SCA node.
>     *
>     * @param compositeURI the URI of the composite to use
>     * @param contributions the URI of the contributions that provides
> the composites and related artifacts
>     * @return a new SCA node.
>     */
>    public abstract SCANode2 createSCANode(String compositeURI,
> SCAContribution... contributions);
>
>    /**
>     * Creates a new SCA node.
>     *
>     * @param compositeURI the URI of the composite to use
>     * @param compositeContent the XML content of the composite to use
>     * @param contributions the URI of the contributions that provides
> the composites and related artifacts
>     * @return a new SCA node.
>     */
>    public abstract SCANode2 createSCANode(String compositeURI, String
> compositeContent, SCAContribution... contributions);
>
> If you did want to use this to load contributions from the file system
> you can, see [2] for an example (although we don't have the helper
> methods in place just yet to make this really easy). Alternatively you
> can start a node up and have it read it's configuration across the
> network, for example, see one of the nodes from the distributed
> calculator sample [3]. There isn't an interface here that takes an input
> stream but you can provide a composite as a string which of course can
> come from where ever you want it to.
>
> You will note in the distributed calculator sample that there is
> "LaunchDomain.java" also. This launches a web app that provides the
> environment in which you can manage you contributions and which will
> vend them out across the network to nodes using an Atom feed.
>
> There is very little documentation on all of this yet. It's very much on
> the TODO list. It's all pretty new and we'd love to hear any comments
> you have or ideas for improvement.
>
> Hope that helps
>
> Simon
>
> [1]
> http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/node2
> -api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java<http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/node2-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java>
> [2]
> http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/validat
> ion/src/test/java/calculator/DuplicateComponentNameTestCase.java<http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/itest/validation/src/test/java/calculator/DuplicateComponentNameTestCase.java>
> [3]
> http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/calcu
> lator-distributed/src/main/java/node/LaunchCalculatorNodeA.java<http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java>
>

Yes, apologies Radu, I should have mentioned that it isn't in the latest
release. It is a work in progress and has only recently gone into the API.
As you can also guess  the "node2" code is intended to replace "node"
shortly as node2 is new and takes a slightly different view on the way that
the runtime should be started.

To try it out I would normally advise you to either check the trunk source
code out of subversion or take one of our nightly builds. However I've just
been to check the nightly build link from our download page and it's not
working today (for me at least) as there seems to be a problem with the
continuum build system. Your only option at the moment is to take the code
from subversion in the mean time. There are instructions here [1]. If you
can't face that let us know and I'm sure we can sort something out.

Regards

Simon

[1] http://incubator.apache.org/tuscany/sca-java-development-guide.html

Reply via email to