On 22 Mar 2009, at 11:05, Michael Poulin wrote:
For its time (2005) it was the strong standard, no doubts. Nonetheless, starting in 2006, the understanding of service orientation started to deviate from Web Services, you know this better than me.
I'd like to think it started before then to be honest. The origins of WS-CAF predate Web Services and our basis for developing it was to think of SOA outside of the implementation technology. Of course when we get the putting it into a standard, Web Services was the target (pretty obvious why that was the case).
Now, the understanding has reached the point that the presence of a Web Service in the solution does not make it service oriented.
I agree and that has never been the case. There are excellent examples of where that isn't the case and (trying to be objective about this), WS-CAF isn't one of them. Take a look at WS-RF for instance: one of the best examples of "CORBA with angle brackets". And I'm pretty worn out by the number of times I've had to say that just because you're using Web Services doesn't mean your "doing SOA". Now I'm not saying that we got it got it perfect with WS-CAF, but I would dispute that it doesn't illustrate good SOA principles.
In the standard, you do not define 'service' because you clearly refer to known technology - Web Service. Since Web Service may be an interface to a Service or may be an interface to anything else, I suppose that operations with Web Services are not necessary about service orientation.
I think we can agree that developing against SOA principles (I won't start a debate about what those are) isn't necessarily facilitated by using Web Services. The largest and most successful SOA deployment I've ever come across was (is) written in CORBA. If you could see it then I'm fairly confident you'd come away saying that "yes, it's SOA". Using Web Services is neither necessary nor sufficient to achieving SOA. However, there are good SOA-based WS-* standards and yes, WS-CAF is one of them IMO. Remember there's more to WS-CAF than "just" transactions or coordination.
I remember the time when we were offered a database driver Type 4, which was built based on CORBA with large distributed infrastructure behind the API. Similar thing may be done with Web Services - a regular Oracle database driver may be wrapped by Web Service and offered via Internet (is this a stupid solution or not is another question). So, does this wrap represent a Service or still a Driver with Web-bases access channel?
A course interface doesn't make a service. If that were the case then "fat objects" would have been the saviour of the software world years ago. Making it available through SOAP doesn't help either. But that doesn't mean you can't expose your database through Web Services in an SOA manner either.
So, OASIS Web Services Composite Application Framework is a great technical standard for Web Service interfaces but it has different appearance within the concept of service orientation, IMO.
I'm happy to agree to disagree :-) Mark.
