Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Programming Web Services with Perl

Posted by timothy on Fri Apr 04, 2003 11:15 AM
from the said-the-spider-to-the-fly dept.
ggoebel writes "Programming Web Services with Perl is principally a book on implementing solutions using XML-RPC and SOAP in Perl. It also covers complementary and alternative standards such as WSDL, UDDI, and REST in some detail. And on the periphery, it finishes with a whirlwind tour of developing message routing, alternative data encoding within XML, security, transactions, workflow, internationalization, service discovery, extension, and management techniques and specifications." Read on for ggoebel's full review.
Programming Web Services with Perl
author Randy J. Ray, Pavel Kulchenko
pages 496
publisher O'Reilly (December 2002)
rating 9 of 10
reviewer ggoebel
ISBN 0596002068
summary practical balanced guide to XML::RPC and SOAP::Lite

The book assumes the reader will have the knowledge of an intermediate level Perl programmer. I.e., the reader is assumed to have a working knowledge of references, data structures, and object-oriented Perl. On the other hand no previous knowledge of XML, XML-RPC, SOAP or XML related technologies is required.

It should also be mentioned that both of the authors Randy J. Ray and Pavel Kulchenko are also the principle developers of the most popular XML-RPC and SOAP Perl modules: XML::RPC and SOAP::Lite respectively. That said, the book is not a soap box for the authors to tout the merits of their tools.

Rather, it is a practical book which starts with grounding fundamentals. Readers should walk away with a core understanding of XML-RPC and SOAP and not just a particular tool set for working with them. The authors examine the alternative XML-RPC and SOAP tools, illustrate how they are used, and give practical and even handed reasons why their modules should be preferred. Which comes down to issues of features, active development, support, and the amount of work required to code to a particular interface. They then settle down to a comfortable and thorough guide to XML::RPC and SOAP::Lite.

The topics and issues are illustrated throughout using real world web services. For example creating an XML-RPC client for O'Reilly's Meerkat news wire, or a SOAP client to covert use.perl.org's journal stream to RSS. Code is presented to the reader filtered down to highlight each particular issue as it is discussed. This is nice in that it avoids listing slight variations of the same code multiple times, but on the down side it can also leave the reader flipping back and forth to reassemble an example in their head. Full code for each example is provided in the appendices. And all of the example code may be downloaded from O'Reilly.

All-in-all, the book is a thorough practical introduction to working with XML-RPC, SOAP and related technologies. When I started reading the book, I was a bit disappointed to see that it only covered XML-RPC and SOAP related services. When I finished, I was impressed with how very much information they'd managed to pack into so few pages.

And yet, I was left wishing there'd been a more through coverage of interoperability issues between other SOAP implementations and things like custom de-serializers. To be honest interoperability and de-serialization are mentioned, and the authors do an excellent job of referring the reader on to sources for continued reading on most other topics.

The book does an admirable job balancing content, length, and information density. Not to mention an excellent job delivering the information that will still be relevant years and not just weeks from the date published. Most of the topics I'd wished to see covered in more depth are those that are still developing and consequently most likely to become quickly dated. In short a well balanced practical guide to applying XML-RPC and SOAP to solve problems.


