DCE Application Programming Guide

Application Design Considerations
HP NonStop DCE Application Programming Guide429551-003
2-6
Interprocess Communication With Non-DCE
Programs
Interprocess Communication With Non-DCE
Programs
NonStop DCE allows interoperability between DCE and non-DCE environments. A
NonStop DCE server or a non-DCE application on a NonStop server can have the
access described under:
Access to DCE Servers on page 2-6
Access to Non-DCE Servers on page 2-7
Access to DCE Servers
Usually, DCE servers can be accessed only through RPC. Non-DCE applications that
access DCE servers must fulfill certain requirements.
To be a NonStop DCE RPC client, a process must:
Execute as an OSS process.
Be written in C or COBOL (See Using a Fault-Tolerant Backing Store on page 2-9).
Bind in the TNS NonStop DCE shared run-time library (SRL) if it is a TNS
application. Use the Guardian environment BIND utility to do this.
Link to the TNS/R NonStop DCE SRL if it is a TNS/R application. Use the OSS
environment nld utility (for a non-PIC application) or ld utility (PIC application) to
do this.
Link to the TNS/E NonStop DCE DLL if it is a TNS/E application. Use the OSS
environment eld utility to do this.
Not call the Guardian AWAITIOX or AWAITIO procedures with -1 as a file
parameter. (AWAITIOX can be used to poll for completion on a specific file,
although a NonStop DCE thread must complete all nowait input or output
operations before yielding control to another thread.)
Programs that cannot be DCE clients because they are not OSS processes can
access DCE servers indirectly through an intermediate process; that is, through a
Pathway server. The intermediate process must be an OSS process and must contain
the DCE SRL or DLL. This server gets requests from a Guardian READUPDATE
procedure call on the $RECEIVE file, issues the appropriate remote procedure call to
the DCE server, and replies to the request message using the Guardian REPLYX
procedure call.
A Pathway server class can be used to provide concurrent access to the DCE server.
Figure 2-1
on page 2-7 shows use of an intermediate Pathway server class to provide
access from a Guardian process to a DCE server.
Note. NonStop DCE servers must not try to open or read $RECEIVE. Doing so results in
unpredictable server behavior.