A very good deconstruction by Paul, there is a sniff of the ex-smoker, born-again Christian, Tee Totaller between the lines that Steve Vinoski writes about REST v WS-*.
Use what works. REST for meta-data traversal makes PERFECT sense, especially (as with the registry) its aimed primarily at human interaction where the semantics can be interpreted by a superb engine that is specialised in that task. Steve 2008/12/1 Gervas Douglas <[EMAIL PROTECTED]>: > <<Steve Vinoski has written an article applying Christensen's famous > book, The Inventor's Dilemma, to the REST and WS-* argument. For those > of you who don't know, Steve is a strong supporter of REST models. > Steve was previously a major dude in the CORBA world, and like many > converts, has taken a very strong stance against his previous position. > > I pretty much have stopped arguing about REST and Web Services. One of > the things open source has taught me is to react well to customers. If > a customer is interested in using a SOAP solution, I help them. If a > customer wants to use a RESTful model, I help them do that too. And I > try to look at their individual scenario and understand what is the > most appropriate technology for them. > > Steve's argument is phrased in terms of RPC, and he portrays WS-* as > the culmination of the RPC model. In fact many of the architectures I > am involved in building on top of WS-* for customers are not RPC - > they are either long-running asynchronous or event driven. It is a > fundamental error to say that SOAP is an RPC format. > > In my experience, very few customers care about WS-* vs. REST: they > care about building something that is effective, maintainable, fits > with their skill set and developers, and that scales well. > > Given my lack of interest in arguing about REST and WS-*, I considered > ignoring that Steve has chosen the WSO2 Registry as an exemplar in his > article. On the other hand, his example is wrong in so many, many > ways, I can't resist the need to set him straight. > > Here is what Steve has to say: > > "For example, WSO2 uses Atom4 and AtomPub5 (both built on RESTful > HTTP) within its registry product (www.wso2.com/products/registry/), > which is part of a set of open source products based on SOA and WS-*. > Somewhat ironically, the registry uses a RESTful approach to handle > the publication and lookup of metadata for non-RESTful RPC-oriented > Web services. Christensen refers to this approach as "cramming," in > which firms try to capitalize on disruptive technologies by > incorporating them into sustaining products;" > > Let's address the factual errors first and then address the more > systemic problem in the article. > > Firstly, let's be clear about the WSO2 Registry: it is a new > initiative, built from the ground up as a RESTful model. , and it is > not limited to publication and lookup of metadata for non-RESTful > services. For example, you could use it as the store for document > descriptions, mime-type descriptors, WADL, RDDL, or many other RESTful > description models. We built the WSO2 Registry in a RESTful way > because we decided it was the most appropriate technology for managing > metadata. You could say its ironic, but since 99.9% of the world's > WSDLs are accessed via HTTP GET, you could also say it is simply > extending the defacto standard. Of course being English, I consider > Irony a good thing, and I often point out this same irony myself. > > Since the Inventor's Dilemma is also a lot about the human reaction to > new technology, I think its also fair to point out that I have > consistently criticized UDDI for over 5 years, both publicly in > presentations and to anyone who asked me. > > I actually wonder if Steve has downloaded the Registry or looked at it > beyond the fact that it uses Atom and AtomPub. Why? Because if he had, > he would have realized that the main aspect of the Registry is a Web > interface. The Atom and AtomPub are secondary to most users, because > the main interaction is humans using a Web browser. And mostly if a > user comes across the Atom, its in their feedreader, which is likely > an extension of their browser. > > Steve goes on to say: > > "In this case, the benefits of REST are hidden behind an > RPC-oriented API for accessing the registry, and those benefits > disappear completely as soon as an application uses the registry to > find a non-RESTful service and starts to use it." > > Once again, this is a highly superficial view of the Registry. The > benefits of the REST design permeate the use of this product. You can > bookmark any page. You can point your tooling or code at a permanent > URL pointing to a WSDL or a WADL or a Schema and know that it will > always be there in exactly the version you want. You can subscribe to > the Registry using your feed reader. You can follow links from > dependents to dependencies. You can associate any kind of relationship > between resources, and follow those relationships as hypertext. These > real and important benefits of the REST design are why we chose it, no > more, no less. > > The core API is highly RESTful and built around the concept of > Resource as a first class concept. > > I think its clear that Steve is taking a superficial view of the > registry in order to make a point - he thought "cramming" was an > essential point of Christensen's model and so he looked around for a > target. And this is the systemic problem with this article. > > The scientific method is that you propose a theory, and you > dispassionately look for evidence to prove or disprove the theory. > Unfortunately Steve has proposed a theory - that the Inventor's > Dilemma maps neatly onto the REST vs WS-* argument - and then applied > his strong viewpoint to bias the outcome. The whole article starts > from the premise that REST is the answer and then goes on to prove > that. Funny how that happens. > > So my advice - take a look at the WSO2 Registry yourself.>> > > You can find Paul's blog at: > > http://pzf.fremantle.org/ > > Gervas > >
