MASP XML Protocol
Date: Tue, 2 May 2000 15:48:08 -0400 (EDT) From: Mark Jones <firstname.lastname@example.org> To: email@example.com Subject: The MASP XML Protocol
I've been a lurker in this group for a while now, but haven't had much time to be an active participant.
I thought I should point out an XML-based protocol that I will be presenting in the poster session at WWW9 in a couple of weeks. We created it about two years ago when we needed a client-server protocol for a new Mediated Attribute Store service that I was developing as a research prototype for some enterprise messaging applications at AT&T. Although the Mediated Attribute Store Protocol (MASP) was developed for this application, the ideas are suitably general to cover most synchronous client-server applications (and probably adaptable to asynchronous ones as well).
For simplicity, we decided to use an *entirely* XML-based structure for the protocol. It is not built on HTTP (firewall issues were not paramount for our initial setting). Literally, the client and server sides simply open up socket connections and exchange ongoing XML "documents". The client-to-server connection passes the requests for service; the server-to-client document passes the corresponding responses. There is error handling, a limited form of attribute serialization, a generalized encoding metatag (EDATA), etc. There were some terrific side-benefits to an XML protocol in an exploratory research project, including extensibility (easy to add new commands), protocol tracing (readable trussing!) and server debugging (server diagnostics as XML comments are extensible and don't break client libraries!).
The fact that it is entirely in XML means that a client platform just needs to have an XML parser available. This might be good for fairly thin clients, for example. We have adapted James Clark's parser for a C/C++ client API library. Other users have used other off-the-shelf XML parsers for MASP client libraries and applications in Java and Perl. One project is completing a JavaMail provider implementation that uses MASP. I tend to view simple XML cross-platform protocols as a kind of "poor man's CORBA" -- with a lot less hair for relatively straightforward applications.
A more complete paper than that found in the WWW9 poster session can be found at http://www.research.att.com/~jones/www9paper.htm. I will be doing demos in the poster session on Wednesday evening, May 17, if you'd like to drop by for a look. The paper and demo focus on the XML protocol issues and not the MASP service concept per se; details on MASP will be forthcoming later.
Mark A. Jones
AT&T Labs - Research
180 Park Ave.
Florham Park, NJ 07932-0971
phone: (973) 360-8326
fax: (973) 360-8970
Prepared by Robin Cover for The XML Cover Pages archive.