HPlogo DCE for the HP e3000 > Chapter 6 Introduction to RPC

Chapter 6 Introduction to RPC

MPE documents

Complete PDF
Table of Contents
Index

Table of Contents
Runtime Library
Private Client Sockets
Serviceability
Exception Handling
DCE-IDL Compiler for RPC 1.2.1
Out-of-Line Marshalling
Enhancing IDL Data Types
Support for IDL Encoding Services
Support for User Defined Exceptions
Support for Customized Binding Handles
This version of DCE/3000 is based on the OSF DCE version 1.2.1 source code. It provides the Remote Procedure Call component of the core services of OSF DCE.

Remote Procedure Call: supports the development of distributed applications by making requests to remotely networked machines as if they were local. RPCs also implement network protocols used by clients and servers to communicate with each other.

The different components of RPC product are:
RPC Runtime Library:

This is the shared library, which provides the functionality of different RPC APIs. It maintains and manages memory for the RPC application. Runtime basically is the transparent layer, which manages the communication with a remote machine in the network. Along with the help of IDL, runtime makes the RPC protocol possible on a heterogeneous network. The data sent across the network are "Marshalled" before being sent and "Unmarshalls" the incoming data. The functions to do these activities are present in the runtime library.

RPCD:

This is the RPC endpoint mapper daemon. RPCD is a process that provides services for the local host, and is also the server used by remote applications to access these host services. The endpoint mapper service maintains a database called the local endpoint map, which allows DCE clients to find servers, individual services provided by servers, and objects managed by services on the host. The endpoint mapper service maps interfaces, object UUIDs, and protocol sequence registrations to server ports (endpoints). Servers register their bindings with the local endpoint mapper, and the endpoint mapper service on each host uses the local endpoint map to locate a compatible server for clients that do not already know the endpoint of a compatible server.

IDL Compiler:

Interface definition language compiler. IDL compiler to converts an interface definition, written in IDL, into output files. The output files include a header file, server stub file, client stub file, and auxiliary files. The compiler constructs the names of the output files by keeping the basename of the interface definition source file but replacing the filename extension with the new extension (or suffix and extension) appropriate to the newly generated type of output file. For example, math.idl could produce math_sstub.c or math_sstub.o for the server stub. IDL compiler generates the "stubs" which, when linked with the appropriate modules of the application, makes the RPC communication simple.

In DCE/3000 RPC 1.2.1 version, the DCE library is provided as Shared library (libdce.sl). This library contains only the RPC functionality of DCE product.

Table 6-1 "RPC Components" indicates the different files in different formats present in the MPE/iX environment as part of the DCE/3000 product.

Table 6-1 RPC Components

Filename

Description

rpcp.pub.sysCommand Script
/usr/bin/rpcpShell Script
rpcd.hpdce.sysProgram
rpccp.pub.sysCommand Script
/usr/bin/rpccpShell Script
rpccp.hpdce.sysProgram
idl.pub.sysCommand Script
/usr/bin/idlShell Script
idl.hpdce.sysProgram

Table 6-2 "Miscellaneous Components" shows various components.

Table 6-2 Miscellaneous Components

Filename

Description

/usr/lib/libdce.slShared library for DCE
/usr/include/*.hHeader files for DCE applicaton development
/usr/include/*.idlIDL files for DCE application development




Writing Thread-Safe Code


Runtime Library