DCE Application Programming Guide

HP NonStop DCE Application Programming Guide429551-003
5-1
5 Porting Applications
This section describes the porting of a sample application named “Information Please”
to NonStop DCE. This application was developed by Harold Lockhart, Jr. and Fred
Oldfield and is described in OSF DCE: Guide to Developing Distributed Applications.
The application server is ported in two forms, once as a straight port to NonStop DCE
and once converting it to the DCE release 1.1 server initialization API.
Complete listings of “Information Please” are provided in Appendix A, Sample
Application Listings.
Information Please—A Sample Application
The sample Information Please application consists of a client program, a server
program, and a server installation program. It enables client programs to get
information about the host systems in the cell, including the name of the host, its
operating system name and version, and its machine type. The Information Please
client program prints this information for all nodes in the cell with an Information Please
server. The application uses the RPC name service to locate the servers. All
communication is done using the ncadg_ip_udp RPC protocol sequence. This
application does not use authenticated RPC.
The Information Please server provides a single operation, the get_system_info()
function, which is an RPC implementation of the POSIX.1 uname() function.
An installation program is provided for installing the Information Please server on a
host system. The program exports the infpls interface to a CDS server entry. The
entry name is based on the server’s host name, with entry names of the form
/.:/applications/info_server_hostname. The installation program adds the
server entry name to the group entry /.:/applications/info_server_group.
You can also use the installation program to remove a server entry from CDS.
During initialization, the Information Please server registers the infpls interface with
the endpoint map service of the dced program. The server does not need to export its
information to CDS because the installation program exports it.
The Information Please client uses the name service interface (NSI) to locate all hosts
in the cell that are configured to have an Information Please server. It imports binding
handles using the CDS entry specified by the RPC_DEFAULT_ENTRY environment
variable. It issues the get_system_info() call for each server binding that it can
import and prints the returned information.
Porting Information Please to NonStop DCE
This subsection describes all modifications made to the Information Please application
to port it to a NonStop system using the NonStop DCE.