Hi,

I've been checking out the shell module as it seems a useful tool to have
and I'm also a fan of command line tools :). Considering the fact that it is
still a work in progress I can say i found it really nice as a general
impression. Here are some observations I made while using it:

   - haven't been able to *install* any contributions... i always got some
   validation error, either xml schema or class not found. i've tried
   installing samples from trunk either packaged (in war or jar format) either
   by passing the directory of the sample
   - at first sight i had a hard time making distinction between *install*and
   *start*, probably because the *help install *description was quite vague
   - "*Creates an installed contribution with a supplied root contribution,
   installed at abase URI". *What is installed contribution? Checking help
   start I could deduce from "*The second form of the start command starts
   in standalone mode not part of any SCA domain." *that the first form is
   probably used in conjunction with a domain and probably i could use *
   install* to add contributions to the domain.
   - performing *install* on a contribution folder which was previously
   built throws a validation exception stating that there are duplicate
   contributions. this is probably due to the fact that it can find the
   contribution in *src/* as well as in *target/*. When I'm running install
   on the folder i'm expecting to install from src which is the most
   up-to-date. If i wanted the built artifact i could pass the path to it
   directly or to the *target/ *directory.
   - i'm familiar with tuscany for a few months now and i still get confused
   by all the different type of uris you have to take into account when
   developing/deploying an sca contribution. If we're targeting this shell also
   for people just wanting to give tuscany a try and will probably use the
   shell, we might need to somehow get the terms like contribution uri, domain
   uri, composite uri and the relation between them explained very clearly
   either in the documentation on the site or in the shell hints or help.

Just as a short disclaimer, I might not be familiar enough with all the
sca/tuscany terms so read the above comments with this in mind.

Thinking of enhancements for the shell, I believe supporting the ability to
have the shell start logging the commands which were entered and running
tuscany shell scripts by passing a file as a parameter will bring
considerable advantages. This will enable automating complex sca deployments
simply by running a script. Choosing the embedded container when running
start will also be a plus.

This module makes me think of Spring Roo [0]. This tool has a different
purpose but check out this presentation at Google I/O [1] and then the list
of technologies it integrates with [2]. This is quite impressive and it
hasn't started for a long time. Haven't followed any trends but i believe
this will gain much popularity from now on and I find it a good step forward
for Tuscany and Tuscany popularity if we can contribute a Tuscany
integration in there. From what I've read Spring Roo is based on AOP and is
monitoring the filesystem for the automatically Roo annotated classes. At a
first glance I don't find it extremely complex to be generating and updating
the composite dynamically when a class is modified. Thoughts? Not having
that much experience with AOP...

Florian

[0] http://www.springsource.org/roo/
[1] http://www.youtube.com/watch?v=GQHlhIIxCIc&feature=channel
[2] http://www.springsource.org/roo/why



On Thu, Aug 19, 2010 at 8:41 AM, Jean-Sebastien Delfino <
jsdelf...@apache.org> wrote:

> Simon Nash wrote:
>
>> Raymond Feng wrote:
>>
>>> Sorry for the late reply. The message skipped out of my attention.
>>>
>>> My understanding is that a domain is the administrative (governance)
>>> boundary for SCA composite applications. Why does the Shell needs to switch
>>> between multiple domains within the same session. Typically, most admin
>>> consoles connect to one "boundary" at a time. For example:
>>>
>>> * OSGi console connects to an instance of the OSGi runtime
>>> * WebSphere admin console talks to a ND manager for a cell
>>> * Telnet/SSH connects to a host
>>>
>>> Why cannot we have the Shell session be associated with one SCA domain at
>>> a time, for example:
>>>
>>> shell <domainURI>
>>> tuscany> (all the commands are within the domain)
>>> tuscany>
>>>
>> There are testing scenarios where it's necessary to bring up and run
>> multiple domains at the same time.  I think it would be useful to be
>> able to do this from a single shell rather than needing to bring up
>> separate shells to control each of the domains.
>>
>>
> as well as multi-tenant configurations, where a runtime is used to host
> apps for multiple tenants, each tenant having his own admin domain.
>
> --
> Jean-Sebastien
>

Reply via email to