This guide provides an overview of the Digital Distributed Computing Environment (DCE) for OpenVMS VAX and OpenVMS Alpha and describes value-added features provided with Digital DCE.
Revision/Update Information: This guide supersedes the Digital DCE for OpenVMS VAX and OpenVMS Alpha Product Guide Version 1.3.
Software Version: Digital DCE Version 1.5
Compaq Computer Corporation
Compaq Computer Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description.
Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from Compaq or an authorized sublicensor.
Compaq conducts its business in a manner that conserves the environment and protects the safety and health of its employees, customers, and the community.
© Compaq Computer Corporation 1999. All rights reserved.
The following are trademarks of Compaq Computer Corporation: Alpha, Compaq, DECnet, DECthreads, DIGITAL, OpenVMS, VAX, VMS, VMScluster, and the Compaq logo.
The following are third-party trademarks:
BSD is a trademark of the University of California, Berkeley.
Kerberos is a trademark of the Massachusetts Institute of Technology.
Microsoft, MS, and MS--DOS are registered trademarks and Windows and Windows NT are trademarks of Microsoft Corporation.
MultiNet is a registered trademark of the Open Software Foundation, Inc.
NetView is a registered trademark of International Business Machines Corporation.
POSIX is a registered trademark of The Institute of Electrical and Electronics Engineers, Inc.
UNIX is a registered trademark in the United States and other countries licenses exclusively through X/Open Co. Ltd.
All other trademarks and registered trademarks are the property of their respective holders.
The OpenVMS documentation set is available on CD-ROM.
This document was prepared using VAX DOCUMENT, Version V3.2n.
The Digital DCE for OpenVMS VAX and OpenVMS Alpha Product Guide provides users of the Digital Distributed Computing Environment (DCE) with the following information:
Information on Microsoft's NT Lan Manager is provided as a preview of functionality that will be available in a future version of Digital DCE for OpenVMS (Alpha only). This advanced documentation will help you in future planning.
This guide is intended for:
This guide is organized as follows:
For additional information on the Open Systems Software Group (OSSG) products and services, access the following OpenVMS World Wide Web address:
Compaq welcomes your comments on this manual.
Print or edit the online form SYS$HELP:OPENVMSDOC_COMMENTS.TXT and send us your comments by:
|Fax||603 884-0120, Attention: OSSG Documentation, ZKO3-4/U08|
Compaq Computer Corporation
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698
Use the following World Wide Web address to order additional documentation:
If you need help deciding which documentation best meets your needs, call 800-DIGITAL (800-344-4825).
VMScluster systems are now referred to as OpenVMS Cluster systems. Unless otherwise specified, references in this document to OpenVMS Clusters or clusters are synonymous with VMSclusters.
The following conventions are also used in this guide:
|Ctrl/ x||A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.|
|italic text||Italic text indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where device-name contains up to five alphanumeric characters).|
|UPPERCASE TEXT||Uppercase text indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.|
Monospace type indicates code examples and interactive screen displays.
In the C programming language, monospace type in text identifies the following elements: keywords, the names of independently compiled external functions and files, syntax summaries, and references to variables or identifiers introduced in an example.
|Case-sensitivity||OpenVMS operating system commands do not differentiate between uppercase and lowercase. However, many DCE commands do make this distinction. In particular, the system configuration utility interprets names in a case-sensitive manner.|
Distributed computing services, as implemented in the Digital Distributed Computing Environment (DCE), provide an important enabling software technology for the development of distributed applications. DCE makes the underlying network architecture transparent to application developers. It consists of a software layer between the operating system/network interface and the distributed application program. It provides a variety of common services needed for development of distributed applications, such as name and time services, and a standard remote procedure call interface.
Digital DCE for OpenVMS VAX and OpenVMS Alpha provides a means for
application developers to design, develop, and deploy distributed
applications. This release supports both the OpenVMS VAX and OpenVMS
Alpha operating systems.
1.1 Kit Contents
Digital DCE for OpenVMS VAX and OpenVMS Alpha consists of the following distributed computing technologies:
Digital DCE for OpenVMS has four kits available:
Note that the right to use the Runtime Services Kit is included as part of the OpenVMS license. The other kits each require a separate license. You must install a kit on each system that will use DCE services.
The following sections list the contents of each of these kits.
1.2.1 Runtime Services Kit
The Runtime Services provide the basic services required for DCE applications to function. The Runtime Services Kit contains the following:
The Application Developer's Kit is used by developers to build DCE applications. The Application Developer's Kit contains the following:
The CDS Server kit provides the naming services necessary for DCE clients to locate DCE server applications. The CDS Server kit includes the following:
The Security Server kit provides the security services necessary for authenticated RPC calls between DCE client and server applications to function. The kit includes the following:
Digital DCE is supported on OpenVMS VAX Version 7.2 or higher and on OpenVMS Alpha Version 1.5 and Version 6.1 or higher.
This version of Digital DCE provides RPC communications over the following network protocols:
Digital DCE provides online help for both the management of DCE services and the development of distributed applications. This DCL help is organized to maintain the reference page categories established in the OSF DCE documentation and online reference pages. These categories are user commands (1), application development support (3), driver and networking support (7), and administrative support (8).
To access the DCE reference information, use the HELP command. You can get extensive help on the following DCE top-level topics:
DCE_CDS DCE_DTS DCE_IDL DCE_INTRO DCE_RPC DCE_SECURITY DCE_THREADS
For example, to get help on DTS, enter the following command:
$ HELP DCE_DTS
Digital DCE Version 1.5 for OpenVMS VAX and OpenVMS Alpha does not provide all the functions of the full OSF DCE that will be available at a later date. The following components are not included in this DCE product; however, the full OSF documentation is included.
The threads interface is an important part of the architecture for DCE, and the DCE services rely on it. DECthreads is provided as part of the OpenVMS VAX and OpenVMS Alpha operating systems. (Note that if you have OpenVMS VAX Version 5.5-2, you may be asked to install a special kit.)
Refer to the Guide to DECthreads in the OpenVMS operating
system's documentation set for information about threads.
1.7 Using RPC Without CDS or Security
To use RPC only, you begin a configuration as follows:
$ @SYS$MANAGER:DCE$SETUP.COM CONFIGURE or $ @SYS$MANAGER:DCE$RPC_STARTUP
The DCE Configuration Menu is displayed. From this menu, choose the RPC_Only option. This option lets you use DCE RPC without a DCE cell. This option requires applications to use string bindings instead of the name service to find servers.
To communicate with an RPC server, an RPC client needs the server binding information. The server binding information includes the protocol sequences that the RPC server supports and the location (node name or node address) of the RPC server. When the RPC server is started, it registers its endpoints with the RPC daemon. It also exports the binding information to the name server if the name server exists. The RPC client then gets the binding information from the name server. When the name server is not available, the binding information must be provided to the RPC client through other mechanisms.
Users can incorporate in their RPC server code a mechanism for broadcasting the binding information on the network. However, this may not be a desired short-term solution. An easy workaround is for the users to pass the string binding to the RPC client and have the RPC client call the RPC routine to convert the string binding. In this case, the users who are running the RPC client need to know two things:
$ RUN SYS$SYSTEM:DCE$RPCCP RPCCP> SHOW MAPPING
See the remote_file example program for an example of using RPC without
CDS and DCE Security servers.
1.8 Unsupported Network Interfaces
DCE on OpenVMS supports the user deselection of network interfaces on each system in a DCE cell. Use the logical RPC_UNSUPPORTED_NETIFS which points to a list of network interfaces delimited by a colon (:) that you do not want to use.
The routine init_once which is called by RPC at initialization, parses
the list of network interfaces defined with the logical
RPC_UNSUPPORTED_NETIFS, and builds a global list of network interfaces
for deselection by RPC. Routines rpc_ip_desc_inq_addr() and
get_broadcast_addr() call the common routine enumerate_interfaces() to
obtain a list of valid IP addresses for use by RPC. The global list of
network interfaces created in init_once() is parsed to ignore the
1.9 Impersonating a Client
DCE V1.5 allows a server to impersonate a client. This means that the server may run with the security credentials of the client. The capabilities of the client belong to the server. Table 1-1 lists the APIs that have been added to support this functionality.
|rpc_impersonate_client(binding_handle, *status)||Called by the server to act as a client application with the appropriate rights granted to the server.|
|rpc_revert_to_self(*status)||Called by the server to revert back to its original security context after impersonating a client.|
|rpc_revert_to_self_ex(binding_handle, *status)||Called by the server to revert back to its original security context after impersonating the client.|
Digital DCE for OpenVMS VAX and OpenVMS Alpha provides the following value-added features to help users develop and deploy DCE applications:
The CDS Enhanced Browser contains additional functions beyond those
contained in the OSF DCE Browser. See the Enhanced Browser chapter for
1.10.2 CDS Subtree Commands
The Digital CDS subtree commands allow you to restructure your
namespace. See the chapter titled Using the CDS Subtree Commands to
Restructure CDS Directories for tutorial information on how to use
these commands. See the Digital DCE for OpenVMS VAX and OpenVMS
Alpha Reference Guide for the subtree command reference pages.
1.10.3 IDL Compiler Enhancements
The Digital DCE IDL compiler includes the following features beyond those documented in the OSF DCE documentation.
See Chapters 12 to 14 for more information about IDL.
1.10.4 The RPC Event Logger Utility
Compaq provides the RPC Event Logger, which records information about
operations relating to the execution of an application interface. See
the chapter titled Application Debugging with the RPC Event Logger for
1.10.5 Name Service Interface Daemon (nsid) for Microsoft RPC
Compaq provides the name service interface daemon (nsid), also known as the PC Nameserver Proxy Agent, to allow RPC communication with personal computers running the DCE-compatible Microsoft RPC. The nsid enables an RPC application on DOS, DOS Windows, and Windows NT to perform name-service operations that are available through RPC, as if the RPC applications on the PC are directly involved in the full CDS namespace.
For more information on using PCs with DCE, refer to Distributing Applications Across DCE and Windows NT.