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 GAA17007; Tue, 17 Sep 2002 06:57:33 +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 GAA16879 for ; Tue, 17 Sep 2002 06:57:32 +0200 (MET DST) Received: from dirty.research.bell-labs.com (dirty.research.bell-labs.com [204.178.16.6]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g8H4vV113481 for ; Tue, 17 Sep 2002 06:57:31 +0200 (MET DST) Received: from scummy.research.bell-labs.com (H-135-104-2-10.research.bell-labs.com [135.104.2.10]) by dirty.research.bell-labs.com (8.12.5/8.12.5) with ESMTP id g8H4vVhN008672 for ; Tue, 17 Sep 2002 00:57:31 -0400 (EDT) Received: from mcs.research.bell-labs.com (mcs.research.bell-labs.com [135.104.32.15]) by scummy.research.bell-labs.com (8.11.6/8.11.6) with ESMTP id g8H4vOk14588 for ; Tue, 17 Sep 2002 00:57:24 -0400 (EDT) Received: from SAHUGUETLT ([135.104.20.72]) by mcs.research.bell-labs.com (8.9.3/8.8.8) with SMTP id AAA2292078; Tue, 17 Sep 2002 00:57:23 -0400 (EDT) Message-ID: <016301c25e06$b67e7230$0b1919ac@bl.belllabs.com> From: "Arnaud SAHUGUET" To: Cc: Subject: [Caml-list] building web services using oCaml Date: Tue, 17 Sep 2002 00:56:43 -0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0160_01C25DE5.16D1B010" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk This is a multi-part message in MIME format. ------=_NextPart_000_0160_01C25DE5.16D1B010 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I am looking for ways to build web services using oCaml. (* this effort is part of the GALAX project at Bell-Labs. See = http://db.bell-labs.com/galax/ for more info. *) First I would like to point that out this includes two different = aspects: 1- building the web services themselves (e.g. putting a SOAP interface = on top of a database and spitting XML) This is the server side, if you will. 2- glueing together web services This is more the client side. For 1-, it is not clear to me that oCaml has a competitive edge compared = to other approaches, mainly because 1- requires a lot of "legacy" = libraries not necessarily available for oCaml. For 2-, however, the main components needed are an HTTP stack (HTTP, = TCP, SSL, etc.) and an XML stack (XML parser, etc.). And this is where a = functional language can really show its value. I was looking at: - ocamlNet - cgi and they support some aspects but not all that is needed like SSL, = cookies, etc. Are there other libraries that would do that for me? As a more general question, shouldn't we (meaning of "we" to be defined = :-) implement these stacks in oCaml? Is there any value in doing it (except for the experience and fun of = doing it)?=20 Is there any advantage in having the stack (and whatever is underneath) = available as oCaml constructs? These protocols are complex and keep evolving. Taking a reference = implementation (like libwww which is complete, maintained, supported and = updated) and adding oCaml wrapper on top would make more sense to me. = Our value added would be in the design of a nice API on top. I am not saying that this should be done for everything, but when there = is no (or little) value in having the low-level implementation details = available as oCaml constructs, this is -- from my point of view -- the = way to go. I would like to raise the same question for XML libraries where = namespaces, entity resolution, XML schemas (and God knows what they are = going to invent) need to be supported. Should everything be done in = oCaml? What is the value of having the low-level implementation details = of XML trees available as oCaml objects? As mentioned on various previous postings, the oCaml community is = smaller than the Perl or Python ones. We need to be smarter and nimbler = in our efforts. regards, Arnaud ------=_NextPart_000_0160_01C25DE5.16D1B010 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
I am looking for ways to build web = services using=20 oCaml.
(* this effort is part of the GALAX = project at=20 Bell-Labs. See http://db.bell-labs.com/galax/ for=20 more info. *)
 
First I would like to point that out = this includes=20 two different aspects:
 
1- building the web services themselves = (e.g.=20 putting a SOAP interface on top of a database and spitting = XML)
This is the server side, if you = will.
 
2- glueing together web = services
This is more the client = side.
 
For 1-, it is not clear to me that = oCaml has a=20 competitive edge compared to other approaches, mainly because 1- = requires a lot=20 of "legacy" libraries not necessarily available for oCaml.
For 2-, however, the main components = needed are an=20 HTTP stack (HTTP, TCP, SSL, etc.) and an XML stack (XML parser, etc.). = And this=20 is where a functional language can really show its value.
 
I was looking at:
- ocamlNet
- cgi
and they support some aspects but not = all that is=20 needed like SSL, cookies, etc.
Are there other libraries that would do = that for=20 me?
 
As a more general question, shouldn't = we (meaning=20 of "we" to be defined :-) implement these stacks in oCaml?
Is there any value in doing it (except = for the=20 experience and fun of doing it)?
Is there any advantage in having the = stack (and=20 whatever is underneath) available as oCaml constructs?
 
These protocols are complex and keep=20 evolving. Taking a reference implementation (like libwww which is = complete,=20 maintained, supported and updated) and adding oCaml wrapper on top would = make=20 more sense to me. Our value added would be in the design of a nice API = on=20 top.
 
I am not saying that this should be = done for=20 everything, but when there is no (or little) value in having the = low-level=20 implementation details available as oCaml constructs, this is -- from my = point=20 of view -- the way to go.
 
I would like to raise the same question = for XML=20 libraries where namespaces, entity resolution, XML schemas (and God = knows what=20 they are going to invent) need to be supported. Should everything be = done in=20 oCaml? What is the value of having the low-level implementation details = of XML=20 trees available as oCaml objects?
 
As mentioned on various previous = postings, the=20 oCaml community is smaller than the Perl or Python ones. We need to be = smarter=20 and nimbler in our efforts.
 
regards,
 
Arnaud
 
------=_NextPart_000_0160_01C25DE5.16D1B010-- ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners