On Fri, Jan 9, 2009 at 3:13 PM, Simon Laws <[email protected]>wrote:

> Some mechanisms we have used to date. Turns out to be quite long and I
> expect there are more I have overlooked. Any help to orangize/rationlize
> this lot is appreciated.
>
> Tuscany User
> ==========
>
> Someone who wants to use Tuscany to run a composite in a contribution they
> have constructed. They will first have to get a Tuscany distribution
>   Download and unpack a distribution
>   Include mvn dependency on a distribution (I guess they could depend on
> individual modules but it would be cleaner to have a distribution
> dependency)
>   Install the Tuscany Eclipse plugin
>   Get a container that embeds the Tuscany runtime
>
> They treat Tuscany as a library and can run their contribution in a number
> of ways
>
> IDE(Eclipse)
>     Contribution only project
>          right click on composite (fires up the domain behind the scenes) -
> depends on Tuscany Eclipse plugin
>         configure runAs to fire up the launcher from Tuscany library
>     Project with some kind of mainline that manually runs the lanucher,
> e.g. JUnit
>          dependency on Tuscany library
>          dependency on just launcher modules and configure runAs with
> $TUSCANY-HOME
>
> Command line without writing a mainline
>     java -jar nodeLauncher.jar compositeURI contributionLocation
>          Run with direct reference to distribution directory
>          Specify location of launcher jar and distribution directory via
> $TUSCANY-HOME (?)
>          Specify the required jars on the classpath either manually or with
> tuscany-sca-manifest.jar
>
> Command line with a mainline that fires up a node launcher
>     java MyClass.jar
>          Specify location of launcher jar and distribution directory via
> $TUSCANY-HOME (?)
>          Specify the required jars on the classpath either manually or with
> tuscany-sca-manifest.jar
>          There are some distinctions here as you may not want your client
> code to share the same environment as the Tuscany runtime even though the
> two are running in the same VM
>
> Host-webapp, exploiting TuscanyServletFilter
>      Set up the servlet filter and include the Tuscany distribution in the
> webapp itself
>
> Container. With JEE support a user may want to contribute our composite as
> par of a WAR, EAR etc
>      If the container embeds Tuscany then it's up to the container to
> ensure that SCA contributions can be run
>
> Mvn  again assuming there is a mainline that fires up a node launcher
>    include a dependency on a Tuscany launcher distribtion
>
> Domain
>     java -jar nodeLauncher.jar domain
>     and then add the contribution to the domain, configure a node and start
> it
>
> OSGi
>     add all the tuscany jars and dependencies (PDETarget?) to your OSGi
> environment
>     Need a bundle that will launch the domain, a node with a contribution
> or some other service that launches a node
>
> Tuscany Embedder
> ===============
>
> Here the embedder wants to use the Tuscany API behind the launcher in order
> to exploit some individual parts of the Tuscany code base. The embedder
> still treats Tuscany as a library so they still need to download a
> distribution. However the embedder must set  up the classpath more
> explicitly
>
> IDE(Eclipse)
>     Project with some kind of mainline that uses some Tuscany classes
>          dependency on Tuscany library
>          dependency on Tuscany modules from distribution. Set up manually.
>          dependency on Tuscany modules from local maven repo (mvn
> -Peclipse)
>
> Command line with a mainline that uses some Tuscany classes
>     java MyClass.jar
>          Specify the required jars on the classpath either manually or with
> tuscany-sca-manifest.jar
>
> Mvn  again with a mainline that uses some Tuscany classes
>    include a dependency on a Tuscany distribution
>
> OSGi  the embedder will construct a bundle which uses some Tuscany classes
>     add all the tuscany jars and dependencies (PDETarget?) to your OSGi
> environment
>
> Tuscany Developer
> ===============
>
> A developer of the Tuscany infrastructure will first check out the source
> code from svn. The developer may be acting as a user (running samples) or as
> an embedder (running unit ot itests). Primarily a developer will use an IDE
> with the tuscany modules loaded or a mvn compile.
>
> IDE(Eclipse) - the important thing here is to have a dependency on the
> classes in the Eclipse workspace so any changes are picked up as they happen
> without a mvn compile.
>     Project with some kind of mainline that uses either launcher or  other
> Tuscany classes
>          dependency on Tuscany modules from workspace  (mvn -Peclipse)
>
> Mvn  again with a mainline that uses either launcher or  other Tuscany
> classes
>    include a dependency on a Tuscany distribution
>
>
> Simon
>

One comment right away is that this mentions "node launcher" a lot but most
of the time in previous release we haven't used a launcher we use the
SCADomain or the SCA NodeFactory, but before getting bogged down in those
details what is it you want to get from this thread so we know what to focus
discussion on? Is it just to get a list of all the ways we've done this, or
to come up with better ways of doing all these things?

   ...ant

Reply via email to