Return-Path: Delivered-To: apmail-incubator-esme-dev-archive@locus.apache.org Received: (qmail 82189 invoked from network); 3 Jan 2009 05:25:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Jan 2009 05:25:31 -0000 Received: (qmail 12047 invoked by uid 500); 3 Jan 2009 05:25:31 -0000 Delivered-To: apmail-incubator-esme-dev-archive@incubator.apache.org Received: (qmail 12018 invoked by uid 500); 3 Jan 2009 05:25:31 -0000 Mailing-List: contact esme-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: esme-dev@incubator.apache.org Delivered-To: mailing list esme-dev@incubator.apache.org Received: (qmail 12007 invoked by uid 99); 3 Jan 2009 05:25:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Jan 2009 21:25:31 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [194.138.12.133] (HELO mxs2.siemens.at) (194.138.12.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 03 Jan 2009 05:25:20 +0000 Received: from vies1k7x.sie.siemens.at ([158.226.129.83]) by mxs2.siemens.at with ESMTP id n035P0st013932 for ; Sat, 3 Jan 2009 06:25:05 +0100 Received: from nets138a.ww300.siemens.net ([192.168.217.3]) by vies1k7x.sie.siemens.at (8.12.11.20060308/8.12.1) with ESMTP id n035OhkH002558 for ; Sat, 3 Jan 2009 06:24:53 +0100 Received: from nets13ja.ww300.siemens.net ([158.226.250.79]) by nets138a.ww300.siemens.net with Microsoft SMTPSVC(6.0.3790.3959); Sat, 3 Jan 2009 06:24:32 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C96D63.8E3070D3" Subject: RE: Pretty scathing critique of our REST API Date: Sat, 3 Jan 2009 06:23:38 +0100 Message-ID: <30DB6ACF50A0A3439F39EFEB1C52E166078F2230@nets13ja.ww300.siemens.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: <30DB6ACF50A0A3439F39EFEB1C52E166078F2230@nets13ja.ww300.siemens.net> Thread-Topic: Pretty scathing critique of our REST API Thread-Index: AclkTWfWkOGCSwZ7RV+Vur6+SPMvRAJFgdC+ References: <30DB6ACF50A0A3439F39EFEB1C52E166078F2213@nets13ja.ww300.siemens.net><30DB6ACF50A0A3439F39EFEB1C52E166078F2217@nets13ja.ww300.siemens.net> From: "Hirsch, Richard" To: X-OriginalArrivalTime: 03 Jan 2009 05:24:32.0659 (UTC) FILETIME=[8F16B630:01C96D63] X-purgate: clean X-purgate: This mail is considered clean X-purgate-type: clean X-purgate-Ad: Checked for Spam by eleven - eXpurgate www.eXpurgate.net X-purgate-ID: 149917::090103062505-0B7F5BA0-2BC28999/0-0/0-15 X-purgate-size: 12634/999999 X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01C96D63.8E3070D3 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Just added a disclaimer to our present REST API documentation at Google = Code =20 D.=20 ________________________________ From: bdelacretaz@gmail.com on behalf of Bertrand Delacretaz Sent: Mon 12/22/2008 16:52 To: esme-dev@incubator.apache.org Subject: Re: Pretty scathing critique of our REST API Hi David, On Mon, Dec 22, 2008 at 3:08 PM, David Pollak wrote: > On Sun, Dec 21, 2008 at 11:45 PM, Bertrand Delacretaz < > bdelacretaz@apache.org> wrote: > >> ...it would be >> more correct to call that API an HTTP/XML API.... > ...First, most of the folks I consult for consider REST APIs to be = "simple HTTP > calls where the URL contains some of the parameters of the call = (usually > some form of primary key) and the result can be hand-parsed." = Anything in > the minds of managers that's not REST is as difficult to use as SOAP = and > they bristle.... Ouch. I understand how you might have to use terms like "REST-like" to explain things to such managers, but I'm not sure if it's a valid excuse for abusing the term in specs ;-) > Second, if one looks at Twitters nominal REST APIs ( > http://apiwiki.twitter.com/REST+API+Documentation), one will find some = of > the issues that we have.. Ok, but at least there they say "The Twitter API attempts to conform to the design principles of Representational State Transfer (REST)" - note the word *attempts*. Such a disclaimer might be good at http://code.google.com/p/esmeproject/wiki/REST_API_Documantation > ...Further, Twitter (and most Rails apps) use the request > suffix as the key to the data return type. According to the REST = purists on > the Lift list, the app should ignore the suffix (in fact having a = suffix is > very un-REST-like) and should rely on the HTTP headers to determine = return > type.... Yes, and that's IMHO one of the "rules" that today's browsers often force us to break. > ...I am keen to keep the REST designation for ESME's APIs.... Being just a mentor here, I'll leave that decision to people who are actively involved in the project, but my opinion is still that the current API would better be called either an HTTP/XML API, or a RESTful API. > ... I also think that > during the API clean-up, we can make them more REST-like including = using > HTTP result codes rather than returning 200 all the time (this is = something > that's been on the to-do list for a while), having stateless versions = of > most of the calls (the calls would be identical, but if auth headers = were > included, we'd skip the session creation bit), and using the headers = and the > suffix to determine return encoding (XML, JSON, etc.)... Cool. One thing that I notice also is that the current API is not suitable for caching, as resources deliver varying content depending on a session state. > ...I am keen to keep the REST (or REST-like or REST-inspired) = designation > because is does convey simplicity, ease of use and quick uptake to = folks who > are evaluating our project. That's an important value.... I see what you mean, but cannot agree to call the current API a REST API. That might give a warm fuzzy feeling to "customers", but might have the opposite effect on technically competent people. "REST-inspired" sounds much better, especially given the intention to improve things. -Bertrand ------_=_NextPart_001_01C96D63.8E3070D3--