Slashdot Mirror


Google, Amazon, and Beyond

honestpuck writes "As titles go "Google, Amazon, and Beyond" sounds to me like Buzz Lightyear's latest slogan, but it's actually quite a good book about writing software to consume and provide web services." Read on for honestpuck's review of the book -- it sounds useful for developers on both sides of a web-service transaction, but honestpuck cautions that its value varies with your attachment to Java. Google, Amazon, and Beyond author Alexander Nakhimovsky and Tom Myers pages 314 publisher Apress rating 6 for most, 8 for Java programmers reviewer Tony Williams ISBN 1590591313 summary Good guide to web services for Java programmers

The first two chapters are introductory material, though the authors quickly introduce some code with JavaScript routines to talk to both Google and Amazon. The second of them does a good job explaining the intricacies of DOM and how you use it to build a web page in Java. Then the authors get down to some serious work at using Java, including stand-alone applications and applets, to access web services.

They move fast throughout the book; this is not one to read quickly or without ready access to a computer. That said, the writing is good; the text is understandable and all the code is well explained.

The book covers a wide gamut of techniques and technologies, including SOAP and REST on the query side, and XSLT and XPath on the output side.

Then the book moves on to instructions for offering your own services. This part of the book starts off with WebDAV using Tomcat, though there is a short digression into Java Server Pages before really getting down to the nitty gritty. Finally the book shows how to use WSDL and Axis to easily create full web applications.

You can see that this volume covers a lot of territory. This breadth may well be the book's largest flaw; its wide reach means no topic gets a really deep coverage and a number of topics do not get the coverage they deserve. Indeed I would have to say that only a much better Java programmer than I would get full value from this volume -- there were parts where the authors lost me entirely and it took an effort to get back my understanding, occasionally resorting to a Java manual.

The publishers have a page for the book that has an example chapter, table of contents, index and source code. The example chapter, 4, details how to build a SOAP server using Java and provides an excellent example for the book. If you're a little unsure of your Java skills, take a look at this chapter and see if you can easily understand the code and explanation. If you can, then this volume should have no surprises for you.

It should be said that nothing about the book's cover tells you how much of it relies on Java, though a good read of the table of contents makes it obvious. I would have personally preferred a book that was more general in the programming language it used, covering more of the tactics and methods rather than examining specific code. If, on the other hand, you are an experienced Java programmer looking for a book on programming web services in that language, then this is an excellent volume.

You can purchase Google, Amazon, and Beyond from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

