Given Perl's natural fit for web applications development, it's no surprise that Perl is also a natural choice for web services development. It's the most popular web programming language, with strong implementations of both SOAP and XML-RPC, the leading ways to distribute applications using web services. But books on web services focus on writing these applications in Java or Visual Basic, leaving Perl programmers with few resources to get them started. Programming Web Services with Perl changes that, bringing Perl users all the information they need to create web services using their favorite language.Programming Web Services with Perl steers clear of the hype surrounding web services and concentrates on what is useful and practical. The book introduces the major web services standards, such as XML-RPC, SOAP, WSDL, and UDDI, and shows how to implement Perl servers and clients using these standards. You'll find detailed references on both the XML and SOAP toolkits, and learn when to use one technology in favor of the other. The book is rich with programming examples that you'll find useful well past the learning stage. And, moving beyond the basics, the book offers solutions to problems of security, authentication, and scalability.Some of the topics covered in the book are:
HTTP and XML basics
XML-RPC and the toolkits
SOAP and toolkits
Using SOAP with SMTP and other protocols
Advertising and discovering with UDDI and WSDL
The REST methodology
The future of web services
Programming Web Services with Perl was written for Perl programmers who have no prior knowledge of web services. You can pick up this book without any understanding of XML-RPC or SOAP and be able to apply these technologies easily, through the use of publicly available Perl modules detailed in the book.If you're interested in applying XML-RPC and SOAP technologies to distributed programming applications, then Programming Web Services with Perl is a book you'll want to have.
Chapter 1 Introduction to Web Services
The Web Services Dream
The Web Services Cold Shower
Who to Believe?
Web Services in the Real World
Chapter 2 HTTP and XML Basics
Chapter 3 Introduction to XML-RPC
History of XML-RPC
Example Client: Meerkat
Limitations of XML-RPC
Chapter 4 Programming XML-RPC
Perl Toolkits for XML-RPC
Chapter 5 Introduction to SOAP
RPC over SOAP
Chapter 6 Programming SOAP
A Toolkit Approach
DevelopMentor's SOAP Module
The SOAP::Lite Module
Other SOAP-Related Modules
Chapter 7 Serving SOAP over HTTP
Basic SOAP::Lite Servers
Designing the Server
Tying the Interface Code to SOAP
Improving the Code and the Service
Ideas for Further Exploration
Chapter 8 SOAP Services Without HTTP
Choosing a Protocol
Transports with Server and Client
Creating New Transport Modules
Chapter 9 Service Description with WSDL
Chapter 10 Service Advertising and Discovery with UDDI
has over 10 years of experience in design and development of complex financial and banking applications, and information management in the financial services sector. Pavel is the author and maintainer of the popular SOAP::Lite module for SOAP clients and servers in Perl, the XMLRPC::Lite module that implements XML-RPC protocol, and the UDDI::Lite module, a client interface for UDDI repositories.
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Programming Web Services with Perl is a flying dragon (genus draco). Found in the tropical rainforests of the East Indies and Southern Asia, this small lizard has five or six hind ribs on each side that are prolonged and covered with weblike skin, forming "wings". While jumping, the lizard spreads its wings and glides to the ground; it can generally glide almost nine yards. Gliding is used only as a means of locomotion and not for predator escape; to escape danger, the lizard always climbs. The lizard also never glides when it's raining or windy.A flying dragon feeds mostly on small ants and termites and is described as a sit-and-wait feeder. It will sit next to a tree trunk waiting for insects to come to it.A female flying dragon builds a nest for her eggs by forcing her head into the soil to create a small hole. She then lays five eggs into the hole and covers them with dirt, packing the soil on top with a patting motion of her head. The eggs take approximately 32 days to incubate. Humans don't eat flying dragons, and they aren't currently listed as threatened. Mary Anne Weeks Mayo was the production editor and proofreader, and Sarah Jane Shangraw was the copyeditor for Programming Web Services with Perl. Colleen Gorman and Jane Ellin provided quality control. Ellen McHale provided production assistance. Lucie Haskins wrote the index.Pam Spremulli designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.David Futato designed the interior layout. This book was converted to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is Lucas-Font's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was compiled by Mary Anne Weeks Mayo.
Comments about O'Reilly Media Programming Web Services with Perl:
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.
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 walks 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 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 at http://examples.oreilly.com/pwebserperl/.
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.