You can purchase Programming Web Services with Perl from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Perl is not a bad idea... (Score:4, Informative)

    by Zeinfeld (263942) on Friday April 04 2003, @11:24AM (#5661467)
    (http://dotfuturemanifesto.blogspot.com/)
    The thing about Web Services is that they are pretty much designed like Perl to be the duct tape of the Internet. Perl itself is evolving in pretty much the way Basic did, more structure, more consistency but still pretty easy to suck it and see.

    The thing I don't quite get is the reference to the REST standard. That is some hype Roy Fielding put in his thesis. It was never agreed upon by the other members of the Web team and there is no real trace of its influence on the development of web standards for the simple reason that the thesis only came out long after the fact.

  • Blatant plug for a friend's book (Score:5, Informative)

    by dagnabit (89294) on Friday April 04 2003, @11:28AM (#5661492)
    (http://lamphowto.com/)
    A fellow San Diego [pm.org] Perl Monger [pm.org] has written a book [globalspin.com] about Perl and the web, including a chapter [globalspin.com] about web services.

    It's a New Riders [newriders.com] book, but the entire contents are available free on the web.
  • Cool! (Score:1)

    by xmutex (191032) on Friday April 04 2003, @11:31AM (#5661517)
    (http://www.submute.net/)
    This sort of book is really cool to see. Perhaps I just wasn't looking closely enough, but Perl seemed to be lagging far behind J2EE/.NET in terms of web services (and XML in general) and I now I have a little more ammo to sell Perl to my boss with! /plans trip to bookstore at lunch.
  • OK, (Score:4, Insightful)

    by frodo from middle ea (602941) on Friday April 04 2003, @11:33AM (#5661534)
    (http://aol.com/)
    this may be a bit offtopic but seriously "IS there anyone who is developing web-services for critical applications ?
    There could be a lot of pilot projects but do they really count ?
    Isn't the very word "web-service" a marketing gimmic like B2B, B2C, Enterprize, Portal etc ?
    One thing web-service promised was a homogenous set of APIs, but do you really see that happening ?
    I mean every month i see some company dropping from the web-services consortium and some other joining. How then are they going to agree on standards ?

    And if they do agree on standards won't that make their business model vulnerable ?

    /me thinks this whole concept of web-service is going down the same path of J2EE and RDBMS, a lot of promise of standards, ease of migration from one vendor to another, BUT we will end up with lock-n proprietory solutions and getting far less than we were promised..

    • Re:OK, by bballad (Score:1) Friday April 04 2003, @11:47AM
      • 1 reply beneath your current threshold.
    • Re:OK, by microTodd (Score:2) Friday April 04 2003, @12:17PM
    • Re:OK, by kwerle (Score:2) Friday April 04 2003, @12:21PM
    • Re:OK, by plcurechax (Score:3) Friday April 04 2003, @12:32PM
    • leverages HTTP by GunFodder (Score:3) Friday April 04 2003, @02:07PM
    • Re:OK, by LadyLucky (Score:2) Friday April 04 2003, @07:03PM
    • Re:OK, by eversunsoft (Score:1) Saturday April 05 2003, @02:16AM
    • 2 replies beneath your current threshold.
  • Review Critique (Score:2, Insightful)

    by Acidic_Diarrhea (641390) on Friday April 04 2003, @11:34AM (#5661537)
    (http://www.microsoft.com/ | Last Journal: Tuesday April 26 2005, @10:17AM)
    You know, the reviewer mentions that the book assumes no knowledge of XML-RPC or SOAP but still uses the acronyms. I think that if you're going to write a review of a book to help people out who don't know what either of those terms mean, you should define the terms. For those of us who already have a working understanding of those terms - we've got our books. Sure, a quick google search would, no doubt, reveal the information but some hand-holding is a bit helpful.

    For instance, when I am teaching a student who is new to a particular field and I am assuming that they don't have any previous knowledge of the material - my first lesson doesn't throw around acronyms without any explanation of them. It's just good practice to define your terms, if you're assuming the reader has no knowledge of them beforehand.

    And there you have my input! Have a Great Day!

  • $27.97 (free shipping) at Amazon (Score:2, Informative)

    by gnurb (632580) on Friday April 04 2003, @11:37AM (#5661562)
    (http://wannawiki.com/)
    It's 10 bucks cheaper at Amazon, compared to BN.

    Here -> Programming Web Services with Perl [amazon.com]

    You can save 10% if you "share the love" [passthelove.com]

  • Gratuitous O'Reilly books (Score:1, Insightful)

    by Anonymous Coward on Friday April 04 2003, @11:52AM (#5661666)
    I'm losing respect for this publisher. Their web services books have been the type of flimsy, generated-from-the-standards-docs crap I would expect to see from Sam's and Queue. O'Reilly can't survive on the sales of their essential books, so they have proliferated this crap to keep their sales going. Addison Wesley in my opinion is the only serious quality technical publisher left.
  • First of all, I love Perl. For years I've developed web applications with it. However, other technologies out there are better suited to developing web apps than Perl.

    For example, let us say I wanted to map a directory to a particular CGI script. If I were building CGI apps with Perl, I couldn't do that. I'd have to have a controlling script in the cgi-bin that would relegate particular requests to other CGI scripts (or "require" them). But if I still wanted to map a directory to a script, I would have to add the mapping to the Apache web server configuration.

    On the other hand, this can be easily accomplished by a developer building a Web App for a Java servlet container (like Tomcat) by specifying the mapping in the WEB-INF/web.xml of the web application he's building.

    IMHO, I find Java WebApps to be much more flexible and better suited to developing web applications than Perl. And of course, if you want to still use Perl CGIs (or non-cgi perl scripts), Tomcat will still let you do that.

    This is not to say Perl doesn't have its niche--it does, but Perl is not the be all and end all of web development.

    I say use the right tool for each job.
  • by MarkWatson (189759) on Friday April 04 2003, @12:19PM (#5661903)
    (http://www.markwatson.com/)
    I am not really a Perl programmer, but I have used Perl several times in the last couple of years because SOAP:Lite was so easy to use to write 'foreign' clients to Java and Smalltalk web services that I was working on.

    I have not seen the book, but the fact that one author wrote SOAP:Lite is a good sign.

    Anyway, his work saved me a lot of effort in testing my stuff.

    -Mark

  • I did an article for Apple Developer [oreillynet.com] about using SOAP as the glue between AppleScript and Perl (and from there to an RSS feed).

    In retrospect, it was glue, using glue, talking to glue, using glue, talking to real data. Cute.

  • Where was this review last weekend! I bought it sunday.

    Seriously though, I havne't read much of it, but your review does increase my confidence that I haven't wasted my money.
    • bastard ;) by ggoebel (Score:2) Monday April 07 2003, @09:53AM
  • by splerdu (187709) on Friday April 04 2003, @02:58PM (#5663325)
    Would be translation sites. Sure they normally end up with funny renditions of the original text, but at the very least they allow me to browse sites I otherwise wouldn't have a clue about. Nicely done with perl's robust string handlers.

    Another very fun application is rinkwork's [rinkworks.com] dialectizer [rinkworks.com]
    • disclaimer by splerdu (Score:1) Friday April 04 2003, @03:12PM
  • Sample Chapter (Score:2)

    by darkpurpleblob (180550) on Friday April 04 2003, @10:32PM (#5666708)
    A sample chapter, Programming Soap, is available in PDF format here [oreilly.com].
  • Re:PERL and XML??? (Score:1)

    by Muerto (656791) <david@vitanz[ ]et ['a.n' in gap]> on Friday April 04 2003, @11:42AM (#5661603)
    perl is wonderful. Its so easy to accomplish any goal.. and there is no one way to do it. you can have five people write five different things and achieve the same goal. Perl also works on damn near every platform.
    [ Parent ]
  • by bballad (663078) on Friday April 04 2003, @11:51AM (#5661655)
    It actualy works out great. Example the place I work we have something like 20 VB programers for our web service and its buggy and slow. A perl shop I'm familer with has 5, their code is more complex and runs faster with fewer bugs.
    [ Parent ]
  • Re:PERL and XML??? (Score:1, Informative)

    by bballad (663078) on Friday April 04 2003, @11:54AM (#5661678)
    Odd most programmers I know say that about PHP, how many enterprise leve XML projects are built in PHP...I can name a number of them in Perl
    [ Parent ]
  • Re:how it performs? (Score:2, Insightful)

    I would hate to see SOAP::Lite benchmarks personally. It performs really well for small payloads, but quickly begins to fall over when payloads exceed a "reasonably" large size... but then again, developers and architects should have all the facts when thinking about how they will architect their Web services.

    My personal take is that SOAP::Lite is probably one of the best toolkits for quick WS prototyping and simple projects, but I would tend to steer towards Axis, WebLogic, WASP, and yes, even .NET (eeeh-gads!) (please let Mono support wsdl.exe soon!) when it comes to putting software into a production environment.
    [ Parent ]
  • 16 replies beneath your current threshold.