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/ > >> > > > > > >
