W3C home > Mailing lists > Public > xml-dist-app@w3.org > January 2001

The difference between RPCs and data query

From: Ken MacLeod <ken@bitsko.slc.ut.us>
Date: 09 Jan 2001 09:58:54 -0600
To: <xml-dist-app@w3.org>
Message-ID: <x71yucra2p.fsf_-_@bitsko.slc.ut.us>
This discussion *has* come up several times before, so it's good to
get back to basics of the differences in semantics.

The general comparison is between RPCs (as used in SOAP, XML-RPC, DCE
RPCs, CORBA, and COM) and data query mechanisms (as used in Jini, SQL,
Linda/TupleSpaces, and the Web in general, via HTTP mostly).

RPCs focus on exposing "interfaces" or APIs.  Data query focuses on
data.  The two overlap in many cases, RPCs can transfer complex data,
and data query systems can respond to and initiate actions.

RPCs tend to be "procedural", for each API someone writes a bit of
code to implement them.  Data query tends to be "functional", the data
model and constraints are defined in a schema, and access is made
through one piece of code (via an API, no less).

RPC APIs are different for every application type.  Data schemas are
different for every schema to be modeled.

The disagreements generally center around which:

 * is easier or more natural for developers to write code for.

 * scales to Internet usage better.

 * inherently favors the originator of the API or schema more.

 * is easier to provide security for or more inherently secure.

 * has more infrastructure or mindshare in place already.

 * integrate more easily or reuses more code.

Another consideration is the difference in priorities of these issues
between desktop/LAN applications and intra/Internet applications.

  -- Ken
Received on Tuesday, 9 January 2001 10:59:00 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:58 GMT