Mark picks up on my earlier post about the place of reliability in a web-services world, and the right place to implement it.
I'm for "doing reliability" in the application layer [Mark Baker]
I agree with Mark that coordination/choreography should play an important role in achieving end-to-end reliability, especially in terms of overall application semantics. However I do not agree with him that this means that there is limited or no use for other reliability mechanisms. To build high-performance runtimes you will need to account for high degrees of parallelism for example with multiple asynchronous invocations. With a few simple abstractions you will be able to build runtimes that will guarantee you correct operation while maintaining the high-performance, without the need for heavy-weight coordination technology (BTW these is not the way the techniques are used in ws-reliability). We are building some software in this manner (reliability provisions both in the runtime and at the coordination level) and we can pick up the discussion once people had a chance to play with the software.
BUT, there are a few things in Mark's response about me and my group that are a bit out of date and require some rectification (just to avoid some misunderstandings):
Wrong - We are in the group communication research business:
Wrong - We believe in reliability as a layer.
Wrong - These systems only scale to LAN size settings
Hello,
first of all please let me introduce myself.
I am a researcher at Rome University and we also are interested in providing a form reliability for web services.
In particular we are working on HTTPR specs by IBM... I would like to know if you could take a look at them what you think about it.
Paolo