BEEP: The Definitive Guide

Book description

If you need to design a protocol that really fits your application, you want BEEP--an integrated collection of building blocks that gives you "best in class" data transmission solutions for everything from framing to security. Whether you're writing a simple "fetch" client/server application or a multi-threaded peer-to-peer relaying system, BEEP provides the necessary functionality without extra overhead.BEEP gives network developers what they've long needed: a standard toolkit for building protocols quickly and conveniently. For the first time, it's possible to create an application protocol that's tightly tuned to the application's requirements, so you can avoid reinventing the wheel.Written by BEEP creator Marshall Rose, BEEP: The Definitive Guide is the only book on the subject--a compendium straight from the horse's mouth. This book shows you what BEEP is for and, more important, how to put it to use. After explaining concepts underlying the BEEP protocol, Rose shows you how to use the BEEP implementation in Java, C, and Tcl. You'll learn to build several working applications that use BEEP as a transport, including an implementation of the reliable SYSLOG protocol and an implementation of a BEEP transport for SOAP.Although BEEP was standardized in 2001, different groups are already using it for SOAP exchanges, intrusion detection, instant messaging, network auditing, remote calendaring, and secure credential exchange. These groups work on different problems, but what they have in common is a simple desire to focus on the problem domain instead of the tedious details of protocol overhead. If you're a network developer, you need to become familiar with this important new tool.

Publisher resources

View/Submit Errata

Table of contents

  1. BEEP: The Definitive Guide
    1. Foreword
    2. Preface
      1. The Intended Audience
      2. Conventions Used in This Book
      3. We’d Like to Hear from You
      4. Acknowledgments
      5. Personal Notes
    3. 1. Introduction
      1. Application Protocol Design
      2. The Problem Space
      3. The IETF and BEEP
      4. How This Book Is Organized
    4. 2. Concepts
      1. Sessions
      2. Channels
      3. Exchanges
      4. Messages
        1. XML in Under Two Pages
        2. The application/beep+xml Content-Type
      5. Packet Formats and Traces
    5. 3. Tuning
      1. The Greeting
        1. Supported Profiles
        2. Localization (L10N)
      2. Channel Management
        1. Channel Creation
          1. The piggyback
          2. Virtual hosting
        2. Channel Destruction
        3. Session Release
      3. The TLS Profile
      4. The SASL Family of Profiles
      5. Tuning in Practice
      6. Tuning Profiles Versus Exchange Profiles
      7. The Lifecycle of a Session
    6. 4. Exchanges
      1. Client/Server
        1. BEEP URIs
        2. SOAP Extras
        3. The SOAP over BEEP Registration
      2. Server/Client
        1. The Syslog Raw Profile
        2. One Packet Trace
        3. So Why Bother?
      3. Peer-to-Peer
        1. A Digression
      4. Let’s Recap
    7. 5. BEEP in Java
      1. A Guided Tour
        1. The Echo Initiator
        2. The Echo Listener
      2. Fundamental Classes
        1. Sessions
          1. Session creators
          2. The Session class
          3. The ProfileRegistry class
        2. Channels
          1. The Profile interface
          2. The Channel class
          3. Message listeners
        3. Data
          1. The Message class
          2. Data streams
        4. Exceptions
        5. Utilities
    8. 6. BEEP in C
      1. A Portable Implementation
        1. Architecture
        2. The threaded_os Wrapper
      2. Echo and Sink
        1. The null Profile Module
          1. The header file
          2. The Source File
          3. Module entry points
          4. Outer callbacks
          5. Channel start callbacks
          6. Channel close callbacks
          7. Tuning reset callbacks
          8. Data exchange callback
          9. Driver entry points
        2. The Listening Driver
        3. The Initiating Driver
        4. Let’s Recap
      3. Reliable Syslog
        1. The Header File
        2. The Source File
        3. Module Entry Points
        4. A New Callback
        5. Channel Start Callbacks
        6. Channel Close Callbacks
        7. Tuning Reset Callbacks
        8. Data Exchange Callbacks
        9. Driver Entry Points
    9. 7. BEEP in Tcl
      1. Introduction to Tcl SOAP
        1. Client Functions
        2. Server Functions
      2. Adding BEEP Support to the Client
        1. Creation
        2. Configuration
        3. Invocation
        4. More Packet Traces
      3. Adding BEEP Support to the Server
        1. The Info and Boot Methods
        2. The Init and Fin Methods
        3. The Exch2 Method
        4. Configuring the Server
    10. 8. Futures
      1. Experiences
      2. Stability and Evolution
      3. Tunneling
      4. Transport Mappings
      5. Finally
    11. A. On the Design of Application Protocols
      1. A Problem 19 Years in the Making
      2. You Can Solve Any Problem...
      3. Protocol Mechanisms
        1. Framing
        2. Encoding
        3. Reporting
        4. Asynchrony
        5. Authentication
        6. Privacy
        7. Let’s Recap
      4. Protocol Properties
        1. Scalability
        2. Efficiency
        3. Simplicity
        4. Extensibility
        5. Robustness
      5. The BXXP Framework
        1. Framing and Encoding
        2. Reporting
        3. Asynchrony
        4. Authentication
        5. Privacy
        6. Things We Left Out
        7. From Framework to Protocol
      6. BXXP Is Now BEEP
    12. References
      1. References
    13. Index

Product information

  • Title: BEEP: The Definitive Guide
  • Author(s): Marshall Rose
  • Release date: March 2002
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596002442