or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
or
Get a £0.25 Amazon.co.uk Gift Card
Programming Web Services with XML-RPC
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming Web Services with XML-RPC [Paperback]

Joe Johnston , Edd Dumbill , Simon St.Laurent , John Posner
5.0 out of 5 stars  See all reviews (2 customer reviews)
RRP: £26.99
Price: £17.54 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £9.45 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock but may require up to 2 additional days to deliver.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Only 2 left in stock--order soon (more on the way).
‹  Return to Product Overview

Product Description

Amazon.co.uk Review

Programming Web Services with XML-RPC explains how to use XML over HTTP to build distributed applications. This of course is the realm of SOAP (Simple Object Access Protocol), which is an evolving W3C standard. XML-RPC is not SOAP, although the two have a common ancestry. XML-RPC has fewer features than SOAP, and is procedural rather than object-orientated. On the plus side, it is a stable, practical and easy-to-use standard.

After a couple of chapters introducing XML-RPC, this short book gets straight down to the nitty-gritty of implementing solutions in a variety of languages. There is a chapter each on Java, Perl, PHP, Python, and ASP (Active Server Pages). Each chapter explains where to find XML-RPC libraries, and how to create both client and server applications, complete with snippets of example code. Although few readers will be working with all these technologies, the diversity demonstrates how effectively XML-RPC bridges different languages and platforms. By way of illustration, one of the ASP examples shows how to talk to Microsoft Access from Linux, a common real-world problem in mixed-platform environments.

The closing chapter gives the wider picture, showing where to find public XML-RPC services, offering design tips, and explaining how to choose between XML-RPC and SOAP. There is an appendix covering XML basics, and a second one offering a brief introduction to HTTP. For anyone who has looked at SOAP and found it bewilderingly complex, XML-RPC and this book could well be the answer. --Tim Anderson

Review

'This is a good book and, if this is an area of programming that interests you, simply buy a copy and save yourself hours of trial and error.' - Mike James, Computer Shopper, October 2001

Product Description

Have you ever needed to share processing between two or more computers running programs written in different languages on different operating systems? Or have you ever wanted to publish information on the Web so that programs other than browsers could work with it? XML-RPC, a system for remote procedure calls built on XML and the ubiquitous HTTP protocol, is the solution you've been looking for.

Programming Web Services with XML-RPC introduces the simple but powerful capabilities of XML-RPC, which lets you connect programs running on different computers with a minimum of fuss, by wrapping procedure calls in XML and establishing simple pathways for calling functions. With XML-RPC, Java programs can talk to Perl scripts, which can talk to Python programs, ASP applications, and so on. You can provide access to procedure calls without having to worry about the system on the other end, so it's easy to create services that are available on the Web.

XML-RPC isn't the only solution for web services; the Simple Object Access Protocol (SOAP) is another much-hyped protocol for implementing web services. While XML-RPC provides fewer capabilities than SOAP, it also has far fewer interoperability problems and its capabilities and limitations are much better understood. XML-RPC is also stable, with over 30 implementations on a wide variety of platforms, so you can start doing real work with it immediately.

Programming Web Services with XML-RPC covers the details of five XML-RPC implementations, so you can get started developing distributed applications in Java, Perl, Python, ASP, or PHP. The chapters on these implementations contain code examples that you can use as the basis for your own work. This book also provides in-depth coverage of the XML-RPC specification, which is helpful for low-level debugging of XML-RPC clients and servers. And if you want to build your own XML-RPC implementation for another environment, the detailed explanations in this book will serve as a foundation for that work.

From the Publisher

XML-RPC, a simple yet powerful system built on XML and HTTP, lets developers connect programs running on different computers with a minimum of fuss. Java programs can talk to Perl scripts, which can talk to ASP applications, and so on. With XML-RPC, developers can provide access to functionality without having to worry about the system on the other end, so it's easy to create web services.

About the Author

Simon St. Laurent is a web developer, network administrator, computer book author, and XML troublemaker living in Ithaca, NY. His books include XML: A Primer, XML Elements of Style, Building XML Applications, Cookies, and Sharing Bandwidth. He is a contributing editor to XMLhack.com and an occasional contributor to XML.com.

