Slashdot Mirror


Programming Web Services with Perl

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.

13 of 83 comments (clear)

  1. Perl is not a bad idea... by Zeinfeld · · Score: 3, Informative
    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.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  2. Blatant plug for a friend's book by dagnabit · · Score: 4, Informative

    A fellow San Diego Perl Monger has written a book about Perl and the web, including a chapter about web services.

    It's a New Riders book, but the entire contents are available free on the web.

  3. OK, by frodo+from+middle+ea · · Score: 4, Insightful
    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..

    --
    for the last time people, I am "frodo from middle eaRTH", not "middle eaST".
    1. Re:OK, by microTodd · · Score: 2, Informative

      Actually, yes, at my job (a certain site for a certain government organization) we use it quite heavily, although not necessarily in the whole "B2B" way. We use SOAP as an alternative to old-sk00l RPC calls. Works great, especially for the cross-platform-ism. I like being able to use Java, Perl, and .NET to communicate across the network and pass data around.

      --
      "You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
    2. Re:OK, by plcurechax · · Score: 2, Insightful

      Isn't the very word "web-service" a marketing gimmic

      Sure, it is used by marketing, but it is also a actual trend or methodology, like client/server, or thin computing. And like those methods, they work some of the time, and don't work so well in other cases.

      I work in an environment providing near-time data nationally, and internationally to partners, stakeholders, and customers. Trying to make all of the global systems work the same way, and whenever one of those thousands of systems maintained by hundreds of groups (and organizations) changes, not everyone wants to have to change their systems at the exact same time. Web services help in that sort of environment. It doesn't mean web services is always a good thing (i.e. high speed or real-time data flow), but in some applications it is useful.

      Web services also will hopefully let companies move beyond data dumps and screen scraping for data gathering / exchange. I hate currently having to use FTP to exchange data with partners, but our current environment that is the best way for outlying nodes push data back to the upstream centres for archiving and redistribution globally.

      What web services means to me, is hopefully a better way to manage large networks of data exchange / management between a large number of stakeholders. IT/IS still sucks at day to day and long term management of information and data, perhaps this will be an evolutionary improvement.

  4. Review Critique by Acidic_Diarrhea · · Score: 2, Insightful
    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!

    --
    I hate liberals. If you are a liberal, do not reply.
  5. $27.97 (free shipping) at Amazon by gnurb · · Score: 2, Informative

    It's 10 bucks cheaper at Amazon, compared to BN.

    Here -> Programming Web Services with Perl

    You can save 10% if you "share the love"

    --
    hooray! it's a sex wiki
  6. Re:Programming Web Services with Perl... by bballad · · Score: 2, Insightful

    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.

  7. Re:Web Services and Perl vs. Web Apps by avdp · · Score: 2, Insightful

    That's right, you'd have to add the mapping to the apache web server configuration. I don't see what the big deal with doing that. Is it easier to edit web.xml than httpd.conf? As someone who deals with both, I don't think so.

    But regardless, I'd like to point out that you are essentially comparing configurations between Apache (a web server) with Tomcat (an application server, which can, but shouldn't be used as a web server). I am not sure how these reflect negatively on perl.

  8. Re:Programming Web Services with Perl... by happyclam · · Score: 2, Funny
    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.

    There is a similar debate at the place where I work. What's really funny is the VB programmers defend their technology by claiming the Perl developers are just better programmers, so you can't conclude that it's the platform.

    Honest!

    --
    He looked at me and said, "Kid, we don't like your kind, and we're gonna send your fingerprints off to Washington."
  9. Re:how it performs? by byrnereese · · 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.

    --

    ^byrne :/

  10. leverages HTTP by GunFodder · · Score: 2, Informative

    Why wouldn't anyone use web services? You get human-readable data objects. You can leverage HTTP as a transport, which makes it really easy to deploy robust servers built on proven technology. HTTP also gives you a variety of flexible security solutions, especially when it comes to firewalls.

    And since the standards are open you can hack wrappers for other communication protocols around a web service transport. It should be possible for .Net clients to talk to J2EE back ends and vice versa. The big question is whether all these companies are going to play nice. I think customers will demand it though, so they will have no choice.

  11. Re:Web Services and Perl vs. Web Apps by Black+Perl · · Score: 2, Interesting

    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

    What does that have to do with Perl? If you were building CGI apps with Java, you wouldn't be able to do that either. CGI != perl.

    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.

    Playing along with this terrible web-server configuration example... You can easily do the same thing with mod_perl or PHP (which uses mod_PHP). A "servlet container", mod_perl, and mod_PHP are all types of web app server. Compare apples and apples.

    --
    bp