GWT Tutorial 2.0 - Remote Procedure Calls (RPC) with GWT

Channel: GWTLecturer   |   2012/12/29
Play Video
1
GWT Tutorial 2.0 - Remote Procedure Calls (RPC) with GWT
GWT Tutorial 2.0 - Remote Procedure Calls (RPC) with GWT
::2012/12/29::
Play Video
2
Remote procedure call
Remote procedure call
::2011/05/19::
Play Video
3
Mythbusting Remote Procedure Calls - Steve Vinoski
Mythbusting Remote Procedure Calls - Steve Vinoski
::2013/04/03::
Play Video
4
Remote Procedure Call   Wiki Article
Remote Procedure Call Wiki Article
::2013/11/02::
Play Video
5
Unity3D Networking 5: RPC (Remote Procedure Call)
Unity3D Networking 5: RPC (Remote Procedure Call)
::2013/11/24::
Play Video
6
RAMCloud: Remote Procedure Call Architecture
RAMCloud: Remote Procedure Call Architecture
::2014/01/21::
Play Video
7
RPC Remote Procedure Call
RPC Remote Procedure Call
::2012/01/28::
Play Video
8
GWT Tutorial 2.2 - Remote Procedure Calls (RPC) with Complex Datatypes - Part 2
GWT Tutorial 2.2 - Remote Procedure Calls (RPC) with Complex Datatypes - Part 2
::2013/09/03::
Play Video
9
30 Introduction to Distribution Systems
30 Introduction to Distribution Systems
::2013/04/12::
Play Video
10
How to fix the RPC server Unavailable Error (Windows 7)
How to fix the RPC server Unavailable Error (Windows 7)
::2011/03/03::
Play Video
11
Implementação Remote Procedure Call (RPC) no Linux Ubuntu 13.10
Implementação Remote Procedure Call (RPC) no Linux Ubuntu 13.10
::2014/03/21::
Play Video
12
Flex in a Week :: v2 06 Remote Procedure CAll
Flex in a Week :: v2 06 Remote Procedure CAll
::2012/10/10::
Play Video
13
Voices That Matter: GWT - Remote Procedure Calls
Voices That Matter: GWT - Remote Procedure Calls
::2007/12/28::
Play Video
14
aula 3829 gwt - RPC Remote Procedure Call - Chamada de Procedimento Remoto.avi
aula 3829 gwt - RPC Remote Procedure Call - Chamada de Procedimento Remoto.avi
::2011/10/13::
Play Video
15
MSRPC Exploit  Microsoft Remote Procedure Call (mrbrunohacked)
MSRPC Exploit Microsoft Remote Procedure Call (mrbrunohacked)
::2010/06/29::
Play Video
16
aula 3830 gwt   Novo Projeto RPC Remote Procedure Call
aula 3830 gwt Novo Projeto RPC Remote Procedure Call
::2013/01/07::
Play Video
17
GWT Tutorial 2.1 - Remote Procedure (RPC) Calls with Complex Datatypes
GWT Tutorial 2.1 - Remote Procedure (RPC) Calls with Complex Datatypes
::2013/03/09::
Play Video
18
rpc programming with rpcgen in c part1
rpc programming with rpcgen in c part1
::2013/12/07::
Play Video
19
Remote Procedure Call (RPC W32) - MSF MS08-067 Stack Buffer Overflow Vulnerability
Remote Procedure Call (RPC W32) - MSF MS08-067 Stack Buffer Overflow Vulnerability
::2011/05/31::
Play Video
20
RPC Remote Procedure Call S.O
RPC Remote Procedure Call S.O
::2012/05/31::
Play Video
21
22 Erlang - Distributed Programs - RPC
22 Erlang - Distributed Programs - RPC
::2013/06/25::
Play Video
22
Remote proceure call rpc locator
Remote proceure call rpc locator
::2014/04/14::
Play Video
23
Java web service application development with JAX RPC API in CONTRACT LAST approach.
Java web service application development with JAX RPC API in CONTRACT LAST approach.
::2013/04/21::
Play Video
24
How To Reset/Fix Windows Store
How To Reset/Fix Windows Store
::2013/03/22::
Play Video
25
Part 1 of 3: Simple Java RMI Tutorial
Part 1 of 3: Simple Java RMI Tutorial
::2009/10/19::
Play Video
26
Watch Me Color Yuno [Friends RPC]
Watch Me Color Yuno [Friends RPC]
::2014/02/25::
Play Video
27
Patch Tuesday Security Briefing   December 2013
Patch Tuesday Security Briefing December 2013
::2013/12/10::
Play Video
28
Bonds of freinds (Naruto RPC)
Bonds of freinds (Naruto RPC)
::2013/09/18::
Play Video
29
Tokeo - Rpc [edit]
Tokeo - Rpc [edit]
::2013/06/21::
Play Video
30
~RPC
~RPC's COLOR~ Ma Schatzi Bubu's Mains THX FOR 150 Sub's! c:
::2014/02/13::
Play Video
31
Lets Paint RPC Coloring Fuyuname
Lets Paint RPC Coloring Fuyuname
::2014/02/23::
Play Video
32
Macys.com RPC
Macys.com RPC
::2013/07/11::
Play Video
33
RPC - Chamada de Procedimento Remoto
RPC - Chamada de Procedimento Remoto
::2010/04/24::
Play Video
34
Tutorial RPCGEN en Ubuntu
Tutorial RPCGEN en Ubuntu
::2009/02/25::
Play Video
35
Rpc Edit part 2
Rpc Edit part 2
::2013/07/14::
Play Video
36
RPC
RPC's of before and after
::2010/03/21::
Play Video
37
u gotta watch it to know what it is! XD
u gotta watch it to know what it is! XD
::2008/09/06::
Play Video
38
Metasploit Back |Track 5 RPC DCOM Windows Server 2003
Metasploit Back |Track 5 RPC DCOM Windows Server 2003
::2011/06/19::
Play Video
39
How-to install ubuntu 13.10 server + static ip + NFS (network file system) server  and client config
How-to install ubuntu 13.10 server + static ip + NFS (network file system) server and client config
::2013/12/21::
Play Video
40
Rpc couple contest results!!!XD
Rpc couple contest results!!!XD
::2009/01/10::
Play Video
41
The Final Demonstration of the Xerox
The Final Demonstration of the Xerox 'Star' computer
::2013/10/23::
Play Video
42
Apache Etch: Efficient and feature-rich network services
Apache Etch: Efficient and feature-rich network services
::2011/02/15::
Play Video
43
RPC Girls :edit:
RPC Girls :edit:
::2013/08/19::
Play Video
44
Why NETCONF ?
Why NETCONF ?
::2013/04/22::
Play Video
45
Coloring Nero Zerio Yoshida (new RPC)
Coloring Nero Zerio Yoshida (new RPC)
::2013/10/01::
Play Video
46
How to reinstall or fix explorer.exe for windows xp, vista and windows 7
How to reinstall or fix explorer.exe for windows xp, vista and windows 7
::2010/02/19::
Play Video
47
FMRPC Let the Server Do the Work
FMRPC Let the Server Do the Work
::2013/06/12::
Play Video
48
How to fix Explorer.exe 100% working tutorial (stopped working,not responding) for windows 7
How to fix Explorer.exe 100% working tutorial (stopped working,not responding) for windows 7
::2012/03/30::
Play Video
49
hacking windows xp using rpc dcom vulnerability
hacking windows xp using rpc dcom vulnerability
::2013/01/20::
Play Video
50
Distributed OSGi in the Eclipse Runtime Project
Distributed OSGi in the Eclipse Runtime Project
::2009/09/03::
NEXT >>
RESULTS [51 .. 101]
From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer science, a remote procedure call (RPC) is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction.[1] That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. When the software in question uses object-oriented principles, RPC is called remote invocation or remote method invocation.

