From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA20442; Tue, 24 Jul 2001 23:16:15 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id XAA20437 for ; Tue, 24 Jul 2001 23:16:14 +0200 (MET DST) Received: from moutvdom00.kundenserver.de (moutvdom00.kundenserver.de [195.20.224.149]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f6OLGEb21835 for ; Tue, 24 Jul 2001 23:16:14 +0200 (MET DST) Received: from [195.20.224.208] (helo=mrvdom01.schlund.de) by moutvdom00.kundenserver.de with esmtp (Exim 2.12 #2) id 15P9XJ-0008EJ-00 for caml-list@inria.fr; Tue, 24 Jul 2001 23:16:13 +0200 Received: from drms-3e364b9d.pool.mediaways.net ([62.54.75.157] helo=ice.gerd-stolpmann.de) by mrvdom01.schlund.de with esmtp (Exim 2.12 #2) id 15P9XJ-0007Tk-00 for caml-list@inria.fr; Tue, 24 Jul 2001 23:16:13 +0200 Received: from localhost (localhost [[UNIX: localhost]]) by ice.gerd-stolpmann.de (8.9.3/8.9.3) id XAA31204 for caml-list@inria.fr; Tue, 24 Jul 2001 23:16:06 +0200 From: Gerd Stolpmann Reply-To: info@gerd-stolpmann.de Organization: privat To: Subject: Re: [Caml-list] Ensemble (English sense) Date: Tue, 24 Jul 2001 23:11:44 +0200 X-Mailer: KMail [version 1.0.28] Content-Type: text/plain References: In-Reply-To: MIME-Version: 1.0 Message-Id: <0107242310341J.00523@ice> Content-Transfer-Encoding: 8bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Tue, 24 Jul 2001, Aaron Roth wrote: >Hi, all. I'm thinking of developing a client-server application using >O'Caml. The choices at this point seem to be CORBA (through C) or SOAP, both >of which would entail quite a bit of work to use in O'Caml, I think. But >looking around yesterday, I came across Ensemble, from Cornell, which seems >like an excellent framework for all manner of network programming, including >client-server. But checking through the Ensemble CVS logs, it doesn't seem >that the code's been touched in nearly 2 years. Does this mean that it's >reached a state of perfection or of total disuse? Is anyone out there using >Ensemble for large-scale (say, > 500 clients) applications? Will anyone >argue for or against it vis-a-vis CORBA or SOAP? Broadly, my requirements >are to run that many clients with some decent security, possibly involving a >3rd party VPN solution but preferably with (at least some aspects of) >security integrated right into the networking code (e.g. CORBA/SSL, SOAP >over HTTPS). And the servers would be some flavor of UNIX, so no DCOM (as >far as I know). Particularly appealing about Ensemble is the possibility of >later adding more peer-to-peer style messaging between clients in a part of >the application separate from the client-server part. Thank you for your >thoughts. There is a fourth alternative: Some times ago, I've written a Sun RPC module in O'caml. It includes an rpcgen tool, and is quite simple to use. Unlike other RPC implementations, it is event-driven, and can handle multiple connections at the same time. Both servers and clients can do this, and an application can be server and client, so peer-to-peer messages are possible. However, I don't know if it is able to handle >500 connections. This will be a problem if the connections are TCP-based, because you will have Unix.select with >500 file descriptors. This may be a performance bottleneck. In this case, I would recommend UDP which is possible, too. The RPC module does not include any security. You could either add some code to encrypt the messages yourself (I could give you some hints), or you could connect it with a VPN. The advantage of using Sun RPC is that it is possible to have mixed-language solutions. You can access the services from C, and from every other language that has a foreign function interface. Furthermore, it is a lightweight protocol that transfers data in a very compact manner. You can find it at: http://www.ocaml-programming.de/packages/documentation/rpc/ Gerd -- ---------------------------------------------------------------------------- Gerd Stolpmann Telefon: +49 6151 997705 (privat) Viktoriastr. 45 64293 Darmstadt EMail: gerd@gerd-stolpmann.de Germany ---------------------------------------------------------------------------- ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr