Next: Structure of Interface
Up: Introduction
Previous: ZIY
  Contents
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: Structure of Interface
Up: Introduction
Previous: ZIY
  Contents
Ramon E. Creager
2002-03-11