Hello All

I'm little bit confused by all the possible configurations that are possible
with several nodes running in a domain.
It's ok to have for example node B and C running on the same machine and
NodeA running on another one.

But is it possible to have the following configuration:
CalculatorA running on NodeA
CalculatorB running on NodeB
CalculatorC running on NodeC

without having the implementaion of AddService and SubstractService on the
machine running  NodeA  ?
In such case CalculatorB composite would be like :

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
           targetNamespace="http://sample";
           xmlns:sample="http://sample";
           name="CalculatorB">

    <component name="AddServiceComponentB">
        <interface.java class="calculator.AddService" />
    </component>
</composite>

If such thing is realistic, we could for example dynamically reconfigure one
service by stoping a node and starting another one with the service
modified.

I would  be also interesting by any examples showing how to load a
contribution for a node using the web domain manager application (
http://localhost:9990/ui/workspace/).

For example one scenario could be :

1/ Launching domain
2/ Loading web domain manager application
3/ Launching some nodes with contributions file from  a repositery
4/ running a client to get the service done by the domain

Regards
Fahim



2008/10/30 Rohan Sahgal <[EMAIL PROTECTED]>

> Hi Simon,
> I was looking deeper into this sample. The UI configuration seems to
> allow adding contributions to the domain. How can this feature be
> used, say I have to add another Node to this calculator sample, say a
> square root service, can I use this feature to do this?
>
> Can you explain the purpose of the domain manager. I am kind of lost
> now. I thought it was the one that was used to connect the components
> together but like you said once the service's are up its not involved.
> Is the idea that all the composite's and config files are held only in
> the domain manager and then you need only the code of the sort in
> NodeLauncher's.java to launch the services? However once the service's
> are up the domain manager is not involved.
>
> Is there some sample that I can use as a starting point to the
> alternative(create a stand alone Tuscany/SCA webapp) approach you have
> outlined below.
>
> And lastly are there any more samples that use this domain manager concept.
>
> Thanks a lot for all the help,
> Rohan
>
>
> On Wed, Oct 29, 2008 at 7:52 AM, Simon Laws <[EMAIL PROTECTED]>
> wrote:
> > Hi Rohan
> >
> > Sorry I'm rather late coming to this thread. Been away for a few days.
> > Anyhow, some comments inline..
> >
> > Regards
> >
> > Simon
> >
> > On Fri, Oct 24, 2008 at 6:28 PM, Rohan Sahgal <[EMAIL PROTECTED]>
> wrote:
> >>
> >> For now, all I wanted to do, is rather than starting new
> >> web-container's for every node, I wanted to have the service's running
> >> in an existing container (on different machines). I already have
> >> certain webapps running on these machines and I dont want to start
> >> more than one web-container.
> >
> > I think you can do this now using the node webapp launcher. This is a bit
> of
> > a strange beast in that you create a webapp  that wraps up a node with
> > sufficient information to configure itself and, when you drop the web app
> > into your web container, it contacts the domain manager and pulls down
> the
> > required configuration. Not to my liking really as there is a bit too
> much
> > magic going on. I have to admit to not having tried webb app mode so we
> > could look at extending the calculator-distributed sample to see if it
> works
> > . There are maybe some other options here that I'm not aware of.
> >
> > Another alternative is to create a stand alone Tuscany/SCA webapp and
> deploy
> > that to your container of choice and then configure the domain with the
> same
> > composite information so that other components can wire to its component
> > services. In this case there is not necessarily any configuration
> exchanged
> > between the webapp and the domain. The domain just knows about services
> in
> > the webapp in case anyone wants to wire to them. Not so good from the
> point
> > of view of configuring any references that may be in the webb app.
> >
> > As you can see there is scope for some improvements in this area;-)
> >
> >>
> >>
> >> However what would be really neat for Tuscany is (well in my opinion
> >> anyways) if it was possible to do Service look-ups.
> >>
> >> What I mean by this is, say you have domain manager running on
> >> Machine1, Node A running on Machine2, Node B running on Machine3 and
> >> so on. Machine 1-3 are part of the same domain.
> >> If a request comes to the domain manager for a service offered on
> >
> > In what form does the "request" arrive in this scenario?
> >
> >>
> >> NodeA, it should be able to pass this request to Machine1 without
> >> having proxy stubs on the Domain Manager machine.
> >> ( If you consider the calculator example, the calculator service seems
> >> to act like a proxy for AddService, SubtractService...)
> >
> > Yep, the calculator services is vending out requests to the Add/Subtract
> > service etc. But the domain manager is not involved once the services are
> up
> > and running on their respective nodes.
> >
> >>
> >>
> >> This can then be extended to dynamic service invocations. Say the
> >> domain manager has the composite's for all the services, if
> >
> > Which it does at the moment.
> >
> >>
> >> dynamically a node comes up that has the implementation for these
> >> service definitions, and we have a registration process. Then requests
> >> for these services can be passed on to the new node from the domain
> >> manager. All this could theoretically happen at runtime.
> >
> > True. I think we have to consider the static domain we have at the moment
> a
> > starting point which allows us to consider how to model a domain. If you
> ask
> > the question at the moment about how to deal with cases where nodes that
> > provide services are started and stoped in different locations then there
> > are only really two answers.
> >
> > A) Make sure that any nodes that are being stopped/moved/started are
> running
> > behind some kind of a virtualization layer such as an IP sprayed so from
> the
> > static domain's point of view they are always in the same place in IP
> terms.
> > B) Restart and nodes which have references that are affected by
> restarting
> > nodes.
> >
> > I would be really useful to understand the scenarios that lead us to a
> more
> > dynamic domain.
> >
> >>
> >>
> >> I guess that's a really far fetched vision.
> >
> > No, I don't think it's far fetched.
> >
> >>
> >>
> >> Thanks,
> >> Rohan
> >>
> >> On Fri, Oct 24, 2008 at 10:49 AM, Luciano Resende <[EMAIL PROTECTED]
> >
> >> wrote:
> >> > On Fri, Oct 24, 2008 at 10:43 AM, fahim salim <[EMAIL PROTECTED]>
> >> > wrote:
> >> >> Hello All
> >> >>
> >> >> One thing that would quite interesting is to have the possibility to
> >> >> deploy
> >> >> one domain (NodeA) in a web container (host1) and to deploy another
> >> >> domain
> >> >> (NodeB and NodeC) on another web container (host2)
> >> >>
> >> >
> >> > Different Nodes can reside in different JVM, or in this case web
> >> > containers, but still be part of the same domain.
> >> >
> >> > The Store Turotial demonstrates this, where you have your store
> >> > running as a web 2.0 app in a embedded tomcat, and in one of the
> >> > scenarios, you can have your catalog as a webapp deployed to another
> >> > web container.
> >> >
> >> >> But I don't know if it's possible at the moment.
> >> >>
> >> >> Fahim
> >> >>
> >> >> 2008/10/24 ant elder <[EMAIL PROTECTED]>
> >> >>>
> >> >>>
> >> >>> On Fri, Oct 24, 2008 at 12:45 AM, Rohan Sahgal <
> [EMAIL PROTECTED]>
> >> >>> wrote:
> >> >>>>
> >> >>>> Is it also possible to modify this sample to create WAR files so
> that
> >> >>>> it can be run in any web container?
> >> >>>> I see that now it starts a new Jetty container.
> >> >>>>
> >> >>>> I think that would be more helpful, since this way I can simply
> copy
> >> >>>> the webapp to different machines rather than the entire Tuscany
> >> >>>> distribution.
> >> >>>>
> >> >>>> If thats possible, I dont mind helping out to do this.
> >> >>>>
> >> >>>> Thanks,
> >> >>>> Rohan
> >> >>>
> >> >>> Hi Rohan, I think this is an interesting idea, i'm not sure that it
> is
> >> >>> possible with the current Tuscany code but that could be fixed, how
> >> >>> much
> >> >>> work that is depends on how much function and flexibility you need.
> >> >>>  There
> >> >>> is some code and samples that use a webapp for a node in the
> >> >>> distributed
> >> >>> domain, for example in the catalog-webapp in the tutorials\store
> >> >>> folder, but
> >> >>> this is broken presently, if we fix the issues with it then it
> >> >>> shouldn't be
> >> >>> that hard to get something like the distribted calculator sample
> >> >>> working in
> >> >>> a similar way with webapp nodes. That would be all quite static
> which
> >> >>> may
> >> >>> not be what you'd like and there are some issues with using webapps
> so
> >> >>> not
> >> >>> sure whether or not this would do what you need, but there are also
> >> >>> other
> >> >>> bits of code and discussion on going around this area so there is a
> >> >>> lot more
> >> >>> we could do. Like Luciano asked, could you say a little more about
> the
> >> >>> sort
> >> >>> of things you'd like to see? < br>
> >> >>>    ...ant
> >> >>>
> >> >>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Luciano Resende
> >> > Apache Tuscany, Apache PhotArk
> >> > http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
> >> > http://lresende.blogspot.com/
> >> >
> >
> >
>

Reply via email to