Skip to main content

BeepLite Networking Layer

A Java implementation of BEEP (Blocks Extensible Exchange Protocol), a generic application protocol kernel for connection-oriented, asynchronous interactions.

Date Posted: January 15, 2004

alphaworks tab navigation


 

Update: January 12, 2006 BeepLite 0.9.6: Bug fix in the SASL OTP session tuning; experimental support for some limited XML parsing by means of format strings.

 

What is BeepLite Networking Layer?

The IBM BeepLite Networking Layer is a Java™ implementation of BEEP (RFC 3080, RFC 3081), a generic application protocol kernel for connection-oriented, asynchronous interactions. It supports dynamic, pluggable application protocols for peer-to-peer, client-server, or server-to-server scenarios; it allows multiple channels over one or more authenticated session; and it supports arbitrary MIME payloads, including XML.

In addition to a bug fix in the SASL OTP session tuning, Version 0.9.6 includes experimental support for some limited XML parsing by means of format strings. Instances of the class XMLParser match some given text according to the format string with which the instance has been initialized. The matching result is returned as an array of format elements. Please note that this functionality may change in future releases or may even be removed again. At present, it is included primarily for the purpose of gathering feedback.

How does it work?

BEEP (and the BeepLite Networking Layer) adds a layer of abstraction on top of transport protocols such as TCP in order to ease the development and use of application protocols (called "profiles" in BEEP parlance). This additional layer provides all the basic mechanisms needed for simultaneous and independent exchanges within the context of a single application's user identity (such as framing messages, encoding data, negotiating capabilities, correlating requests and responses, message pipelining and multiplexing, and integrated and modular security), and it supports both textual and binary messages.

Exchanges happen in the context of multiple channels over one or more sessions, whereby sessions may be tuned to meet various security requirements (for example, TLS with client authentication). For session security, BeepLite currently provides profiles for Sun's JSSE (Java Secure Socket Extension) and IBM's SSLite, as well as for SASL OTP authentication according to RFC 2444. BeepLite also implements the SOAP (Simple Object Access Protocol) profile according to RFC 3288, which specifies SOAP message exchanges via BEEP.

Further information is available in this white paper (PDF format). The changes in Version 0.9.4 are described in detail in this ReadMe.pdf file.

About the technology author(s)

Thorsten Kramp joined the IBM Zurich Research Laboratory in 2001 right after he received his Ph.D. in computer science from the University of Kaiserslautern in Germany. At the University of Kaiserslautern, he was a member of the System Software Group and worked on flexible run-time platforms for real-time computing, especially exploring the applicability and benefits of a message-driven threading model in this context. At the IBM ZRL lab, Dr. Kramp is now primarily working on JCOP (the IBM JavaCard smartcards operating system), crypto libraries, and BeepLite.

Trademarks




Related technologies