Thursday, July 06, 2006

Down with Protocol Dogmas

I usually don't quote other bloggers, but after reading Dare's recent entry, I couldn't resist...

Dave Winer has a blog post where he responds to a post entitled SOAP, REST and XML-RPC by Randy Charles Morin. He writes

I wonder if it's be possible for me to disagree with Randy Morin without getting flamed. I never said XML-RPC is better than SOAP or REST, or more perfect or pure, or better documented. I don't care if the others have better websites, or more advocates posting on mail lists. The reason I advise would-be platform developers to support XML-RPC is because at least for some developers (including me) it's so much faster to implement, so we spend less time creating glue and get to building applications sooner. I've learned that the sooner developers get to the fun part, the more likely they are to deploy. And if that's the goal, why not support it? BTW, I never said they shouldn't support SOAP or REST, in fact I often provide multiple interfaces to my would-be platforms, because I've learned that if you want uptake for new ideas, you shouldn't argue over small things like this, you should say yes whenever you can.

I agree 100% with Dave Winer. If you are building a service on the Web, then you shouldn't discriminate against any platform, application or device. This means you can't pick one approach or one technology for building your service because different platforms have different levels of support for various approaches. A developer using Visual Studio will find using SOAP easier then REST or XML-RPC while on the flip side a developer using Python or Perl is likely more at home dealing with XML-RPC than using SOAP. Choosing one technology over the other is choosing to discriminate against one platform or set of developers over the other.

In some cases this is necessary to keep maintenance costs down by supporting a small set of protocols but in general if you are building a service on the Web, you want it to be inclusive not exclusive. Arguments of technological superiority be damned.

Ahh... it's so refreshing to see a pragmatic viewpoint on the whole protocol dogma permathread.  Yes, if the most convenient way to invoke a service in your language is by concatenating XML fragments and sending as an HTTP request, SOAP doesn't get you anything, and you're going to be cranky if I make you wrap your body in a SOAP envelope.  On the other hand, if you have a typed language (java, VB, C#, etc) and can make use of my service's metadata, SOAP and WSDL help alot, and you'll be upset with me if I don't provide you those conveniences.  And unless I'm too religious to see past the pragmatic truth, I'll offer both bindings to my customers.

Hence the infamous POX DCR in Indigo.  Check out Yasser's RSS toolkit for a simple example.  And in RC1, it's easier than ever to add a POX endpoint to your service...

 


 | 
Thursday, July 06, 2006 7:23:26 AM (GMT Standard Time, UTC+00:00)  #  Comments [1] Tracked by:
"Cheap phentermine" (Cheap phentermine) [Trackback]
"Buy phentermine" (Buy phentermine) [Trackback]
"Phentermine Prescription" (Phentermine Prescription) [Trackback]
"phentermine Online" (phentermine Online) [Trackback]
"Order cialis" (Order cialis) [Trackback]
"tramadol Online" (tramadol Online) [Trackback]
"Buy phentermine" (Buy phentermine) [Trackback]
"carisoprodol" (carisoprodol) [Trackback]
"tramadol" (tramadol) [Trackback]
"carisoprodol Prescription" (carisoprodol Prescription) [Trackback]
"soma" (soma) [Trackback]
"Pharmacy Online" (Pharmacy Online) [Trackback]
"phentermine" (phentermine) [Trackback]
"phentermine" (phentermine) [Trackback]
"carisoprodol" (carisoprodol) [Trackback]
"xanax" (xanax) [Trackback]
"tramadol" (tramadol) [Trackback]
"soma" (soma) [Trackback]
"minoxidil no prescription " (minoxidil no prescription . Anton Hindsthom) [Trackback]
"paxil Prescription" (paxil Prescription) [Trackback]
"online carisoprodol " (online carisoprodol . Margamlu Rovwssonwall) [Trackback]
"tramadol Prescription" (tramadol Prescription) [Trackback]
"phentermine Online" (phentermine Online) [Trackback]
"Order phentermine" (Order phentermine) [Trackback]
"phentermine" (phentermine) [Trackback]
"soma Prescription" (soma Prescription) [Trackback]
"Cheap xanax" (Cheap xanax) [Trackback]
"Buy ativan" (Buy ativan) [Trackback]
"???" (????? ???? ??) [Trackback]
"???" (????? ???? ??) [Trackback]
"xanax Prescription" (xanax Prescription) [Trackback]
"Buy hydrocodone" (Buy hydrocodone) [Trackback]
"hydrocodone" (hydrocodone) [Trackback]
"Order hydrocodone" (Order hydrocodone) [Trackback]
"Buy carisoprodol" (Buy carisoprodol) [Trackback]
"Cheap klonopin" (Cheap klonopin) [Trackback]
"Buy hydrocodone" (Buy hydrocodone) [Trackback]
"Pharmacy online" (Pharmacy online) [Trackback]
"paxil" (paxil) [Trackback]
"mya " (dg ) [Trackback]
"tadalafil" (tadalafil) [Trackback]
"diazepam" (diazepam) [Trackback]
"ambien" (ambien) [Trackback]
"dagadoome" (dagadoo) [Trackback]
"phentermine Prescription" (phentermine Prescription) [Trackback]
"phentermine" (phentermine) [Trackback]
"wellbutrin" (wellbutrin) [Trackback]