From kragen@dnaco.net Sun Aug  2 18:01:47 1998
Date: Sun, 2 Aug 1998 18:01:46 -0400 (EDT)
From: Kragen <kragen@dnaco.net>
To: clug-user@clug.org
Subject: CORBA & XML-RPC
Message-ID: <Pine.SUN.3.96.980802174951.21649p-100000@picard.dnaco.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Keywords:
X-UID: 980
Status: O
X-Status: 

Dave Winer <dave@scripting.com> is promoting something he calls XML-RPC
as a substitute for CORBA.  Basically, to invoke a procedure remotely,
you connect to an HTTP server at the place where you want to invoke the
procedure and send the procedure name and the contents of the
procedure's arguments in an XML document in the body of an HTTP POST
request.  The return value for the procedure is returned as an XML
document in the body of the HTTP reply.

It has some disadvantages compared to CORBA.  The primary disadvantage
is that it's slower (by several orders of magnitude, I should think).
It also doesn't address any of the other numerous issues CORBA does,
like lifetime, persistence, etc.

However, it has several advantages compared to CORBA:
- the specification document
	<URL:http://www.scripting.com/frontier5/xml/code/rpc.html> for
	XML-RPC is only about five pages long;
- it's easy to read and modify calls and returns without any spec or
software tools (other than "cat");
- it won't have trouble crossing firewalls;
- it's much easier to implement.

Dave wants to put a little baby HTTP server in every app, so that you
can easily invoke any procedure remotely, so you can use any scripting
language you want with any app, and you can write a single script which
controls several apps via RPC.  His Frontier scripting environment
already sports XML-RPC support.

I think PARC also created an RPC-over-HTTP mechanism, called
'HTTP-NG'.  I don't know much about it.

Kragen


