DCE/RPC

From Wikipedia, the free encyclopedia

DCE/RPC stands for "Distributed Computing Environment / Remote Procedure Calls".

DCE/RPC is a Remote Procedure Call system that allows software to work across multiple computers, as if it were all working on the same computer. This system allows programmers to write distributed software without having to worry about the underlying network code.

Note that DCE/RPC should not be confused with the Distributed Computing Environment (DCE) as a whole; DCE includes, in addition to DCE/RPC, a suite of DCE/RPC services that provide, amongst other things, Cell Directory Services (CDS) and the DCE Distributed File System (DFS). It should also not be confused with RPC as a whole, as RPC refers to a wide range of different and often incompatible technologies such as ONC RPC and XML-RPC.

Contents

[edit] History

DCE/RPC was commissioned by the Open Software Foundation in a "Request for Technology". One of the key companies that contributed was Apollo Computer, 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. 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 modern RPC implementations such as SOAP.

[edit] Software License

Previously, the DCE source was only available under a traditional license. As of January 12, 2005, it is available under a recognized open source license (LGPL) 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 at: http://www.opengroup.org/dce/

http://www.opengroup.org/comm/press/05-01-12.htm

DCE/RPC's reference implementation (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 terms from the Open Group website: http://www.opengroup.org/dce/download/old_license.htm

[edit] Uses

It was used in the UK's National Insurance Recording System (NIRS/2) [1].

It is used in Pennsylvania State University's student information portal, eLion

It is used by the older version of HP Openview Operations for Unix/Windows Agents. HP Openview Operations is the largest selling systems and applications management product.

[edit] Alternate versions and implementations

FreeDCE is the DCE 1.1 reference implementation ported to Linux, supports 64-bit platforms, and is autoconf'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 http://support.entegrity.com/private/pcdce32.asp

Microsoft's version of DCE/RPC, called "MSRPC", is integrated into Windows NT. 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 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.

There also appears to be a DCE/RPC interoperable implementation in Java - http://jarapac.sourceforge.net/

[edit] Books

"DCE/RPC over SMB: Samba and Windows NT Domain Internals" by Luke Kenneth Casson Leighton ISBN 1578701503

[edit] References

  1. ^ The Open Group, CASE STUDY : NIRS2, Winter 1996

[edit] External links

Languages