Slashdot Mirror


Google Deprecates SOAP API

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."

79 of 240 comments (clear)

  1. Honeymoon is Over? by P(0)(!P(k)+P(k+1)) · · Score: 4, Insightful

    From TFA:

    I remember the first web services summit we did, where a Microsoft developer who I won't name admitted that SOAP was made so complex partly because "we want our tools to read it, not people."

    Just as I suspected: SOAP suffers from an artificial (read: gratuitous) complexity; what more do you need besides XML-RPC, anyway?

    Google quietly shutting down services, on the other hand, reminds me of differentiating stem-cells: the honeymoon is over.

    1. Re:Honeymoon is Over? by rbanffy · · Score: 4, Insightful

      Any technology that requires a specific tool to write code for it is way too complex.

      Without a Next-Next-Finish wizard, SOAP is a pain. With the tool it's mildly uncomfortable.

    2. Re:Honeymoon is Over? by timeOday · · Score: 4, Insightful

      This isn't about deprecating SOAP in favor of something simpler, is it? Sounds to me like google wants people to visit their website to use their services. Which, once again, proves why the semantic web and web services will never fly. Companies don't want to make their data and services available to each other.

    3. Re:Honeymoon is Over? by WasterDave · · Score: 5, Insightful

      Yes indeed it is. The cool kids see externally provided services and say "mashup! mashup! mashup!", the old timers see them and say "risk! risk! risk!".

      Dave

      --
      I write a blog now, you should be afraid.
    4. Re:Honeymoon is Over? by Anonymous Coward · · Score: 4, Insightful
      Companies don't want to make their data and services available to each other.

      I don't think it's so much that companies don't want to as it is that there is no money in it.

      If Amazon provided an API for buying stuff, I think it would stick around

      If eBay provided an API for listing / searching, I think it would stick around.

      Google, however, provides their product strictly for advertising revenue...it's wayyyy too easy for a consumer of the content to filter out the thing Google makes their money from.

      It's very similar to the problem with Tivo's (PVR's) and commercial television. Luckily in that case, the television providers don't make their money directly from advertising revenue...

    5. Re:Honeymoon is Over? by Anonymous Coward · · Score: 3, Insightful

      > Companies don't want to make their data and services available to each other.

      But people do. Why does everything we do have to be dictated by what a company would do? There are ways to achieve things in life other than to wait for a company to do it.

    6. Re:Honeymoon is Over? by jsse · · Score: 4, Interesting

      Which, once again, proves why the semantic web and web services will never fly. Companies don't want to make their data and services available to each other.

      Well, I beg the differ, please bear with me.

      SOAP is based on an idea of giving APIs to external parties for accessing information the way the information-owners want it. SOAP might be bad, but the idea is sound. Thinking about the traditional and dirty way to do the same thing: write scripts to 'post' webpages and extract the return pages. You can imagine slight changes in webpage layout could render the original extraction scripts useless, and that kind of information extraction might not be the owners' desire.

      In short, things SHOULD be done this way, but Google doesn't like this implementation(SOAP). Google might want to adopt other implementation, that's what we'd like to know.

    7. Re:Honeymoon is Over? by dave562 · · Score: 2, Interesting
      Companies don't want to make their data and services available to each other.

      That's not exactly true. In a lot of markets there is value to giving outside vendors access to your internal data. For example, one of my clients sells their product through Home Depot and Expo Design Centers. HD and Expo are constantly calling my client for status updates. By putting that information on the web my client saves a lot of time because their people aren't tied up answering calls for information that HD reps can now get online.

    8. Re:Honeymoon is Over? by jd · · Score: 4, Insightful
      AJAX, SOAP and so on are all based on the premise that there are ways of abstracting out a lot of the complexity of service/user and service/service interactions. That assumption, I believe, is essentially correct. From that premise, these standards go on to assume that vendors are the right people to make such abstractions. Here is where the error lies. Vendors are notorious for producing crippled standards (such as SQL) that require vendor extensions to be usable. At a recent PCI-SIG conference, I was amazed at both the obviously stupid limitations of the standards and the gratuitous "vendor extension" options that very obviously existed so that vendors could provide proprietary solutions to those limitations. If a standard cannot stand, it ceases to be a standard and becomes little more than a cub scout badge.


      (Another case: I cannot name a single well-designed W3C spec that was consortium-driven, and cannot name a single consortium-driven W3C spec that was well-designed.)


      Web service standards cannot be driven by the very people who profit most from non-standard solutions. Even when they are designed well, they will STILL carry unacceptable flaws precisely because they are not driven by a collective itch but by a desire to stop someone else's scratch being the one that's used. The day a truly open federation of user-developers (you need a group of people where each person is both user AND developer) who have no ulterior motive beyond solving the service issue is formed will be the day that you see a protocol that requires no "perfect case study", proprietary extensions, overweight IDEs, etc. It will just work and be just used. Same as every other system developed that way has always just worked and just been used.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    9. Re:Honeymoon is Over? by killjoe · · Score: 2, Interesting

      "Thinking about the traditional and dirty way to do the same thing: write scripts to 'post' webpages and extract the return pages."

      That's so cute, "the traditional way". Soap is just another in the long line of technologies that attempt at RPC. SOAP is actually a way to make CORBA more palletable. CORBA was universally despised for it's complexity so SOAP was supposed to simplify it. The only way to make RPC simple is to neuter it so that's what they did. Alas there was a reason for all that complexity and as SOAP becomes more and more complex it starts to look like CORBA more and more except of course that every implementation is incompatible with every other one.

      --
      evil is as evil does
    10. Re:Honeymoon is Over? by TeXMaster · · Score: 2, Insightful
      But people do. Why does everything we do have to be dictated by what a company would do? There are ways to achieve things in life other than to wait for a company to do it. Yes, like doing it yourself. Provided you have the resources (money, time, etc) to do it, of course. Which is, may I suggest, rarely the case.
      --
      "I'm never quite so stupid as when I'm being smart" (Linus van Pelt)
    11. Re:Honeymoon is Over? by cyclomedia · · Score: 4, Interesting

      What i truly don't understand is why it has to be so complex even the much vaunted and pparently much simpler XML-RPC looks like attatching a nuclear bomb to the process:

      <?xml version="1.0"?>
      <methodCall>
          <methodName>namespace.getCountryCodeFromAbbr</meth odName>
          <params>
              <param>
                      <value><string>UK</string></value>
              </param>
          </params>
      </methodCall>

      Browsers already have Javascript engines in that take C-syntaxey looking ascii and convert it into functions and objects, so why not just use a C-syntaxey plaintext to describe the service?

      read: namespace{ int getCountryCodeFromAbbr( string ); };

      send: namespace.getCountryCodeFromAbbr( "UK" );

      get : 44

      now, ok you might want to send comlext data structures back, but hey, you can just slap in the curly braces and be done

      read: namespace{ personStruct{ string name, int age, char sex }; personStruct getPersonFromUserId( int ); };

      send: namespace.getPersonFromUserId( 12 );

      get : { "John Smith", 34, 'M' };

      oh, but i forget: everthing has to be XML to be enterprisey, wether or not it's the best tool for the job, or if there's already a tool for the job that can do it for you with just a little tiny bit of effort. The "include this .js file" AJAX approach is essentially a wrapper for doing what i've just described, but taking the communication automation out of it.

      --
      If you don't risk failure you don't risk success.
    12. Re:Honeymoon is Over? by LizardKing · · Score: 2, Interesting

      What you're describing - an interface in a C like syntax - is exactly what CORBA IDL provides. While CORBA has its own set of problems, it is a far better solution than SOAP. SOAP is incredibly tedious to develop for, and difficult to optimise as it's predicated on XML parsing which is an inefficient format for what is essentially an RPC mechanism.

    13. Re:Honeymoon is Over? by tonigonenstein · · Score: 2, Insightful
      I hope you do realize that you are not supposed to manipulated the wire protocol directly, be it xml, IIOP or something else. In the case of SOAP there are libraries that let you programmaticaly create a message. But if you have a WSDL that describes the service (similar in intent to CORBA's IDL), and most service provider give you that, you can use libraries that create a proxy object from the WSDL. Then you can call native methods directly on the proxy.
      In your exemple that would be something like

      proxy = make_wsdl_proxy ("http://provider.com/service.wsdl");
      cc = proxy.getCountryCodeFromAbbr("UK");
      And that's it, it cannot be easier than that. Search on the web there are several such libraries available for different languages. If you use a compiled language like C++ you can also compile the WSDL in advance to a proxy.cc/proxy.h client wrapper, much as with an IDL compiler. But in a language like javascript it is better to create the proxy dynamically, and you can also use introspection to discover which methods are available for exemple.
      --
      The sooner you fall behind, the more time you have to catch up.
    14. Re:Honeymoon is Over? by Agelmar · · Score: 4, Interesting

      Have you ever tried using this for nontrivial examples? I must confess to being quite fed up with the whole thing. Support for anything beyond the basics seems to vary greatly from library to library, platform to platform, language to language. Axis is probably the best choice for Java, but it's rather lacking when it comes to commercial support, which is important for some people. For C/C++ you're more or less screwed. Gsoap works (for the most part), but it produces the most god-awful stubs I've ever seen. The library that comes as part of Visual Studio (for .Net I believe) either doesn't support MIME or DIME attachments, I don't recall which. There just seem to be too many problems for me to actually bother to use it.

      In my opinion, at this point it's just a mess, and for anything beyond the complexity of the stock-quote example I look to other technologies. I, for one, shed no tears at the end of this honeymoon.

      (And am 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?

    15. Re:Honeymoon is Over? by awing0 · · Score: 4, Informative
      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/

      --
      Cthulhu Saves.
    16. Re:Honeymoon is Over? by tonigonenstein · · Score: 3, Informative
      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.
      --
      The sooner you fall behind, the more time you have to catch up.
    17. Re:Honeymoon is Over? by marcosdumay · · Score: 2, Insightful

      That one of the very few cases where XML does make sense. If you look better at that , all you can take out of it is syntax sugar, no intrisical complexity (you just replace a mess of tags with a mess of braces). That at the cost of implementing another parser that will often be full of bugs.

    18. Re:Honeymoon is Over? by jimbojw · · Score: 3, Funny

      There is an eBay API.

      Ah, but can I buy a Google API Key on eBay now that they're not being given away? Preliminary searches indicate 'no'.

    19. Re:Honeymoon is Over? by cyngus · · Score: 2, Insightful

      No, everything has to be XML to be understood by humans and machines. If I'm just looking at the response {"John Smith", 34, 'M'} from the server, what does this information mean? If its in XML I can skim the structure that the values are returned in and know what these values are. With just three pieces of data returned, this doesn't mean much, but what if my data structure has hundreds of values returned? Or what if ten integers are returned, I'm going to easily confuse whether the piece of data I want is in slot 5 or slot 6. So, what I'll probably do is build a converter that puts these values in a hashmap (in java) or associative array (in php) or a set of constants to index the return value array (in c[++] or java). Now, if I'm using SOAP, the library probably is going to do this conversion for me, and it can only do that because it can read the XML tags in the response.

      With JavaScript most stuff is done with JSON now anyway, so your arguments don't really apply.

    20. Re:Honeymoon is Over? by Kazoo+the+Clown · · Score: 4, Insightful

      Yes, and where XML really shines is in turning a 1M record database query from 30MB of text into 150MB of text...

    21. Re:Honeymoon is Over? by krishy · · Score: 2, Funny

      Ahem. sorry for the misformatting... The irony! misformatting by 'TeXMaster' :)

  2. bastards by PktLoss · · Score: 5, Funny

    Bastards, I wrote one of those books! Quick buy your copy today, it's practicaly a collectable now.

    1. Re:bastards by Sentry21 · · Score: 3, Informative

      He's not kidding - it's a good book too, I'd highly recommend it if you're doing web programming.

  3. Well it was 'just' a Beta by rednip · · Score: 3, Insightful

    Well it was 'just' a Beta, but then again so is gmail, Google maps, and every other neat Google application. Of course as a gmail user it does give me pause, as to what I'm really doing.

    --
    The force that blew the Big Bang continues to accelerate.
    1. Re:Well it was 'just' a Beta by RuBLed · · Score: 4, Informative

      ...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

  4. Re:WTF is SOAP? by MeanMF · · Score: 4, Funny

    Spoken like a true Slashdotter... :)

  5. What about XMLRPC? by Dynedain · · Score: 4, Informative

    Does Google offer XMLRPC services?

    If so, then I'd say it's fine to drop SOAP. XMLRPC is a bit cleaner anyways.

    --
    I'm out of my mind right now, but feel free to leave a message.....
    1. Re:What about XMLRPC? by BrynM · · Score: 3, Informative
      Does Google offer XMLRPC services?
      The AJAX API might be what you're looking for.
      --
      US Democracy:The best person for the job (among These pre-selected choices...)
    2. Re:What about XMLRPC? by rainman_bc · · Score: 2, Insightful

      The AJAX API [google.com] might be what you're looking for.

      That's a client-side lib. What if you want to make the call from a server?

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    3. Re:What about XMLRPC? by BrynM · · Score: 3, Informative

      There's also the Data API.

      --
      US Democracy:The best person for the job (among These pre-selected choices...)
    4. Re:What about XMLRPC? by codepunk · · Score: 4, Interesting

      You sir could not be more correct... We have servers that process tens of thousands of xmlrpc transactions per day and could not be happier with it. SOAP is a absolutley over engineered, complicated pain in the ass spec to deal with. The couple of features it does have over xmlrpc do are not worth the complication of dealing wih it.

      --


      Got Code?
    5. Re:What about XMLRPC? by rjshields · · Score: 2, Funny
      after many, many hours spent working through the confusing and pointless code google created to throw hackers off we finally worked out the url to get search data:
      Why didn't you just use ethereal and be done in 5 minutes?
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
  6. Re:WTF is SOAP? by jours · · Score: 2, Funny

    > WTF is SOAP?

    Based on the slashdotters I know, you aren't likely to get an answer to this here.

    --
    This sig intentionally left blank.
  7. Soap, what was that? by canuck57 · · Score: 4, Funny
    Soap, what was that....

    Maybe something to do with:

    UNIX Sex

    {look;gawk;find;sed;talk;grep;touch;finger;find;fl ex;unzip;head;tail; mount;workbone;fsck;yes;gasp;fsck;more;yes;yes;eje ct;umount;makeclean; zip;split;done;exit:xargs!!;)}

    1. Re:Soap, what was that? by corsec67 · · Score: 5, Funny
      {look;gawk;find;sed;talk;grep;touch;finger;find;fl ex;unzip;head;tail; mount;workbone;fsck;yes;gasp;fsck;more;yes;yes;eje ct;umount;makeclean; zip;split;done;exit:xargs!!;)}

      So is that why nerds are getting acused of rape? (Not checking return codes...)
      The semicolons should be double ampersands, so that execution will stop if a command fails.
      --
      If I have nothing to hide, don't search me
    2. Re:Soap, what was that? by value_added · · Score: 5, Funny

      So is that why nerds are getting acused of rape? (Not checking return codes...) The semicolons should be double ampersands, so that execution will stop if a command fails.

      Yeah, but in the guy's defense, there wasn't a single argument to any of those commands.

    3. Re:Soap, what was that? by nacturation · · Score: 4, Funny

      The semicolons should be double ampersands, so that execution will stop if a command fails. Who said anything about execution? Sounds like you're into some sick kind of sudo masochism.
      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    4. Re:Soap, what was that? by NthDegree256 · · Score: 5, Funny
      So is that why nerds are getting acused of rape?
      You'd think Google would have paid attention to all those prison horror stories about dropping the SOAP.
  8. Don't be evil! by hernick · · Score: 3, Funny

    Wow. This is the first time I read an article about Google and, for a second, find myself thinking "Google appears to be Evil and driven by Greed. This isn't happening. This is just a mistake. Google will see the light. Google is Good."

    1. Re:Don't be evil! by Ingolfke · · Score: 3, Funny

      Yes. Google is evil. They've become drunk on their stock earnings and intend to use their massive computing capabilities to use up all of the Earth's energy in order to enslave mankind... it's all clear now that the SOAP Search API is gone.

      Um... seriously though. Give them a bit of time and see if the make and announcement and publish an alternative (non-AJAX) API.

    2. Re:Don't be evil! by FooAtWFU · · Score: 3, Informative

      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.

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    3. Re:Don't be evil! by Anonymous Coward · · Score: 2, Interesting

      That could be what they're intending, but the larger lesson of OP's post still stands. Companies exist to make profits for their owners, and large publicly held companies are under massive pressure to show increasing revenues and profits on a quarter by quarter basis. Plus, the senior employees get greedy and self-satisfied. Microsoft was once regarded as a courageous little band of corporate misfits taking on the IBMs of the world. Sun's Java was once seen as the salvation of the software industry. Dell was once viewed with incredible admiration for its ability to execute. Et cetera. Sooner or later, all these big companies will disappoint you, even if (or maybe *especially* if) the founders stick around.

    4. Re:Don't be evil! by Ingolfke · · Score: 2, Informative

      REST is great! It's easy to use... I've used Amazon's REST API and liked it a lot.

    5. Re:Don't be evil! by dircha · · Score: 2, Insightful

      "Wow. This is the first time I read an article about Google and, for a second, find myself thinking "Google appears to be Evil and driven by Greed. This isn't happening. This is just a mistake. Google will see the light. Google is Good.""

      Google provides you a wide range of services, which you value, at aboslutely no cost to yourself.

      ?

      *boggle*

      So did you just need to take a break from bashing the Salvation Army, or what?

  9. Uncleanliness is next to Satanliness by Anonymous Coward · · Score: 5, Funny

    Without soap Google will become evil.

    1. Re:Uncleanliness is next to Satanliness by freemywrld · · Score: 2, Funny

      Without soap, google will become a hippy.

  10. (SOAP is a WS) != (WS is SOAP) by MrData · · Score: 3, Insightful

    Simpy put the Author of the article has it all wrong. SOAP is a type of Web Service but not all web services use SOAP.

  11. Google branding? by BorgCopyeditor · · Score: 2, Informative

    So, skimming the Google AJAX Search API 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?

    --
    Shop as usual. And avoid panic buying.
    1. Re:Google branding? by FooAtWFU · · Score: 4, Insightful
      So, skimming the Google AJAX Search API 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?

      Well, since Google is the one who aggregated it in the first place... and is paying for the processing power and bandwidth requirements that go along with that... what's unfair about the practice? (It's not like they're really preventing one from giving you similar data, or somehow stealing away value from any of the sites they've indexed, or...)

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
  12. loss, opportunity, lesson or deja-vu? by siddesu · · Score: 3, Insightful

    Yawn... Google is a company. Regardless of the marketing bullshit they spew on, they aren't in the business of providing APIs (or whatever), they are in the business of making money. Anything else is subject to change.

    Their responsibility is more towards their shareholders, not so much towards their users. So, if they think one of their products -- be that APIs, ajax apps or whatever are providing diminishing returns for some reason, they'll axe it unless it is popular enough so that too many users feel ripped off. APIs aren't in the category at all.

    Also, the bigger they get, the more expensive the stock becomes, and the more their ownership sreads, the more clout the bean counters have over any other management ideology.

    So, if one relies exclusively to Google for anything, better check your contract with Google carefully and assess all risks (including risk from expensive litigation) first.

  13. So Google is starting to act like a real business? by dgm3574 · · Score: 4, Interesting

    Say it ain't so!

    It would be interesting to know how many active API users there were, and at what rate new ones were signing up, if at all. It may well be that continuing to support that API wasn't considered a useful (read: profitable) part of their business.

    Google is a publicly held corporation now. They have a responsibility to their shareholders to make decisions based on sound business practices. For a software company that means sending products into the end-of-life bin periodically.

    In a fabulous dose of irony, I found that on Google's AJAX Search API page, their own embedded search example is showing a blog posting titled "Google quietly backrooms SOAP API for AJAX".

    Screenshot here (Yeah, I'm using IE7, wannafightaboutit?)

  14. That's unfortunate by pjdepasq · · Score: 4, Interesting

    I loved using the Google API as the basis of one of my data structures programming assignments. It's a great way to have my student tackle the use of another party's API, as well as a useful way to grab a ton of data and play with it (say in a binary search tree or hash table). Now I need to find something else that will let us do the same, or come up with something else.

    1. Re:That's unfortunate by simscitizen · · Score: 2, Informative

      MS live search has a SOAP, Yahoo search has REST--maybe you could use those instead.

  15. Re:WTF is SOAP? by omeomi · · Score: 5, Informative

    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

  16. And the replacement by brajesh · · Score: 2, Informative

    The recommended replacement AJAX api not only has limited applications, but also it promises 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.

    --
    95% of all sigs are made up.
  17. Obligatory questions/puns by SeaFox · · Score: 3, Funny
    • Does Google own any patent/copyright on SOAP? If Google is dropping SOAP I don't want to get fucked if I pick it up.

    • No! Please don't let us run out of SOAP, Google! I feel so dirty using Microsoft's rival technology!

    • This is quite a slippery situation. I hope Google will come clean on my they are depreciating the APIs.

    • My reaction to this required me to use some SOAP - on my clothes.

    • When the developers heard this we had to get some SOAP - for their mouths.

    • I guess the "do no evil" bubble has finally burst...

    • There must be a better solution that will allow the technology to continue while satisfying Google's business reasons. No reason to throw out the baby with the bath water...

    • Why does Google have to play dirty like this?

    • This doesn't smell like an Irish Spring to me!

    • Hopefully they will introduce something even better for us to use, then the whole issue will be a wash.
  18. Google = Hypocritcal by Luscious868 · · Score: 3, Interesting
    This isn't about deprecating SOAP in favor of something simpler, is it? Sounds to me like google wants people to visit their website to use their services. Which, once again, proves why the semantic web and web services will never fly. Companies don't want to make their data and services available to each other.

    Which makes Google one hell of a hypocritical company. This is a company that couldn't exist if it wasn't for content put out there by other businesses and individuals yet when it comes to sharing it's own content it suddenly has a problem. It makes perfect business sense from Google's point of view, but it exposes those who made the decision for the hypocrites that they are. If they pursue this policy I hope the lawsuits that have been filed against them for copyright infringement are successful and that Google is run into the ground.

  19. Oh! Come On. by camperdave · · Score: 3, Funny

    If so, then I'd say it's fine to drop SOAP. XMLRPC is a bit cleaner anyways.

    Come on... Cleaner than SOAP? What could be cleaner than SOAP?

    --
    When our name is on the back of your car, we're behind you all the way!
  20. You have it backwards i.e. Google != Hypocritcal by theshowmecanuck · · Score: 4, Interesting

    One could argue that if it weren't for Google and other search engines, no one would ever know of about 90% of the web content put out by businesses and individuals. People and businesses who wanted to get *their* word out would have shrivelled up and died on the vine since no-one would ever have heard them calling. Since Google provides a service to those web sites, your argument could be considered spurious and therefore moot. If anything, those web sites owe Google, not the other way around as you contend.

    --
    -- I ignore anonymous replies to my comments and postings.
  21. Google != web by suv4x4 · · Score: 2, Interesting

    Not many were the people that appreciated SOAP before "Google did it" (tm).

    After "Google did it" (tm), SOAP is suddenly a good thing. Now that they drop it, peple are discussing if it's again a bad thing. Google is not the whole of Internet though. People will use SOAP if it's better than other solutions for a given tasks.

    And if it isn't, then it was a fad all along.

    Same with "AJAX" by the way. JavaScript was out there for years before "Google did it" (tm) but there were not many people appreciating it. If Google drops JavaScript tomorrow, would this spell the end of AJAX?

    Same logic applies.

  22. No SOAP, Radio by Doc+Ruby · · Score: 4, Interesting

    How could this deprecation of a SOAP API mark the end of "ubiquitous middleware" (as if that even existed) when deprecation means an API change, not a feature shutdown ?

    Google is replacing SOAP with an AJAX API. Maybe it is a blow to SOAP - which is long overdue for the 1990s graveyard. But how could that be bad for open-access middleware when there's a new, better API?

    --

    --
    make install -not war

    1. Re:No SOAP, Radio by grimJester · · Score: 2, Insightful

      The Ajax API is not a replacement. It probably lets you do what Google intended users to do with the SOAP API (embed their search into your web page), but it's not a "build anything you want on top"-style interface.

    2. Re:No SOAP, Radio by jalefkowit · · Score: 2, Informative
      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 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:

      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.
  23. Drop-In Replacement Already Available by feste12 · · Score: 5, Informative

    There's already a drop-in replacement 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.

  24. Re:WTF is SOAP? by Anonymous Coward · · Score: 2, Funny

    Have we already forgotten about Snakes on a Plane??

  25. It's probably because SOAP blows by joe_n_bloe · · Score: 2, Interesting

    Any serializing transport where, ultimately, figuring out what is going wrong - in normal use - involves using a packet sniffer to dump XML, is just broken. Nevermind that XML was never intended to be written by humans. Nevermind that the XML used in SOAP isn't intended to be human readable. It's just a layer of unnecessary crap that isn't even interoperable between different languages. Or, for that matter, different implementations on the same platform. "Web services" is a lovely addition that removes the last bit of comprehensibility and connection to reality while adding nothing except gaping security holes.

    JSON and the like are, on the other hand, reasonable, and also fairly easy on the eyes of us tired old programmers.

  26. Good riddance. by arcade · · Score: 3, Informative

    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.

    --
    "Rune Kristian Viken" - http://www.nwo.no - arca
  27. Of course they dropped it... by MancDiceman · · Score: 4, Insightful

    Correct me if I'm wrong, but the SOAP search results didn't come back with ads embedded in them. The AJAX API tools are capable of putting ad content in their results, as can the maps API because Google is controlling the display elements.

    Given that Google want to run their business off the back of ad revenues, it should come as no surprise they're getting rid of services that don't allow them to sell lots and lots of ads. I also imagine that the cost of providing the SOAP interface was higher than any subscription fees would have brought in due to a small market. What's more, it would directly help their competitors pull in results from Google and run their own ads alongside it. The API was neat, but from a business perspective it was always an experiment at best.

    Personally, I'd rather they brought something RESTful like Yahoo's interface or xml-rpc to the table, and charged us all a couple of cents per 100 queries, but that isn't going to happen any time soon.

  28. Power of SOAP by Phil+John · · Score: 3, Informative

    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.

    --
    I am NaN
    1. Re:Power of SOAP by fireboy1919 · · Score: 2, Informative

      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.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
  29. No money in it... Exactly. But there is a way by iendedi · · Score: 2, Insightful
    I don't think it's so much that companies don't want to as it is that there is no money in it.
    This is eactly it. Google has a revenue model based on ads, this API is in direct competition with their business. From a financial perspective, it doesn't really make sense for google to allow unrestricted access to their API.

    But that is key and I hope Google understands this: The risk is from unrestricted access.

    It is somewhat easy to implement XML security and provide approved businesses with what amounts to an access token. They could also allow developers a limited number of queries per day in the same manner. Such a system would allow Google to allow approved uses of their API (e.g. tools that display their ads or relationships with approved business deals behind them).

    Simply letting this wonderful access point into their search engine die would be a grand shame.
    --

    It is your personal duty to fight for what is right on a daily basis. Ignoring injustice is identical to approving
  30. Re:Straw Man by rjshields · · Score: 2, Insightful
    Suppose there is a dead person on the street. Will you search his pockets and take his money under the assumption that "this serves the interests of the shareholders"? ... See. There is ethics.
    I'm sorry but how exactly does withdrawal of a SOAP API equal mugging dead people in moral terms? That is a seriously fucked up analogy to make and I shall have to conclude that you are not of sound judgment and ignore your views along with the rest of the foaming idiots!
    --
    In this world nothing is certain but death, taxes and flawed car analogies.
  31. Wild idea: by hummassa · · Score: 2, Insightful

    OR ... just use JSON instead of XML? But I know, there are a lot of security implications...

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  32. Tooling is the wrong solution to SOAP by vdboor · · Score: 2, Insightful
    But that's what libraries like Apache Axis are for. I don't have to deal with it. For me, it's a snap. I send objects, I get objects. Easy. But write SOAP from scratch? Hell no!

    That's a solution to a problem that shouldn't have existed in the first place.

    It reminds me of a SOAP is simple conversation, which explains quite well how SOAP evolved.

    Writing a complex specification makes it hard for other parties to create compatible applications. Just like everybody needs *the one true browser* to navigate arround the Internet, everyone needs tools for SOAP. A simple spec would make SOAP extremely powerful, but also sets developers free of certain (commercially available) tools they need now...

    In result, this is what SOAP gives us now:

    • Implementations that have incompatibilities with each other (e.g. PHP can't send Multiref messages to AXIS because it doesn't detect some optional WSDL property, .Net not being able to parse what PHP sends).
    • 5 different styles to communicate. RPC/encoded, RPC/literal, document/encoded, document/literal, "document/literal wrapped". Add Multirefs to the WSDL, and it doubles.
    • WSDL being the so generic/abstract it defines methods in three abstraction levels and adds HTTP-bindings as extension feature.
    • real-world bindings as extension. "SOAP over SMTP" is called a feature, something nobody will ever use. It's not written with the real/existing world in mind.
    • An application layer built on top of an application layer. SOAP implements what HTTP already offers (like error handling and parameter transport).

    There is one positive feature I can add. Things like REST have very random return values, SOAP is more consistent here.

    --
    The best way to accelerate a windows server is by 9.81 m/s2 ;-)
  33. The S Stands for Simple by sottovoce · · Score: 2, Interesting

    I'm not overly depressed at the decision to get rid of the SOAP API. See: The S Stands for Simple.

    Maybe Google will follow in Yahoo!'s footsteps and implement a REST API now. Maybe.

  34. Re:What Business Reasons? by DragonWriter · · Score: 2, Interesting

    Presumably, because SOAP doesn't make them any money, where AJAX, with the TOS they have, will, by generating ad views.

    The SOAP API was always one of those things everyone should have known would either go away (if it wasn't successful in the right way to create a commercial market, maybe micropayment supported) or become non-free (if it was successful enough). With Google not too long ago announcing that they would be looking at the number of offerings they had, one had to expect that things like the SOAP service that had no tie to generating revenue would be at risk.

  35. SOAP technology sucks, too by Nelson+Minar · · Score: 2, Insightful

    I leave town for a couple of days and I miss my moment of fame on Slashdot. Ah well. My blog post doesn't exactly argue it's "business reasons rather than technical ones", although my post does dwell on the business reasons too. There are plenty of technical reasons to hate SOAP too. For my view on that, see my blog post about why SOAP sucks. Bottom line is SOAP is too complex, doesn't work well in practice, and strong typing is the wrong choice for loosely coupled distributed systems.

  36. AJAX API != Web Service API by PSdiE · · Score: 2, Informative

    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").