20 of 74 comments (clear)

  1. web services by Anonymouse+Cownerd · · Score: 4, Interesting

    both google and amazon offer their data as web services. that is, amazon has made available their database data in XML format. this allows you to do cool things like junglescan.com. google offers a similiar service, but im not too familiar with it. anyone care to elaborate?

    --
    http://www.rayn.net . Funny. Stuff.
    1. Re:web services by justMichael · · Score: 4, Informative
    2. Re:web services by _Sharp'r_ · · Score: 3, Informative

      The biggest problem (probably not mentioned in the book) with Amazon's web services is that they can't seem to be consistent about keeping it up and running reliably. Some days 80% of queries to amazon's xslt and soap services don't work.

      --
      The party of stupid and the party of evil get together and do something both stupid and evil, then call it bipartisan.
    3. Re:web services by dealsites · · Score: 2, Informative

      Sorry to reply to my own comment....

      Although this book is probably good, I found a lot of good PHP Amazon Web Services code from: http://www.devshed.com/c/a/PHP/Using-Amazon-Web-Se rvices-With-PHP-And-SOAP-part-1/.

      I think they have other examples in languages other than PHP too.

  2. I always shop at bookpool.com by Anonymous Coward · · Score: 2, Informative

    www.bookpool.com is much cheaper. O'Reilly books are usually 40% cheaper.

  3. Seems odd.. by Anonymous Coward · · Score: 5, Funny

    You can purchase Google, Amazon, and Beyond from bn.com

    Is it just me or is this odd?

  4. Re:An application I'd like to have by Shut+the+fuck+up! · · Score: 3, Funny

    Here's a simple perl script to do that. Feel free to modify it to your exact needs.

    #!/usr/bin/perl
    use strict;
    my($3,0,0,1,1,1,0,0)=(shift);unshift@s,$_ ,$_ for 1..$e-1;unshift'',$_ for split$/,`cat $f`;$x=\$_for sort{$a<=>$b}keys%w;for$n(
    reverse 3..$x){for$b(@{$w{$n}})wget`$-`;{$s=$n-1;$m{$n}=$b ;H:for$y(@{$w{$s}}){if($y=~/[$b
    ]{$s}/){$t=$y;$t= ~s/$_/X/ for split'',$b;if($t=~/X{$s}/){$m{$s}=$y;if($s==3){for
    (sort{$a<=>$b}keys%m){next if$_>$n;print:$e<10?$v<10?0:'':'').$v+t@s,$e;
    @p= (1,0);for(@s){push@m,$d=shift@m;push@p,$a=shift@p; $d?$a?++$x:++$y:$a?--$x:--$
    y,$l[$y][$x]=($e=>10? $v<10?'00':$v<10

  5. Re:An application I'd like to have by elmegil · · Score: 3, Interesting

    Go read Spidering Hacks or Google Hacks by O'Reilly.

    --
    7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  6. MOD PARENT DOWN - STOLEN TEXT! by hot_Karls_bad_cavern · · Score: 5, Informative

    Get it here: link!

  7. Re:An application I'd like to have by justMichael · · Score: 4, Informative

    Google Rankins will do it for you, of course it only shows the top 1000. But that a limit set by google in the API agreement.

  8. How can Sun push web services? by Curt+Cox · · Score: 4, Informative

    I'm a big fan of both Sun and Java, but it dismays me that they continue to push web services and try to make better tools and APIs for web services without making their sites accessible to web services. Why oh, why, can't they at least provide a nice web service for Bug Parade.

  9. Xen and opensource by mhamel · · Score: 2, Interesting

    Does anybody knows about Xen? It is a proposition for a programing language which use the document has a metaphor insteed of the object.

    Is has many advantages and makes more then some sence from a webservices perpective. I would love to work on an opensource implementation of something like that. It could be based on python (for example). That would do a great mix with zope.

    Anybody knows if something like that exists?

    1. Re:Xen and opensource by Repugnant_Shit · · Score: 2, Interesting

      Can you elaborate more on object vs document? I've always thought of my documents as objects when I code.

    2. Re:Xen and opensource by mhamel · · Score: 2, Interesting

      well here is a great paper about it: the article

      it basically says that when you use an API to access things like a DOM Node, you lose things like type checking and other advantages inherent to OO programming. They then go on and ask: "why not put that API in the language syntaxe?" The paper is great on the advantages of it has some very good examples.

  10. Too simplistic? by VP · · Score: 5, Interesting
    Seems to me that this book is presented in a hobyist and simplistic manner. In the sample chapter we find this:
    sB.append("<?xml version='1.0' encoding='UTF-8'?>\n")
    .append("<SOAP-ENV:Envelope \n")
    ...
    .append(" <SOAP-ENV:Body>\n")
    .append(" <SOAP-ENV:Fault>\n")
    .append(" <SOAP-ENV:faultcode>")
    .append(42)
    .append("</SOAP-ENV:faultcode>\n")
    .append(" <SOAP-ENV:faultstring>internal error</SOAP-ENV:faultstring>\n")
    .append("<SOAP-ENV:detail>\n").append(ex.toString( ))
    .append("</SOAP-ENV:detail>\n")
    .append(" </SOAP-ENV:Fault>\n")
    .append(" </SOAP-ENV:Body>\n")
    .append("</SOAP-ENV:Envelope>\n");
    This is how building the SOAP fault is shown, and I don't think it is right. I thought there are plenty of tools in the Java world that will provide you with better ways to handle this - am I mistaken?
    1. Re:Too simplistic? by Anonymous Coward · · Score: 3, Informative
      Try Apache SOAP. Your sample would then be something like

      import java.util.Vector;
      import org.apache.soap.Fault;

      Vector theDetails = new Vector();
      Fault theFault = new Fault();

      theDetails.addElement (ex.toString());
      theFault.setFaultCode ("42");
      theFault.setFaultString ("internal error");
      theFault.setDetailEntries (theDetails);

    2. Re:Too simplistic? by SlowMovingTarget · · Score: 3, Funny
      It hides the details and lets you concentrate on the details.

      Maybe I've been a programmer for too long... I completely understood that.

  11. "Wicked Cool Shell Scripts" slashdotted to top by ddebrito · · Score: 2, Interesting

    When checking www.junglescan.com, it was interesting to see "Wicked Cool Shell Scripts: 101 Scripts for Linux, Mac OS X, and UNIX Systems " at the top of the "Today's top winners" with a +41331% change at Amazon. This book was reviewed yesterday in Slashdot.

  12. How long before Web Services finally dies? by Anonymous Coward · · Score: 2, Interesting

    Web services were so big 1-2 years ago... and nothing. Absolutely nothing substantial.

    People are still clinging to this notion that Web Services is still the "Big Thing", but frankly it isn't. It's pretty mundane, and doesn't deserve the level of respect that it still seems to get.

    Remember all the hullabaloo over how Web Services will change the way the Web will work? How UDDI will allow different vendors to create competing Web Services and customers could choose between them? It would be the next great competitive market? Such a great market never got created.

    It's ova! Go home! It's going to go the way of the dodo soon. I predict that Amazon will soon get rid of it because it will become more of a pain in the ass to support than being something that generates actual revenues.

    1. Re:How long before Web Services finally dies? by Anml4ixoye · · Score: 3, Insightful

      Well, yes and no.

      I think Web Services has its place. Is it going to "change the face of the web"? Perhaps, but not like the marketers say.

      Let's be realistic. Web Services, as you said, started getting big 2 years ago. Which means that is when most PHBs heard about it. And it represents a fundamental change in the way a lot of businesses function. Which means that it will take a significant amount of time to adopt.

      My personal feeling is that there are a lot of uses for it. Once we can get through the phase of competing standards, matching XML formats, etc, it is a useful tool.

      But to call it huge, I don't know. Does it have it's place? Absolutlely. We've used it to get disparate systems talking to one another, which, granted, could have been done with Corba, or anything else. But the learning curve is much faster for the Junior programmers.

      On the flip side, I think it is wrong to say it is going the way of the dodo. It has its use. Just like XML has its use. They *can* change the way businesses are run, but in the end, they will help in instances where they are needed, and save (or make) the companies money.