Dave Johnson on open web technologies, social software and software development
« MainSoft and Mono. | Main | Slides from the... »
I've been casually following the various Atom API debates and I've found that reading the back and forth flames is educational for me as I try to better understand XML, HTTP, and the various approaches to web services. Maybe you can help me out because some logic that I just don't understand has been introduced into the debate. I'll explain.
I've never written a real spec like the ones that IETF or W3C produces, but it seems to me that when you are writing a spec, as when you are designing software, you have to think a lot about dependencies. You have to decide what specs are you going to build your spec upon. With the Atom API initially, there seemed to be a bunch of choices for foundation specs including HTTP, XML, SOAP, and XML-RPC. Now, obviously you need HTTP and XML because Atom is about the web and the Atom data format is XML, but what do you need beyond that? You need some framework or at least some guiding philosophy on which to base a web services API, but you're never going to get concensus to bring XML-RPC or SOAP into the Atom API dependency list. There's too much politics in this decision, too much baggage comes along with SOAP, and most sane people realize that XML-RPC is an amorphous blob not a spec. So, you're stuck with HTTP and XML.
I don't think being stuck with HTTP and XML is a really a problem. HTTP and XML are fine specs and they've gotten us very far, at least in my practioners view of the web. What I don't understand is why you would limit yourself to using only two of the verbs defined in the HTTP spec, as Russell suggests. The Atom API is an API spec for a web application, so why shouldn't it make full use of the spec that literally defines the web? It's not like HTTP is some complex beastly thing either. HTTP is a pretty simple spec, simple and powerful, and it's verbs are perfectly suited to the Atom API problem domain. Making full use of HTTP and XML rather than pulling in SOAP or XML-RPC reminds me of the XP philosophy of doing the simplest thing that will work.
I guess what it comes down to is that I just don't understand Russell's logic. He seems to be saying: Java2 Micro Edition's (J2ME) HTTP support is incomplete and therefore the Atom API sucks. Russell also implies that the standard HTTP verbs DELETE and PUT were intentionally left out of J2ME. Do we know that to be a fact? How can that be anything but an oversight and, when you get right down to it, just a bug in J2ME.
Dave Johnson in Blogging
12:14PM Feb 19, 2004
Comments [6]
Tags:
Blogging
« MainSoft and Mono. | Main | Slides from the... »
This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog
Below are the most recent entries in the category Blogging, some may be related to this entry.
Posted by Russ on February 19, 2004 at 09:36 PM EST #
Posted by Mark on February 19, 2004 at 11:05 PM EST #
I can understand your logic and your anger perfectly now Russ. You want to sell your J2ME app into a market made up of millions of Java-enabled phones that all have an incomplete HTTP client implementation and no hope of upgrade. You can't use Atom as currently spec'ed and you don't think the Atom guys are listening. I'd be angry too, but I would be spitting some fire in Sun's direction.
I did the research that I should have done before making this post and was glad to see that there are a number of proposed workarounds for this "impass" as it is called on the Atom WIKI - and a lot of smart people advocating a workaround. However, I was not able to find a bug report in Sun's bug database for this J2ME bug. Is there such a bug report? Is Sun going to fix this?
Posted by Dave Johnson on February 19, 2004 at 11:26 PM EST #
Posted by Russ on February 19, 2004 at 11:44 PM EST #
Posted by Mark on February 20, 2004 at 02:30 AM EST #
Posted by Bo on February 20, 2004 at 03:51 AM EST #