DCE/RPC
   HOME

TheInfoList



OR:

DCE/RPC, short for "Distributed Computing Environment / Remote Procedure Calls", is the
remote procedure call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure ( subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal ( ...
system developed for the
Distributed Computing Environment In computing, the Distributed Computing Environment (DCE) software system was developed in the early 1990s from the work of the Open Software Foundation (OSF), a consortium (founded in 1988) that included Apollo Computer (part of Hewlett-Packard fr ...
(DCE). This system allows programmers to write distributed software as if it were all working on the same computer, without having to worry about the underlying network code.


History

DCE/RPC was commissioned by the
Open Software Foundation The Open Software Foundation (OSF) was a not-for-profit industry consortium for creating an open standard for an implementation of the operating system Unix. It was formed in 1988 and merged with X/Open in 1996, to become The Open Group. Despit ...
in a "Request for Technology" (1993 David Chappell). One of the key companies that contributed was
Apollo Computer Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo ...
, who brought in NCA - "Network Computing Architecture" which became Network Computing System (NCS) and then a major part of DCE/RPC itself. The naming convention for transports that can be designed (as architectural plugins) and then made available to DCE/RPC echoes these origins, e.g. ncacn_np ( SMB Named Pipes transport); ncacn_tcp (DCE/RPC over TCP/IP) and ncacn_http to name a small number. DCE/RPC's history is such that it's sometimes cited as an example of
design by committee Design by committee is a pejorative term for a project that has many designers involved but no unifying plan or vision. Usage of the term The term is used to refer to suboptimal traits that such a process may produce as a result of having to compr ...
. It is also frequently noted for its complexity, however this complexity is often a result of features that target large distributed systems and which are often unmatched by more recent RPC implementations such as
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
.


Software license

Previously, the DCE source was only available under a proprietary license. As of January 12, 2005, it is available under a recognized open source license ( LGPL), which permits a broader community to work on the source to expand its features and keep it current. The source may be downloaded over the web. The release consists of about 100 ".tar.gz" files that take up 170 Megabytes. (Note that they include the PostScript of all the documentation, for example.) The Open Group has stated it will work with the DCE community to make DCE available to the open source development community, as well as continuing to offer the source through The Open Group’s web site. DCE/RPC's
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation o ...
(version 1.1) was previously available under the BSD-compatible (Free Software) OSF/1.0 license, and is still available for at least Solaris, AIX and VMS. DCE is also still available under the previous non
open-source license An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial compa ...
terms from the Open Group website.


Uses

It was used in the UK's National Insurance Recording System (NIRS/2).
The Open Group The Open Group is a global consortium that seeks to "enable the achievement of business objectives" by developing "open, vendor-neutral technology standards and certifications." It has over 840 member organizations and provides a number of servi ...

CASE STUDY : NIRS2
, Winter 1996
It is used by: * Pennsylvania State University's student information portal, eLion * the older version of
HP OpenView HP OpenView is the former name for a Hewlett-Packard product family that consisted of network and systems management products. In 2007, HP OpenView was rebranded as HP BTO (''Business Technology Optimization'') Software when it became part of the ...
Operations for Unix/Windows Agents * Microsoft Exchange/Outlook ( MAPI/RPC) * Call of Duty: Modern Warfare 2 for Multiplayer lobbies, making small clouds to decide on a host or lobby migration.


Alternate versions and implementations

* FreeDCE is the DCE 1.1 reference implementation ported to Linux, supports
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit CPUs and ALUs are those that are based on processor registers, address buses, or data buses of that size. A compu ...
platforms, and is
autoconf GNU Autoconf is a tool for producing configure scripts for building, installing, and packaging software on computer systems where a Bourne shell is available. Autoconf is agnostic about the programming languages used, but it is often used for ...
'd to make porting to further platforms much easier: a Win32 port is underway. * Entegrity Solutions licensed the OSF's entire DCE 1.2.2 source code and ported it to Win32, creating a product called PC/DCE - see https://web.archive.org/web/20060106153229/http://support.entegrity.com/private/pcdce32.asp * Microsoft's version of DCE/RPC, called "
MSRPC Microsoft RPC (Microsoft Remote Procedure Call) is a modified version of DCE/RPC. Additions include partial support for UCS-2 (but not Unicode) strings, implicit handles, and complex calculations in the variable-length string and structure paradig ...
", is integrated into
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
. MSRPC is derived from the DCE 1.1 reference implementation. * Samba contains an implementation of MSRPC that is intended to be network-interoperable and IDL-interoperable with MSRPC. It is not binary-interoperable with MSRPC. * The
Wine Wine is an alcoholic drink typically made from fermented grapes. Yeast consumes the sugar in the grapes and converts it to ethanol and carbon dioxide, releasing heat in the process. Different varieties of grapes and strains of yeasts are m ...
Project contains an implementation of MSRPC that is intended to be binary-interoperable and IDL-interoperable with MSRPC. It is not network-interoperable with MSRPC. * In 2008, Likewise Software released an implementation of the DCE 1.1 reference. * J-Interop is a working MSRPC implementation in Java. This library can be used on any Non-Windows platform and without using Java Native Interface (JNI) to provide COM access. It is currently used by
OpenNMS OpenNMS is a free and open-source enterprise grade network monitoring and network management platform. It is developed and supported by a community of users and developers and by the OpenNMS Group, offering commercial services, training and suppo ...
for retrieving WMI data for system monitoring.
Jarapac
- DCE/RPC in Java


Books

*


References


External links


DCE RPC 1.1 Specification

DCE/RPC 1.2.2 source from The Open Group, released under the LGPL


{{DEFAULTSORT:DCE RPC Network protocols Remote procedure call