Programming Web Services with Perl by Pavel Kulchenko, Randy J

Programming Web Services with Perl by Pavel Kulchenko, Randy J

• Table of Contents • Index • Reviews • Examples • Reader Reviews • Errata Programming Web Services with Perl By Pavel Kulchenko, Randy J. Ray Publisher : O'Reilly Pub Date : December 2002 ISBN : 0-596-00206-8 Pages : 486 Programming Web Services with Perl is written for Perl programmers who have no prior knowledge of web services. No understanding of XML-RPC or SOAP is necessary to 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. • Table of Contents • Index • Reviews • Examples • Reader Reviews • Errata Programming Web Services with Perl By Pavel Kulchenko, Randy J. Ray Publisher : O'Reilly Pub Date : December 2002 ISBN : 0-596-00206-8 Pages : 486 Copyright Preface Audience for This Book Structure of This Book Conventions Used in This Book Comments and Questions Acknowledgments Chapter 1. Introduction to Web Services Section 1.1. History Section 1.2. The Web Services Dream Section 1.3. The Web Services Cold Shower Section 1.4. Who to Believe? Section 1.5. Web Services in the Real World Chapter 2. HTTP and XML Basics Section 2.1. HTTP Section 2.2. XML Section 2.3. XML Schema Chapter 3. Introduction to XML-RPC Section 3.1. History of XML-RPC Section 3.2. Example Client: Meerkat Section 3.3. Limitations of XML-RPC Chapter 4. Programming XML-RPC Section 4.1. Perl Toolkits for XML-RPC Section 4.2. RPC::XMLSimple Section 4.3. XMLRPC::Lite Section 4.4. RPC::XML Chapter 5. Introduction to SOAP Section 5.1. Background Section 5.2. XML Definitions Section 5.3. RPC over SOAP Section 5.4. SOAP Transport Section 5.5. Further Reading Chapter 6. Programming SOAP Section 6.1. A Toolkit Approach Section 6.2. DevelopMentor's SOAP Module Section 6.3. The SOAP::Lite Module Section 6.4. Other SOAP-Related Modules Chapter 7. Serving SOAP over HTTP Section 7.1. Basic SOAP::Lite Servers Section 7.2. The Application Section 7.3. Designing the Server Section 7.4. Tying the Interface Code to SOAP Section 7.5. Improving the Code and the Service Section 7.6. Ideas for Further Exploration Chapter 8. SOAP Services Without HTTP Section 8.1. Choosing a Protocol Section 8.2. Authentication Section 8.3. Transports with Server and Client Section 8.4. Standalone Protocols Section 8.5. Creating New Transport Modules Chapter 9. Service Description with WSDL Section 9.1. Basic WSDL Section 9.2. WSDL Programming Chapter 10. Service Advertising and Discovery with UDDI Section 10.1. Defining UDDI Section 10.2. Programming with UDDI::Lite Chapter 11. REST: Representational State Transfer Section 11.1. Defining REST Section 11.2. REST Principles Section 11.3. Programming REST Chapter 12. Advanced Web Services Topics Section 12.1. Message Routing Section 12.2. Packaging Section 12.3. Security Section 12.4. Services Discovery Section 12.5. Reliable Messaging Section 12.6. Business Process Management Section 12.7. Implementation Considerations Section 12.8. WS-Next Appendix A. XML-RPC Toolkit Programming Reference Section A.1. RPC::XMLSimple Section A.2. XMLRPC::Lite Section A.3. RPC::XML Appendix B. SOAP::Lite Programming Reference Section B.1. SOAP::Lite Section B.2. SOAP Transport Classes Section B.3. The Apache Wrapper Section B.4. UDDI::Lite Appendix C. XML-RPC Example Code Section C.1. Basic Meerkat Client (Chapter 3) Section C.2. XML-RPC Toolkit Samples (Chapter 4) Appendix D. SOAP Example Code Section D.1. HTTP SOAP Code (Chapter 7) Section D.2. SOAP with Other Protocols (Chapter 8) Appendix E. WSDL and UDDI Examples Section E.1. The wishlist.wsdl File Section E.2. The useperlorg.wsdl File Section E.3. The show_biz UDDI Application Appendix F. Bibliography and References Section F.1. Bibliography Section F.2. Additional Recommended Books Section F.3. Web Pages Colophon Index Copyright Copyright © 2003 O'Reilly & Associates, Inc. Printed in the United States of America. Published by O'Reilly & Associates, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O'Reilly & Associates books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly & Associates, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly & Associates, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. The association between the image of a flying dragon and the topic of programming web services with Perl is a trademark of O'Reilly & Associates, Inc. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. Preface Web services make distributed computing easy. Through standardized protocols for locating, describing, and making remote procedure calls, it's possible to have components of an application written by different groups in different programming languages running on different machines that run different operating systems. That's not to say that writing a web service is necessarily easy. There's a maze of jargon and acronyms to get through, and if you're truly masochistic, you'll spend days with the dense specifications trying to get your head around the XML you're expected to produce and consume. And even if you let a toolkit handle the XML for you, the toolkit must still work within the limitations of the protocol, so unless you understand the protocol (even at a high level), you'll be confused. This book will help you cut through the confusion. Whether you're creating and parsing XML yourself or using a toolkit to do it, this book cuts through the jargon and acronym soup to give you what you need to get the job done. The main web service systems and specifications (XML-RPC, SOAP, WSDL, UDDI, and REST) are covered both at the XML level and at the toolkit level. Audience for This Book If you're a Perl programmer approaching web services either from curiosity or necessity, you're the person for whom we wrote this book. You'll learn not only what the protocols are and how to use the various Perl toolkits built around them, but how to design your own applications with web services in mind. This book covers an intersection of XML, networking, and Perl. Your Perl skills should be at the intermediate level; we assume you know how to create and manipulate data structures and create object-oriented modules. Our sample programs use references and objects without comment. The good news is that we don't assume you've already used any of the toolkits we describe- LWP, SOAP::Lite, among others. We explain all the XML you'll need for the rest of the book in Chapter 2, so you don't need prior XML exposure (though it might help to make the heavy XML bolus that is SOAP easier to swallow). In terms of networking, we assume you know about IP addresses and ports, but because the various modules we use hide the nasty details of networking, you don't need prior network programming. Structure of This Book The book is divided into 12 chapters and 6 appendixes. To help you focus on just the web services aspects of the sample programs, chapters include and discuss fragments of code; the full source is available in several appendixes. Chapter 1, gives you the big picture, telling you what's covered and why it's important. Chapter 2, gets you up to speed with the open foundations that web services are built on. Chapter 3, is an introduction to the XML and HTTP of XML-RPC. Chapter 4, shows you how to develop your own XML-RPC applications using three popular toolkits. Chapter 5, is an introduction to the XML and HTTP of SOAP. Chapter 6, is an introduction to writing SOAP clients and servers in the two SOAP toolkits. Chapter 7, focuses on using the SOAP::Lite toolkit to write SOAP clients with HTTP as a transport. Chapter 8, uses SOAP::Lite over transports, such as SMTP (email) and Jabber (instant messaging). Chapter 9, shows how to describe web services interfaces. Chapter 10, explains the leading way to discover services dynamically. Chapter 11, is an introduction to the web services philosophy that is often seen as a simpler alternative to XML-RPC and SOAP. Chapter 12, surveys the leading edge of web services technology for security, discovery, reliability, transactions, and internationalization. Appendix A, provides a reference to the three XML-RPC toolkits discussed in Chapter 4. Appendix B, is a definitive guide to the SOAP::Lite toolkit used heavily in Chapter 4 through Chapter 10. Appendix C, contains the full program listings for the applications developed in Chapter 3 and Chapter 4. Appendix D, contains the full program listings for the applications developed in Chapter 6, Chapter 7, and Chapter 8. Appendix E, contains the full program listings for the examples developed in Chapter 9 and Chapter 10. Appendix F, gathers the bibliography and references used in the writing of the book. Conventions Used in This Book The following typographic conventions are used in this book: Italic Used for email addresses and URLs, as well as for new terms where they are defined.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    517 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us