Joe Johnston is a graduate of the University of Massachusetts in Boston with a B.A. in computer science, he is a teacher, web designer, and author of articles for Perl Journal, Perl.com, and IBM's DeveloperWorks. Joe helps maintain the ASP XML-RPC library and wrote the Perl module Frontier::Responder.pm.

Edd is Managing Editor of XML.com. He also writes free software, and packages Bluetooth-related software for the Debian GNU/Linux distribution. Edd is the creator of XMLhack and WriteTheWeb, and has a weblog called Behind the Times.

Excerpted from Programming Web Services with XML-RPC by Simon St Laurent, Ed Dumbill, Joe Johnston, John Posner. Copyright © 2001. Reprinted by permission. All rights reserved.

Chapter 3 - Client-Server Communication: XML-RPC in Java

Java was built from the ground up as a network-centric development environment. As a Java developer, XML-RPC offers you an opportunity to extend that foundation in a structured way. Adding XML-RPC to your toolkit makes it easier to integrate a Java application with an application built using another environment or simply to establish lightweight point-to-point communication between Java programs running on different computers. Although XML-RPC goes against the grain of much Java network programming (and even against some of the fundamental principles of object-oriented development), its alternative approach can be useful in many relatively common scenarios.

You already have a wide variety of Java-based XML and HTTP tools to choose from, but you can also take advantage of a prepackaged set of XML-RPC tools. Although understanding the foundations of XML-RPC is very useful for debugging and for establishing connections between systems in different environments, you can treat XML-RPC much like you do any other Java feature. There's some setup work to do, especially for XML-RPC servers, but most of this work is simple and needs to be done only once in the course of a program.

This chapter looks at how XML-RPC fits into Java's many network options. It demonstrates how to build a variety of different XML-RPC clients, servers, and handlers. Some of these examples take advantage of built-in functionality for setting up simple XML-RPC servers and handlers; others explore the possibilities opened up by handling more of the processing directly. The examples cover different styles of XML-RPC programming, from simple library function calls to more complex calls that manipulate information on the server.

Why XML-RPC for Java?
Java is already an extremely network-aware environment, complete with its own mechanisms for remote communication and coordination of objects on multiple systems. Remote Method Invocation (RMI) and RMI's support for the broader world of CORBA-based systems provide built-in support for distributing applications across multiple systems.[1] In many ways, Java is well ahead of its competitors, and its network support extends far beyond the simple request-response cycle of XML-RPC.

Despite Java's built-in network computing prowess, XML-RPC offers a few kinds of functionality that Java can't match. XML-RPC is far more lightweight than Java's built in RMI support, passing only parameters rather than objects. Java programs can use XML-RPC to connect directly to any other system supporting XML-RPC, rather than limiting connections to fellow RMI systems or having to use complex (and expensive) CORBA object request brokers.

As illustrated in Figure 3-1, XML-RPC can bring the direct connections RMI makes possible for strictly Java applications to applications that integrate multiple environmentsXML-RPC's use of HTTP as a transport substrate makes it relatively simple to integrate XML-RPC with the web-enabled applications that are already spreading across the computing landscape. At the same time, XML-RPC uses such a tiny subset of HTTP that Java applications can easily avoid the overhead of full-scale HTTP processing, working with a more minimal--and more efficient--driver that takes advantage of Java's built-in understanding of TCP/IP.

XML-RPC also offers you a shorter compilation and testing cycle. Unlike RMI, which requires recompilation of interfaces to register method signatures, XML-RPC allows the client to specify which method it wants to use and then looks for a handler. Because the reference is done by name, there aren't any stubs to manage or include, and changes can be made much more easily at runtime.

On the other hand, XML-RPC is definitely not appropriate in plenty of Java application situations. Much of the Enterprise JavaBeans (EJB) work already relies on RMI, and rewriting it to use XML-RPC would be a remarkable waste of time. Although a snippet of XML-RPC code might be useful as a simple bridge between an EJB-based application and code written for other environments, XML-RPC isn't designed explicitly to support the many demands of complex enterprise-scale design. Similarly, if you need to pass objects, rather than parameters, betweensystems, you should look into a more sophisticated set of tools than XML-RPC. XML-RPC lets you pass sets of parameters, not complex nested structures with associated method information, back and forth. As explained later in this chapter, XML-RPC's approach doesn't match cleanly with JavaBeans, either.

‹  Return to Product Overview

Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges