b r a y d e n . o r g / Software

/ WebHome / NetApps / WebServices / BeepProtocol

This Web


WebHome  
Topic List  
Web Statistics 

All Webs


Books
Main
Random
Software
TWiki  

brayden.org


Home
Monthly Digest
Today's Links
Resumé
Reading List
Books RSS
Random RSS
Software RSS

Other


Dale's Blog

currently-reading
TextDrive

BEEP - Blocks Extensible Exchange Protocol

The BEEP protocol is a lighter-weight protocol than HTTP, and can be used for nearly any kind of message pattern - it is not limited to the request/reply exchange. It has less byte overhead than HTTP, yet has a richer semantics (in some ways).

Overview of BEEP (Blocks Extensible Exchange Protocol)

Specifications

BEEP is defined in RFC:3080 (IETF RFC 3080). The introduction to that document states:

This memo describes a generic application protocol kernel for connection-oriented, asynchronous interactions called BEEP.

At BEEP's core is a framing mechanism that permits simultaneous and independent exchanges of messages between peers. Messages are arbitrary MIME [1] content, but are usually textual (structured using XML [2]).

All exchanges occur in the context of a channel -- a binding to a well-defined aspect of the application, such as transport security, user authentication, or data exchange.

Each channel has an associated "profile" that defines the syntax and semantics of the messages exchanged. Implicit in the operation of BEEP is the notion of channel management.

A snapshot of the specification is in BeepProtocolSpec.

Resources, Projects, and Links

BEEP and SOAP

SOAP Message Patterns

4. SOAP Message Patterns

4.1 One-way Message

A one-way message involves sending a message without any response being returned.

The BEEP profile for SOAP achieves this using a one-to-many exchange, in which the client sends a "MSG" message containing an envelope, and the server immediately sends back a "NUL" message, before processing the contents of the envelope.

4.2 Request-Response Exchange

A request/response exchange involves sending a request, which results in a response being returned.

The BEEP profile for SOAP achieves this using a one-to-one exchange, in which the client sends a "MSG" message containing an envelope, and the server sends back a "RPY" message containing an envelope.

Finally, the BEEP profile for SOAP does not use the "ERR" message for SOAP faults when performing one-to-one exchanges -- whatever response is generated by the server is always returned in the "RPY" message.

4.3 Request/N-Responses Exchange

A request/N-responses exchange involves sending a request, which results in zero or more responses being returned.

The BEEP profile for SOAP achieves this using a one-to-many exchange, in which the client sends a "MSG" message containing an envelope, and the server sends back zero or more "ANS" messages, each containing an envelope, followed by a "NUL" message.


Road Runner

From the website:

RoadRunner is written in portable C code, utilizing the GNU utility library (GLib) to ensure portable multithreading, memory handling and network code. The codebase runs unmodified on most platforms supported by glib.

RoadRunner is primarily developed and regularly tested on GNU/Linux, OpenBSD and NetBSD, but has been compiled and tested on:

  • GNU/Linux
  • OpenBSD
  • NetBSD
  • Solaris
  • FreeBSD
  • MS Windows
  • AIX

From the FAQ:

Why is the library called RoadRunner?

Beep Beep

-- DaleBrayden - 26 Jun 2003

NOTE - Please note that the filename for the road runner source package has an extraneous .tar at the end. After download, you must strip the .tar from the end of the filename.

Attachment: Action: Size: Date: Who: Comment:
roadrunner-0.9.1.tar.gz.tar action 338564 22 Aug 2003 - 23:33 DaleBrayden Road Runner Source Package
roadrunner-doc-0.8.tar.gz action 45259 22 Aug 2003 - 23:38 DaleBrayden Road Runner Documentation
iconv-1.8.win32.zip action 1325320 26 Aug 2003 - 16:19 DaleBrayden iconv 1.8 for Win32
libxml2-2.5.10.win32.zip action 1377736 26 Aug 2003 - 16:21 DaleBrayden libxml2 2.5.10 win32

 
 
Current Rev: r1.10 - 18 Feb 2004 - 19:06 GMT - DaleBrayden, Revision History:Diffs | r1.10 | > | r1.9 | > | r1.8
© 2003-2011 by the contributing authors.