Many different (often incompatible) technologies have been used to implement the concept.

History and origins[edit]

The idea of treating network operations as remote procedure calls goes back at least to the 1980s in early ARPANET documents.[2] Bruce Jay Nelson is generally credited with coining the term.[3][4][5] One of the first business uses of RPC was by Xerox under the name "Courier" in 1981. The first popular implementation of RPC on Unix was Sun's RPC (now called ONC RPC), used as the basis for Network File System.

Message passing[edit]

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. 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. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols.

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.

Sequence of events during an RPC[edit]

  1. The client calls the client stub. The call is a local procedure call, with parameters pushed on to the stack in the normal way.
  2. The client stub packs the parameters into a message and makes a system call to send the message. Packing the parameters is called marshalling.
  3. The client's local operating system sends the message from the client machine to the server machine.
  4. The local operating system on the server machine passes the incoming packets to the server stub.
  5. The server stub unpacks the parameters from the message. Unpacking the parameters is called unmarshalling.
  6. Finally, the server stub calls the server procedure. The reply traces the same steps in the reverse direction.

Standard contact mechanisms[edit]

To let different clients access servers, a number of standardized RPC systems have been created. Most of these use an interface description language (IDL) to let various platforms call the RPC. The IDL files can then be used to generate code to interface between the client and server. The most common tool used for this is RPCGEN [citation needed].

Other RPC analogues[edit]

