7.6 Ideas for Further Exploration


Using the code and the examples shown thus far, it should be fairly simple to further enhance or streamline the SOAP interface. Some areas that can be addressed include combining the AddBook and RemoveBook methods in a manner similar to what we saw in the last section. Alternately, a client that turns a wish list into an RSS feed can be easily developed, using Example 6-5 as a guide to the RSS module. Experimentation with different approaches to configuring the service under Apache would prove valuable should a future project appear in which the pros and cons of using objects by reference versus the performance of Apache is an issue.

Here are some ideas to consider that aren't directly related to the SOAP services themselves :

  • Add a logging layer to the dispatching of requests that tracks what methods are called, with the goal of analyzing usage trends to possibly optimize client throughput.

  • Explore the use of other phases of the mod_perl interface, such as PerlChildInitHandler , to optimize the configuration of SOAP servers across the death and creation of child processes.

  • Consider ways to design server methods so that they can double as XML-RPC services, as well as SOAP interfaces.

  • As written, the WishListCustomer::Daemon class and the WishListCustomer::SOAP class are tightly coupled due to the use of the hash table for passing the cookie information between them. Consider better ways in which to manage the sharing of such information that are of comparable ease, but which would be more scalable to using newer interfaces such as WishListCustomer::SOAP2 .

This all comes back to the principles that have been stressed from the outset: good design practice early on can make all the difference. Choosing to subclass the main wish-list functionality rather than modifying the original class can explore any of the previous ideas without impacting any other users of the interface. The subclass of the server class can be extended to build on other features of the request lifecycle, as needed. As Chapter 8 will show, it can also allow easy substitution of other transport protocols.



Programming Web Services with Perl
Programming Web Services with Perl
ISBN: 0596002068
EAN: 2147483647
Year: 2000
Pages: 123

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net