The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

ragha (2) [Avatar] Offline
#1
hi,

just now i bought your book. In my opinion one critical chapter is missing which is about upgrading composites which can span multiple processes/machines and how backward comptiability to be handled ....

regards
ragha
simon.nash (37) [Avatar] Offline
#2
Re: tuscany in action
Chapter 3 shows how to run a composite application that spans multiple processes and machines. I'm not sure what you mean about upgrading composites. There's an example in chapter 3 that shows how the same composites can be used for local execution and distributed execution without any need for upgrading.

Can you say a bit more about what you mean by backward compatibility? If you're referring to changes in SCA between the 1.0 and 1.1 specifications, this is covered in Appendix B. Is this what you mean, or something else?
ragha (2) [Avatar] Offline
#3
Re: tuscany in action
hi,

Thanks for the reply.

Let us say, I have a composite 1 made of components a,b and c.
a,b and c can be local or remote. Now due to some requirement change, b undergoes some change and c realizes some new feature. composite1 is deployed at site and is replicated on 100's of nodes. Now i want the changes in b and c to be deployed,how can i proceed?
A) i need a live upgrade feature where composite1 a1,b1 and c1 are running and in parallel i load a1,b2 and c2 (composite v2). Once these version2 components are up then i will make v2 as active and takedown v1, this way my services are least affected.
Using tuscany how can i achieve it?

regards
ragha
simon.nash (37) [Avatar] Offline
#4
Re: tuscany in action
Thanks for explaining this scenario in more detail.

With Tuscany 1.x you would need to stop each node that's running the v1 composite, replace v1 by v2 for that node, and restart the node running v2. This means that the node is down while the upgrade is happening, which isn't ideal. However, if you have hundreds of nodes running the v1 composite then it should be possible to stop a single node for the upgrade while other nodes are still running and continuing to provide an uninterrupted service.

In future versions of Tuscany it might be possible to support a more dynamic model of the domain that enables a node to keep running while changes are made to its code. It's also possible that other SCA implementations might be able to provide this kind of transparent failover/upgrade capability.

As an open source project, Tuscany depends on the volunteer contibutions of its project members and other contributors. The Tuscany community is always keen to encourage people to help improve the capabilities of Tuscany by contributing ideas and code. If you're interested in helping to add this dynamic upgrade functionality to Tuscany, the Tuscany developer mailing list (dev@tuscany.apache.org) is a good place to engage the Tuscany community in this discussion.