Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Chapter 4. Programming XML-RPC > Perl Toolkits for XML-RPC

4.1. Perl Toolkits for XML-RPC

This chapter presents the toolkits from oldest to newest. The first XML-RPC toolkit was the Frontier::RPC2 package by Ken MacLeod. The name refers to the original system the package was intended to support, the Frontier content management system from UserLand Software, the source of the XML-RPC specification itself. In mid-2002, the package was taken over by a new maintainer. The time proved right for renaming the modules, and now the module is known as RPC::XMLSimple.

Following this module was the XMLRPC::Lite component of the SOAP::Lite package for Perl. Support for XML-RPC was added at a later point than the SOAP components themselves, but the functionality builds on the framework that the author, Pavel Kulchenko, had already created to support the SOAP standards. As a result, it integrates very smoothly, and benefits from elements already present in SOAP::Lite, such as a pure-Perl XML parser that can be used when none of the CPAN-based XML modules are available.

The newest addition to the Perl/XML-RPC family is the RPC::XML package. Like the RPC::XMLSimple package, this module requires that the XML::Parser module from CPAN be installed. It doesn't provide a native XML parser the way XMLRPC::Lite does. It relies on the LWP package for client transport, but on the server side it can work with the HTTP::Daemon package (from LWP), the Net::Server package (from CPAN), or with Apache and mod_perl directly as a mod_perl location-handler.

In each toolkit we'll create the same client and server applications. This side-by-side comparison lets you see the strengths and weaknesses of each, to help you choose the best solution for your project.

It should be noted that in many of the code examples given throughout this chapter, the code shown will be restricted to relevant sections that illustrate the technology and concepts being discussed at that point. The full source of the examples in this chapter is provided in Appendix C.

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint