From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 56091BC6B for ; Mon, 9 Jul 2007 13:47:47 +0200 (CEST) Received: from furbychan.cocan.org (furbychan.cocan.org [80.68.91.176]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l69Blkd8002249 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Mon, 9 Jul 2007 13:47:47 +0200 Received: from rich by furbychan.cocan.org with local (Exim 3.35 #1 (Debian)) id 1I7riL-0007CQ-00; Mon, 09 Jul 2007 12:47:37 +0100 Date: Mon, 9 Jul 2007 12:47:37 +0100 To: Jon Harrop Cc: caml-list@inria.fr Subject: Re: [Caml-list] RPCs, XML, Schemas, WSDL and SOAP Message-ID: <20070709114737.GG5689@furbychan.cocan.org> References: <200707061724.44910.jon@ffconsultancy.com> <20070706185741.GA30545@furbychan.cocan.org> <1183979448.7083.6.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1183979448.7083.6.camel@localhost.localdomain> User-Agent: Mutt/1.5.9i From: Richard Jones X-j-chkmail-Score: MSGID : 46922062.001 on concorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at concorde with ID 46922062.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; 0200,:01 gerd:01 stolpmann:01 ocamlnet:01 libc:01 o'reilly:01 wrote:01 wrote:01 glibc:01 caml-list:01 essentially:02 python:03 strong:96 strong:96 oreilly:03 On Mon, Jul 09, 2007 at 01:10:48PM +0200, Gerd Stolpmann wrote: > Am Freitag, den 06.07.2007, 19:57 +0100 schrieb Richard Jones: > > Have you looked into using SunRPC? ocamlnet provides an > > implementation, it can be run over SSL, it's far more lightweight than > > XML, and there's a strong chance you'll be able to interoperate with > > clients and servers written in other languages. > > It is not only a chance, it simply works. But be warned: My SunRPC > implementation is a very strong one, far better than what can be found > in libc. Unfortunately, many developers have prejudices against this > simple and robust protocol because of the weak (because old) C > implementation. Heh heh, tell me about it :-) XDR is a simple, lightweight, statically-typed protocol. SunRPC is a simple RPC protocol built on XDR. Unfortunately the glibc implementation of SunRPC sucks greatly. It is also essentially unmaintained. However there are alternatives (in C); for example TI-RPC. One "myth" of SunRPC is that it requires portmappers and UDP, which are slow, a pain to use, make tunnelling more difficult, and have well-known security vulnerabilities. In fact it is easy to run SunRPC over fixed TCP ports. If you are considering interoperating with C or Python, or want to use IPv6 or SSL, you might consider reading some pages I wrote on the subject: http://et.redhat.com/~rjones/secure_rpc/ http://et.redhat.com/~rjones/sunrpc_reconnection/ http://et.redhat.com/~rjones/xdr_tests/ and also see if you can pick up a second hand copy of this O'Reilly book: http://www.oreilly.com/catalog/rpc/ Rich. -- Richard Jones Red Hat