Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Message passing
An RPC is initiated by the client, which sends a request message to a known remote server to execute a specified procedure with supplied parameters. The remote server sends a response to the client, and the application continues its process. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols. While the server is processing the call, the client is blocked (it waits until the server has finished processing before resuming execution), unless the client sends an asynchronous request to the server, such as an XHTTP call. An important difference between remote procedure calls and local calls is that remote calls can fail because of unpredictable network problems. Also, callers generally must deal with such failures without knowing whether the remote procedure was actually invoked. Idempotent procedures (those that have no additional effects if called more than once) are easily handled, but enough difficulties remain that code to call remote procedures is often confined to carefully written low-level subsystems.
Web
Further information: Web service#Styles of use
References
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
[1] James E. White (December 23, 1975). "A High-Level Framework for Network-Based Resource Sharing" (http:/ / tools. ietf. org/ html/ rfc707). RFC 707. Augmentation Research Center. . Retrieved July 11, 2011. [2] "1994 Andrew Birrell, Bruce Nelson: Remote Procedure Call" (http:/ / awards. acm. org/ citation. cfm?id=5125494& srt=all& aw=149& ao=SOFTWSYS& yr=1994). Software System Award citation. Association for Computing Machinery. . Retrieved July 11, 2011. [3] "SIGOPS Hall of Fame Award" (http:/ / www. sigops. org/ award-hof. html). Special Interest Group on Operating Systems. Association for Computing Machinery. . Retrieved July 11, 2011. [4] Bruce Jay Nelson (May 1981). Remote Procedure Call. Xerox Palo Alto Research Center. PhD thesis. [5] http:/ / www. computerworld. com. au/ index. php/ id;1422447371;pp;3;fp;4194304;fpid;1 [6] http:/ / www. monkey. org/ ~provos/ libevent/ doxygen-1. 4. 10/
Further reading
Birrell, A. D.; Nelson, B. J. (1984). "Implementing remote procedure calls". ACM Transactions on Computer Systems 2: 39. doi:10.1145/2080.357392.
External links
RFC 1057 - Specifies version 1 of ONC RPC RFC 5531 - Specifies version 2 of ONC RPC Remote Procedure Calls (RPC) (http://www.cs.cf.ac.uk/Dave/C/node33.html) A tutorial on ONC RPC by Dr Dave Marshall of Cardiff University Introduction to RPC Programming (http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650& db=bks&srch=&fname=/SGI_Developer/IRIX_NetPG/sgi_html/ch04.html) A developer's introduction to RPC and XDR, from SGI IRIX documentation.
License
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/