Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Google Businesses The Internet

Google Deprecates SOAP API 240

Michi writes "Brady Forrest at O'Reilly Radar reports that Google has deprecated their SOAP API; they aren't giving out any new SOAP Search API keys. Nelson Minar (the original author of the Google SOAP API) argues that this move is motivated by business reasons rather than technical ones. Does this mark the beginning of the end for SOAP or for ubiquitous middleware in general?" Forrest's post quotes developer Paul Bausch: "This is such a bad move because the Google API was the canonical example of how web services work. Not only is Google Hacks based on this API, but hundreds of other books and online examples use the Google API to show how to incorporate content from another site into a 3rd party application."
This discussion has been archived. No new comments can be posted.

Google Deprecates SOAP API

Comments Filter:
  • What about XMLRPC? (Score:5, Informative)

    by Dynedain ( 141758 ) <slashdot2 AT anthonymclin DOT com> on Tuesday December 19, 2006 @11:34PM (#17308840) Homepage
    Does Google offer XMLRPC services?

    If so, then I'd say it's fine to drop SOAP. XMLRPC is a bit cleaner anyways.
  • by RuBLed ( 995686 ) on Tuesday December 19, 2006 @11:47PM (#17308934)
    ...not every other neat Google application. Maps is no longer in Beta as well as Google Earth and some other neat applications.

    http://en.wikipedia.org/wiki/List_of_Google_produc ts [wikipedia.org]
  • by BrynM ( 217883 ) * on Tuesday December 19, 2006 @11:56PM (#17308976) Homepage Journal
    Does Google offer XMLRPC services?
    The AJAX API [google.com] might be what you're looking for.
  • Google branding? (Score:3, Informative)

    by BorgCopyeditor ( 590345 ) on Wednesday December 20, 2006 @12:01AM (#17309006)
    So, skimming the Google AJAX Search API [google.com] example code pages, it looks like a big part of this is to attach Google's name and image to everything your web page or web app does with the data Google provides. Does that seem to anyone else like a fair assessment? If so, is it a fair practice?
  • Re:Don't be evil! (Score:4, Informative)

    by FooAtWFU ( 699187 ) on Wednesday December 20, 2006 @12:02AM (#17309018) Homepage
    It needn't even be "non-AJAX". There are plenty of other possibilities for a web service API besides SOAP. The one I'm particularly well-acquainted with, and perhaps the biggest contender out there, is REST (REpresentational State Transfer). In particular, I recall one web developer howto-type site speaking about Amazon's SOAP-related services, and how most people don't use them, because they're an order of magnitude slower than most REST services.
  • Re:Don't be evil! (Score:3, Informative)

    by Ingolfke ( 515826 ) on Wednesday December 20, 2006 @12:16AM (#17309106) Journal
    REST is great! It's easy to use... I've used Amazon's REST API and liked it a lot.
  • Re:WTF is SOAP? (Score:5, Informative)

    by omeomi ( 675045 ) on Wednesday December 20, 2006 @12:53AM (#17309302) Homepage
    SOAP (originally Simple Object Access Protocol) is a protocol for exchanging XML-based messages over computer network, normally using HTTP. SOAP forms the foundation layer of the Web services stack, providing a basic messaging framework that more abstract layers can build on. The original acronym was dropped with Version 1.2 of the standard, which became a W3C Recommendation on June 24, 2003, as it was considered to be misleading. - Wikipedia.org [wikipedia.org]
  • And the replacement (Score:3, Informative)

    by brajesh ( 847246 ) <(brajesh.sachan) (at) (gmail.com)> on Wednesday December 20, 2006 @12:57AM (#17309320) Homepage
    The recommended replacement AJAX api [google.com] not only has limited applications, but also it promises [google.com] to show google ads beside the results.

    Not that Google Search API has ever been very stable - it probably works only 80% of the time. Now even the support has been dropped and usage samples along with FAQ have been removed for SOAP api.
  • by BrynM ( 217883 ) * on Wednesday December 20, 2006 @01:19AM (#17309396) Homepage Journal
    There's also the Data API [google.com].
  • Re:bastards (Score:4, Informative)

    by Sentry21 ( 8183 ) on Wednesday December 20, 2006 @01:53AM (#17309512) Journal
    He's not kidding [amazon.com] - it's a good book too, I'd highly recommend it if you're doing web programming.
  • by feste12 ( 265406 ) on Wednesday December 20, 2006 @03:26AM (#17309882) Homepage
    There's already a drop-in replacement [evilapi.com] for applications that are using Google's SOAP API. It scrapes Google's web results and returns them via a SOAP layer. The code behind it is free under the MIT License.
  • Good riddance. (Score:4, Informative)

    by arcade ( 16638 ) on Wednesday December 20, 2006 @04:37AM (#17310166) Homepage
    Seriously. Good riddance. SOAP is a mess. Google has gone the XMLRPC way, and they're providing access via that.

    This isn't google being evil. This is google removing a piece of completely unnecessary junk from their offerings. SOAP should never have seen the light of day, and google is now making sure that they do their part of burying it.
  • by simscitizen ( 696184 ) on Wednesday December 20, 2006 @06:02AM (#17310514)
    MS live search has a SOAP, Yahoo search has REST--maybe you could use those instead.
  • Power of SOAP (Score:4, Informative)

    by Phil John ( 576633 ) <phil.webstarsltd@com> on Wednesday December 20, 2006 @06:23AM (#17310598)

    The real power of SOAP comes when you are using a language or framework that has support for it builtin. SOAP is complex simply because it does more than XML-RPC with type handling etc.

    In PHP you can use NuSOAP (or in 5.x the built-in SOAP library), to simply register some functions and autogenerate the WSDL, or generate a proxy from a given WSDL - takes a couple of minutes tops and then looks like you are simply calling another function.

    Anyone who uses ASP.NET regularly has it even better - create an ASMX file, define a class and functions like you would in any C# class, add some namespace arguments, a [WebMethod] over all your public methods and it can then be instantiated and called from any other ASP.NET website or .NET dekstop app seamlessly, like it was a local class. It's really cool just how transparent it all is. You can even throw exceptions and catch them on the other side, pass back objects - it's really slick.

  • by awing0 ( 545366 ) <adamNO@SPAMbadtech.org> on Wednesday December 20, 2006 @09:11AM (#17311372) Homepage
    There is an eBay API. I've used it myself to create a few apps. It's a full featured XML over HTTP interface.

    http://developer.ebay.com/common/api/ [ebay.com]

  • by tonigonenstein ( 912347 ) on Wednesday December 20, 2006 @09:22AM (#17311430)
    I the only one that cringes at using SOAP messages (or XML in general) for something that's supposed to be a machine-to-machine interaction? If you're going to write a new standard, why not write something more efficient?
    No you're not. The sad thing is that before the invention of XML there already was a great standard for this: ASN.1, which is widely used in the telecommunication industry. ASN.1 allows one to represent hierarchical information, just like XML, but its advantage is that it defines several encodings: several binary encodings with different tradeoffs for efficient machine processing, and a text encoding for humans. You choose the best encoding for your application (which you can always change if you want), and you have standard tools to convert between encodings if necessary.
    In this exemple, you could use a binary encoding for the wire protocol and a text encoding for the service description (which is normally written by a human). If you wanted to debug the wire communication you could intercept the binary encoding and convert it to the text encoding to present it to a human. Best of both worlds: efficient machine processing and possibility of human inspection if necessary.
    Proposals for a binary xml are just attempts to recreate the ASN.1 functionnality of alternate encodings after the fact. Talk about wheel reinvention.
  • Re:No SOAP, Radio (Score:3, Informative)

    by jalefkowit ( 101585 ) <jason@jaso3.14nlefkowitz.com minus pi> on Wednesday December 20, 2006 @10:26AM (#17312056) Homepage
    Google is replacing SOAP with an AJAX API.

    No they're not. There is an "AJAX API", but it isn't really a replacement for the old SOAP API in any meaningful sense. I posted an explanation why [wordpress.com] on Scripting News yesterday. Basically, the AJAX "API" is just a blob of Javascript that returns HTML in response to a form POST -- HTML that includes advertisements -- and you're obligated by the Terms of Use to display that HTML unmodified. That's very different from the SOAP API, which returned raw data you could format and display however you liked.

    Another observer hit the nail on the head yesterday: [megginson.com]

    An AJAX interface like this is a great thing for a lot of users, from bloggers to small web site operators, because it allows them to add search to their sites with a few lines of JavaScript and markup and no real coding at all; however, the gate has slammed shut and the data is once again locked away outside the reach of anyone who wanted to do anything else.
  • Re:Power of SOAP (Score:3, Informative)

    by fireboy1919 ( 257783 ) <rustyp AT freeshell DOT org> on Wednesday December 20, 2006 @11:29AM (#17312914) Homepage Journal
    The real flaw of SOAP comes out when you are using a language that has SOAP support built-in. It makes you think that you can write cross-platform web services with it, when in reality, you can only write them for your language/platform of choice.

    Your example shows exactly how this is true.

    While SOAP has types built-in, the only collections supported by all platforms are arrays of primitives, which means that you have to write serializers for any collection types (such as, for example, HashMaps/Associative Arrays, Lists, and Sets) that you want to use in *all* the languages you want to make it available to.

    Further, not all the implementations support envelopes quite the same, so can't depend on using that technique to send binary data.

    These things are, in general, *necessary* to serialize a given object. I'd prefer that you could assign types to these, but you can live without that.

    For my money, therefore, XML-RPC is far superior. You get collections (even if they don't have everything you want), and it *works everywhere* (though you do have to Base64 encode your binary data).

    It's not perfect, though. For me, the perfect RPC protocol would allow for OOP, and have built in support for these primitives:
    date, time, int, long, double, float, byte, byteArray (binary data), type (i.e. an enumerator that indicates one of the existing types), pointer (reference to other parts of the data)
    and these collections:
    ordered list, unordered list, ordered set, unordered set, and associative arrays (ordered and not)

    Of course, just supporting the ordered variety would do the trick. It's easy to ignore an order, after all. You *could* do everything using just the primitives with pointers, but that's *WAY* too difficult for humans to read.

    In addition, it would have to have a binary, non XML-mode and an XML mode.

    Support for generics and class declarations should also be built in to the interface definition language for this.

    That'd be just about exactly what I'd need to use any remote object or function in any language that I use. It seems pretty simple to me, and easy to map into pretty much any programming language.

    Anybody know of anything close yet? Despite SOAP's extreme complexity, I don't think that it supports that stuff even now. It just doesn't seem like it should be that hard.
  • by Anonymous Coward on Wednesday December 20, 2006 @01:36PM (#17314640)
    XMLRPC is a good solution for simplistic HTTP client-server architecture request-response needs. It does not provide for identity, authorization, nor authentication. It does not define how to deal with asynchronous request / response, nor encrypted content parts. While its simplicity is enticing, it is also the Achilles Heel.
  • by PSdiE ( 643639 ) on Thursday December 21, 2006 @10:29AM (#17324516) Homepage
    The AJAX API is not a replacement for a Web Service API (SOAP or otherwise).

    The AJAX "API" is a customisable, but Google branded search widget. It does not allow programmatic search queries (although it is technically possible to run direct queries to the Web Services powering the AJAX interface, the Google AJAX API T&Cs forbid this).

    This is about Google ending programmatic access to its search results, nothing to do with the technical merits/failings of the SOAP technology ("business reasons rather than technical").

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...