1. Jul 25th, 2008

    Axis and REST/WebArch: never or just not right now?

    Because Sanjiva’s blog requires a Blogger account:

    Just because I can’t resist: so Tim, REST does need tools now?? Funny how the world turns, eh? I thought you and the rest of the REST fanatics have argued violently saying how REST doesn’t require tools, doesn’t require WSDL or equivalent etc. etc.. I guess we will end up with REST-* before its all said and done with.

    Tim Bray, March 2006:

    It’s here today, it works, it’s standards-based, and there’s a huge opportunity for building tooling and developer support around it.

    I picked this quote from a quick Google search, perhaps there are better ones, but I’m not here to defend Tim or compile an anthology of the discussion around the need for better REST tooling. Not my job. I just wanted to point out the fallacy of putting words in other peoples’ mouths so I can move on to the meat of this post.

    A lot of people, myself included, have been looking at this problem for quite a while. I started in late 2007, looking for something that’s suitable for REST/WebArch and better than WSDL. Just because I think we can do better than WSDL, doesn’t mean I oppose better development and management tools.

    It’s a good rhetorical device, though. You take all the people who think WSDL is flawed, and that REST is an architecture style not just protocol bindings, and project them into the “people who don’t get it” category. It’s a good debating tool, but does it help us deliver better software?

    I said it before, and I’ll say it again. Axis is my favorite WS framework to work with, I’m also keeping an eye on Synapse. So we have all this creative energy and talented people, and we have, in my opinion the best place to develop a proper REST stack, Apache. Wouldn’t it be great if it all came together?

    The Axis RPC/XML/HTTP toggle is not it. Calling this feature REST doesn’t make it so, you can’t fit an  architecture into the WSDL protocol bindings. There’s no shoehorn than can do that. So right now I can use Axis for all the WS stuff, but I’m going to work around it for all the REST stuff.

    Can you see the void? Another way to think of void is, an opportunity to jump in and fill the gap. And people are working on it, whether you want to believe it or deny it’s happening. I’m going to guess this won’t happen under ws.apache.org any time soon. What a shame.

    But it’s happening elsewhere on the Web, and also under Apache. Axis has always done things differently, and there’s clearly room for innovation here. Axis is also aiming beyond Java, so there’s that benefit as well. I guess not right now, but maybe someday soon?

    1. Jul 26th, 2008

      Sanjiva Weerawarana

      Asaaf, by my statement about tools and REST I was referring to the general opposition in the REST community to static descriptions – WADL or WSDL 2.0 HTTP Binding or whatever. Yes I fully understand the reasons behind that opposition.

      Isn’t it ironic that after years of saying “REST is so easy you can just do it; you don’t need no stinkin’ tools” (yes, I’m paraphrasing) that Tim (as a symbol of the WS-Loyal Opposition) would now say “REST isn’t taking off because we haven’t figured out tools”?? Can’t have the cake and eat it, you know. I don’t know where that quote you found came from, but I can certainly find quotes from Tim and other RESTafarians against tools if you really want me to.

      Now going back to your comments about Axis and REST – I TOTALLY agree that what Axis2 has is not REST support but rather HTTP programming support. Believe it or not, I am *constantly* thinking about different ways of programming REST and in fact proposed a talk on programming models for REST for QCon ‘08 SF (but it didn’t get accepted). I *know* we (as in the world, not just Axis2) hasn’t cracked the nut on the “right” programming model for REST yet.

    2. Jul 26th, 2008

      Assaf

      Of the people I talk to/read etc, I think all seem to dislike WSDL and the unnecessary complexity it brings. And in that crowd WSDL 2.0 is not well received, even from people only interested in doing SOAP. Some think WADL is suitable, some don’t. It will be really interesting to make a census on this, see how attitudes change over time.

      Also, “REST is simple, not easy”. Google, you’ll find a lot of people saying just that. I’m in the “simple, not easy” camp, so anytime someone says “but you said REST is easy!”, my response is “but you didn’t listen to me!”

      Likewise, the word “tooling”. There’s a strong aversion to tooling which is different from aversion to tools. There’s a strong aversion to Java typing by people who use languages will all sorts of interesting typing systems. There’s a strong aversion to EJB by people who want to do CRUD remotely, etc.

      Some people want to throw out the dirty bath water, not the baby.

      “I *know* we (as in the world, not just Axis2) hasn’t cracked the nut on the “right” programming model for REST yet.”

      If you come up with something designed around REST/WebArch, that provides better tools but doesn’t require tooling, that helps make it easy without making it un-simple, you’ll find a willing audience.

      Look at Rails, it only solves some pieces of the puzzle (RESTful resources), but it solves them along these lines. Very well received. Look at Ode, we’re doing some work around resources, only XML for now, only for invoke. We positioned it as step one in a long term strategy, and so far I’m seeing people excited they can get some things done, even if we’re yet to solve all the world’s problems.

      All this to say, if you understand where other people are coming from, you’ll get a lot of help in charting out the solution. And you don’t need to have all the answers, you can solve the puzzle one piece at a time.

    3. Jul 30th, 2008

      Chris Anderson

      Started to comment, but wrote a post instead: http://jchris.mfdz.com/code/2008/7/rest_clients_are_easy

    Your comment, here ⇓