caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: <caml-list@inria.fr>
Subject: Re: [Caml-list] Ensemble (English sense)
Date: Tue, 24 Jul 2001 23:11:44 +0200	[thread overview]
Message-ID: <0107242310341J.00523@ice> (raw)
In-Reply-To: <NFBBKJOJKKJOAHGCPIBPKEOPCBAA.aaron.roth@lexys.com>

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


  reply	other threads:[~2001-07-24 21:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-24 14:32 Aaron Roth
2001-07-24 21:11 ` Gerd Stolpmann [this message]
2001-07-25 15:11 Ohad Rodeh
2001-07-26 16:36 ` md5i

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0107242310341J.00523@ice \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).