From: Peter J. Nuernberg (pnuern)
Date: Mon 02 Jun 1997 - 13:07:17 CDT
> In our research group
> (http://www.cs.kuleuven.ac.be/~erikd/MANUAL/hgb.html), we will start
> experimenting with the OHP protocol. Basically, we want to gain some
> experience and investigate how this protocol could interoperate with our
> Hypermedia Object Management Environment (HOME). We are specifically
> interested in the client & server-shim and the communication between
> I was wondering if there already exist (prototype) implementations of
> the protocol and, if there are, if it would be possible to exchange code
> and/or experience?
> All comments and feedback are most appreciated!
We at the HRL at Texas A&M have been playing around with an OHP implementation. Here is some background:
In HOSS, the architecture specifies an open set of "link server" peers (called Sprocs). This means that we are not using the shim architecture to implement an OHP complient link server. Instead, we've just built a new Sproc that speaks this protocol. Although this is a new Sproc, it is modeled closely after our existing navigational hypertext link server, the Link Services Manager (LSM).
We have a certain amount of effort invested in development tools. One of these tools is called the Protocol Definition Compiler (PDC). The PDC acts much like an IDL compiler in CORBA environments. It takes as input a high-level protocol (service interface) specification and produces as output libraries for the clients and servers that take care of packing (marhsalling) parameters, sending requests, and optionally blocking on server replies for clients. The PDC does not generate libraries with functions that produce ASCII streams to TCP sockets. Instead, it uses the IPC infrastructure we've had here for some time. Messages in this scheme have a standard header (sender machine, sender pid, etc.) and a set of message-specific fields or parameters. The PDC both fills the generic header and packs the parameters into the specific fields and then sends the message to a port. From the PDC persepctive, the port implementation (TCP sockets, X window properties, shared memory) is transparent. The block sent to the port is binary, not necessarily printable ASCII. So, our current implementation doesn't meet the spec in this regard. The plan to remedy this is to add another module to the PDC to generate optionally libraries with functions that send and receive ASCII streams.
Here are some details:
Our current implementation is a bit messy, so I'd like to clean it up before I release it. We have two clients. One reads files from the files system and writes them to the backend. It also builds structures between these documents. The other is a cgi that contacts the Sproc for documents and structure and displays them as web pages. I'll try to post the demo of the CGI program sometime next week. In any event, once I post the source (late June), it'll be available for download. You need to install the whole HOSS backend, though, which ultimately requires Illustra 3.2.
I hope this helps.
This archive was generated by hypermail 2.1.5 : Tue 13 Aug 2002 - 07:20:36 CDT