The RPC paradigm was invented by Sun Microsystems with their implementation, now known as the Open Network Computing Remote Procedure Call. Other RPC analogues and implementations can now be found elsewhere:

  • Java's Java Remote Method Invocation (Java RMI) API provides similar functionality to standard Unix RPC methods.
  • SORCER provides the API and exertion-oriented language (EOL) for a federated method invocation
  • Modula-3's network objects, which were the basis for Java's RMI[6]
  • XML-RPC is an RPC protocol that uses XML to encode its calls and HTTP as a transport mechanism.
  • JSON-RPC is an RPC protocol that uses JSON-encoded messages
  • JSON-WSP is an RPC protocol that uses JSON-encoded messages
  • SOAP is a successor of XML-RPC and also uses XML to encode its HTTP-based calls.
  • RPyC implements RPC mechanisms in Python, with support for asynchronous calls.
  • Spyne defines primitives for doing RPC in Python. It also contains implementations of some of the most popular protocols and transports.[7]
  • Pyro object-oriented form of RPC for Python.
  • ZeroC's Internet Communications Engine (Ice) distributed computing platform.
  • Etch framework for building network services.
  • Facebook's Thrift protocol and framework.
  • BERT-RPC is an RPC protocol in use by Github [8][9]
  • CORBA provides remote procedure invocation through an intermediate layer called the object request broker.
  • Distributed Ruby (DRb) allows Ruby programs to communicate with each other on the same machine or over a network. DRb uses remote method invocation (RMI) to pass commands and data between processes.
  • Action Message Format (AMF) allows Adobe Flex applications to communicate with back-ends or other applications that support AMF.
  • Libevent provides a framework for creating RPC servers and clients.[10]
  • Windows Communication Foundation is an application programming interface in the .NET framework for building connected, service-oriented applications.
  • Microsoft .NET Remoting offers RPC facilities for distributed systems implemented on the Windows platform. It has been superseded by WCF.
  • The Microsoft DCOM uses MSRPC which is based on DCE/RPC
  • The Open Software Foundation DCE/RPC Distributed Computing Environment (also implemented by Microsoft).
  • Google Protocol Buffers (protobufs) package includes an interface definition language used for its RPC protocols.[11]
  • Google Web Toolkit uses an asynchronous RPC to communicate the server service.[12]
  • Apache Avro provides RPC where client and server exchange schemas in the connection handshake and code generation is not required.
  • Spike-Engine provides cross platform RPC facilities for .NET framework, web and mobile architectures with auto-generated stubs.
  • Twitter Finagle is a network stack for the JVM that you can use to build asynchronous Remote Procedure Call (RPC) clients and servers in Java, Scala, or any JVM-hosted language.
  • SAP RFC (Remote Function Call) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.

Web[edit]

See also[edit]

Notes[edit]

  1. ^ Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Introduction to Distributed Systems, Arpaci-Dusseau Books 
  2. ^ Anand M. White (December 23, 1975). "A High-Level Framework for Network-Based Resource Sharing". RFC 707. Augmentation Research Center. Retrieved July 11, 2011. 
  3. ^ "1994 – Andrew Birrell, Bruce Nelson: Remote Procedure Call". Software System Award citation. Association for Computing Machinery. Retrieved July 11, 2011. 
  4. ^ "SIGOPS Hall of Fame Award". Special Interest Group on Operating Systems. Association for Computing Machinery. Retrieved July 11, 2011. 
  5. ^ Bruce Jay Nelson (May 1981). "Remote Procedure Call". PARC CSL-81-9 (Also CMU-CS-81-119) (Xerox Palo Alto Research Center).  PhD thesis.
  6. ^ The A-Z of Programming Languages: Modula-3 - a-z of programming languages. Computerworld. Retrieved on 2013-07-17.
  7. ^ "Spyne". Spyne Website. Retrieved Feb 1, 2013. 
  8. ^ "Introducing bert and bert rpc". Github blog. Retrieved July 17, 2012. 
  9. ^ "How we made github fast". Github blog. Retrieved July 17, 2012. 
  10. ^ libevent: Main Page. Monkey.org. Retrieved on 2013-07-17.
  11. ^ "Protocol Buffers - Google's data interchange format". Google project website. Retrieved November 1, 2011. 
  12. ^ "Google Web Toolkit". Google project website. Retrieved November 1, 2011. 

References[edit]

  • Birrell, A. D.; Nelson, B. J. (1984). "Implementing remote procedure calls". ACM Transactions on Computer Systems 2: 39. doi:10.1145/2080.357392.  edit
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

External links[edit]

Wikipedia content is licensed under the GFDL License

Mashpedia enables any individual or company to promote their own Youtube-hosted videos or Youtube Channels, offering a simple and effective plan to get them in front of our engaged audience.

Want to learn more? Please contact us at: hello@mashpedia.com

Powered by YouTube
LEGAL
  • Mashpedia © 2014