You are previewing SOAP: Cross Platform Web Service Development Using XML.
O'Reilly logo
SOAP: Cross Platform Web Service Development Using XML

Book Description

Leverage the power of SOAP on any platform, with any leading programming language!

  • Integrate your enterprise applications across the Web!

  • The platform-independent guide to SOAP

  • SOAP programming with C++, Perl, C#, Visual Basic, and Java

  • Build an industrial-strength SOAP system from scratch

  • CD-ROM: SOAP for Windows, Linux and Unix, plus extensive source code library!

  • Technical Reviewers: Yves LaFon, Chair of the SOAP W3C Committee
    John Montgomery, Lead SOAP Developer, Microsoft
    Kent Sharkey, .NET Frameworks Technical Evangelist, Microsoft

    SOAP is the universal "glue" that can integrate virtually any distributed system, helping enterprises streamline processes and communications across the Internet as never before. SOAP: Cross Platform Web Services Development Using XML is the practical, hands-on introduction to using SOAP on Windows, Linux, and UNIX platforms, using any of five leading programming languages. Discover how SOAP leverages key Internet standards such as XML and HTTP to solve distributed computing problems that DCOM and CORBA can't! Coverage includes:

  • All the XML you need to get started with SOAP

  • SOAP's basic syntax: HTTP headers, SOAP payloads, error handling, data types, encoding structures, and more

  • Extending SOAP to support heterogeneous and legacy environments

  • SOAP programming with C++, C#, Perl, Visual Basic, and Java

  • Comparing today's leading SOAP servers

  • The last six chapters of this book present a start-to-finish SOAP case study application-from requirements and design through coding.

    Whether you're constructing Internet applications, integrating existing applications within or between enterprises, or simply evaluating SOAP, this book contains the insights-and practical examples-you're looking for.

    CD-ROM INCLUDED

    The accompanying CD-ROM contains complete SOAP implementations for Windows, Linux, and UNIX, plus all source code from the book.

    Table of Contents

    1. Copyright
      1. Dedication
    2. Foreword
    3. Acknowledgments
    4. 1. SOAP—Everything You Need To Know
      1. 1. How We Got To SOAP
        1. The Abacus
        2. Early Calculators
        3. Programmable Machines
        4. Electronic Computers
        5. Distributed Computing
          1. DCE
          2. DCOM and CORBA
          3. Problems With Current RPC Methods
        6. Summary
        7. Bibliography
          1. Bibliography
      2. 2. XML Overview
        1. Uniform Resource Identifiers
          1. Uniform Resource Locators
          2. Uniform Resource Names
        2. XML Basics
        3. XML Schemas
          1. Facets
          2. Datatypes
        4. XML Namespaces
        5. XML Attributes
        6. Summary
      3. 3. The SOAP Specification
        1. Things to Know
        2. Rules for Encoding Types in XML
          1. Value Representation
          2. Determining Value Type
          3. Simple Value Representation
            1. Strings
            2. Enumerations
            3. Array of Bytes
            4. Polymorphic Accessor
          4. Null Values
          5. Compound Value Representation
          6. Multireference Values
          7. Arrays
          8. Generic Compound Types
          9. Default Values
          10. SOAP root Attribute
        3. The SOAP Message Exchange Model
        4. Structure of a SOAP Message
          1. SOAP Envelope
          2. SOAP Header
            1. SOAP-ENV:mustUnderstand
            2. SOAP-ENV:actor
          3. SOAP Body
          4. SOAP Fault
          5. Processing Requirements
        5. Using SOAP in HTTP
          1. SOAP HTTP Request
          2. SOAP HTTP Response
          3. The HTTP Extension Framework
        6. Using SOAP for RPC
          1. RPC and SOAP Body
        7. Summary
      4. 4. Building A Basic SOAP Client And Server
        1. SOAP Library Design
        2. In Search of OneGood Socket Library
          1. TcpServer
        3. SimpleSOAP Library
          1. SOAPElement
          2. SOAPAttribute
          3. SOAPObjectCreator
          4. SOAPObject
          5. SOAPDispatcher
          6. SOAPEncoder
          7. SOAPMethod
          8. SOAPFault
          9. SOAPParser
        4. SOAPNetwork Library
          1. SOAPonHTTP
        5. A Simple SOAP Server
          1. Building the Message Processor
          2. Responding to SOAP Requests
        6. A Simple SOAP Client
        7. Summary
        8. Fun Things to Try
    5. 2. Related Technologies
      1. 5. Web Services Description Language
        1. WSDL Overview
        2. Defining a Web Service
          1. Language Extensibility and Binding
          2. Encoding Type Information
          3. Messages
          4. Port Types
            1. Transmission Primitive: One-Way
            2. Transmission Primitive: Request-Response
            3. Transmission Primitive: Solicit-Response
            4. Transmission Primitive: Notification Operation
          5. Binding
          6. Ports and Services
        3. SOAP Binding
          1. soap:binding
          2. soap:operation
          3. soap:body
          4. soap:fault
          5. soap:header
          6. soap:address
        4. HTTP GET and POST Binding
          1. http:address
          2. http:binding
          3. http:operation
          4. http:urlEncoded
          5. http:urlReplacement
        5. MIME Binding
          1. mime:content
          2. mime:multipartRelated
          3. soap:body
          4. mime:mimeXml
        6. Summary
      2. 6. Universal Description, Discovery, And Integration
        1. UDDI Basics
          1. A UDDI Usage Scenario
          2. tModels
        2. Where Does UDDI Fit in?
        3. UDDI Information Types
          1. businessEntity
          2. businessService
          3. bindingTemplate
          4. tModel
        4. The Programmer's API
          1. The UDDI Invocation Model
          2. Security
          3. Versioning
          4. Query Patterns
            1. Browse Pattern
            2. Drill-Down Pattern
            3. Invocation Pattern
        5. Summary
      3. 7. Available SOAP Implementations
        1. Apache
        2. IdooXoap
        3. Iona
          1. iPortal
          2. Orbix 2000
        4. Microsoft
          1. SOAP Toolkit v2
          2. Visual Studio.Net
        5. pocketSOAP
        6. RogueWave
          1. XML-DB Link andXML Services Framework
        7. SOAP::Lite
        8. White Mesa
        9. Zope
        10. Summary
    6. 3. Case Study: A Web-Based Auction System
      1. 8. Auction System And Requirements
        1. Background
        2. Executive Summary
        3. Bidder Enrollment and Management
        4. Item Enrollment and Management
        5. The Bidding System
        6. Reporting
          1. Active Items
          2. Upcoming Items
          3. Items to Ship
        7. Summary
      2. 9. Auction System Design
        1. Bidder Enrollment and Management
          1. Customer Use Cases
            1. Create a New Customer
            2. Edit Customer Information
            3. Get Customer
            4. Delete Customer
            5. Change Password
        2. Item Enrollment and Management
          1. Category Management
          2. Category Management Use Cases
            1. Add New Category
            2. Edit Category
            3. Delete Category
            4. Item Management
          3. Item Management Use Cases
            1. Add Item
            2. Edit Item
            3. Delete Item
        3. The Bidding System
          1. Bidding System Use Cases
            1. Entrance to Web Site
            2. User Selects View Items for Auction
            3. Site Displays Items in Category
            4. User Selects Item
            5. Logging In
            6. Placing a Bid
            7. Placing the Bid
        4. Summary
      3. 10. Bidder Enrollment
        1. The Java Environment
        2. Setting Up the Java Environment
          1. Coding the Java Data Access Layer
          2. Writing a SOAP Interface
        3. Securing Access to the Web Service
        4. The VB Environment
          1. Data Access Layer
          2. The VB-to-Java Connection
            1. Saving a Customer Record
          3. The VB Web Service
        5. Summary
      4. 11. Category And Item Management
        1. General Implementation Rules
        2. Category Management
          1. Category Data Access
          2. Category Web Service
          3. Category Editor
        3. Item Management
          1. Seller Authentication
          2. Item Web Service
          3. Item Editor
        4. Summary
          1. Things to Add to Category Management
          2. Things to Add to Item Management
      5. 12. The Bidding System
        1. Bidding Pages
          1. Viewing the Selection By Category
          2. Item Detail View
        2. Bidding Web Service
        3. Summary
      6. 13. Case Study Summary
        1. Client Management
        2. Category Management
        3. Item Management
        4. Auction
        5. Summary
      7. Quick Start Guide with SOAP and SOAP::Lite
        1. Writing a CGI-based Server
        2. Client
        3. Passing Values
        4. Autodispatching
        5. Objects access(it's 'simple OBJECT access protocol', isn't it?)
        6. Error Handling
          1. Client: you provided incorrect information in the request.
          2. Server: something is wrong on the server side.
          3. MustUnderstand: Header element has mustUnderstand attribute, but wasn't understood by server.
          4. VersionMismatch: the server can't understand the version of SOAP used by the client.
          5. Other errors
          6. Service Dispatch(different services on one server)
            1. Static internal
            2. Static external
            3. Dynamic
            4. Mixed
          7. Types and Names
          8. More Complex Server(daemon, mod_perl and mod_soap)
            1. HTTP daemon
            2. HTTP daemon in VBScript
            3. ASP/VB
            4. Apache::Registry
            5. mod_perl
            6. mod_soap
          9. Access to Remote Services
            1. Name of state based on state's number (in alphabetical order)
          10. Whois
          11. Book price based on ISBN
          12. Currency Exchange rates
          13. NASDAQ quotes
          14. Access with service description (WSDL)
        7. Security(SSL, basic/digest authentication, cookie-based authentication, ticket-based authentication, access control)
          1. SSL
          2. Basic authentication
          3. Cookie-based authentication
          4. Ticket-based authentication
          5. Access control
          6. Handling LoLs(List of Lists, Structs, Objects, or something else)
        8. COPYRIGHT
          1. Author and Contributors
          2. Major contributors