next up previous contents
Next: Structure of Interface Up: Introduction Previous: ZIY   Contents

ZIY Interface

To be useful, the ZIY must provide some sort of interface to allow a client process to make use of the system. In addition, one of the functions of this interface is to insulate this process (or ZIY Client) from the details of operating a ZY. Because of the nature of the mission of the GBT Antenna Metrology System, this interface must allow programmatic control of the ZIY from other processes on other host computers on a TCP/IP network. This interface could have been implemented in any number of ways and still meet these needs: TCP Sockets, UDP Sockets, ONC RPC, DCE RPC, OLE Automation. Each one of these options has its advantages and disadvantages. Because the ZIY is implemented as a native NT service and the rest of the GBT systems are implemented on SunOS/Solaris or VxWorks, the only real choices are TCP or UDP sockets or ONC RPC. To accomodate the needs of a binary interface, with all the data representation issues that it brings with it (little-endian vs. big-endian, word alignment, etc.) ONC RPC, with its External Data Representation (XDR) library, seemed ideal for the task. Initially, this presented a serious problem, as NT did not support ONC RPC, and good commercial packages were very costly. A search of the Internet quickly located a viable alternative: Martin Gergeleit's port of Sun RPC 4.0 to NT (http://set.gmd.de/ mfg/oncrpc.html.) With a viable ONC RPC implementation on NT, it was worth porting the Monitor & Control RPC++ library to NT. This was duly done (08/96) by Joe Brandt and myself, and tested on the ZIY by using it to read the M&C Weather Registry. The Program Number for the ZIY is the numeric constant MetrologyProgram, found in the M&C RPC program number header file rpcNumbers.h.
next up previous contents
Next: Structure of Interface Up: Introduction Previous: ZIY   Contents
Ramon E. Creager 2002-03-11