At the risk of rekindling the debate over the merits of CORBA to provide
connectivity with the non-Lisp world, I thought the pointers in the following
post might be useful. Cheers,
Philip
From: ·······@tango.cs.wustl.edu (Douglas C. Schmidt)
Subject: Re: Corba vs sockets?
Newsgroups: comp.object.corba,comp.soft-sys.ace
Date: 7 Mar 1999 09:38:20 -0600
Organization: Computer Science Department, Washington University.
Path: hgmp.mrc.ac.uk!pegasus.csx.cam.ac.uk!daresbury!server5.netnews.ja.net!nntp.news.xara.net!xara.net!news.maxwell.syr.edu!news-peer1.sprintlink.net!news-in-east1.sprintlink.net!news.sprintlink.net!news.mv.net!newspump.wustl.edu!newsreader.wustl.edu!tango.cs.wustl.edu!not-for-mail
Lines: 45
Message-ID: <·········@tango.cs.wustl.edu>
References: <············@birch.prod.itd.earthlink.net>
Xref: hgmp.mrc.ac.uk comp.object.corba:28315 comp.soft-sys.ace:13638
Hi Eric,
>> Did some Socket programming in Windows. Interested in CORBA. What
>> is the significant difference between the two?
Check out
http://www.cs.wustl.edu/~schmidt/COOTS-95.ps.gz
for a side-by-side comparison.
>> I know in Corba you have to select
>> a 3rd party vendor like Visigenics, etc. For programming the following
>> which is better.
>> 1. Client/server applications on an intranet.
>> 2. Client/server applciations on the intranet.
It all depends on what you're trying to do. In general, sockets are
extremely tedious, error-prone, and non-portable, so I recommend NEVER
programming to a socket API directly. Instead, use a wrapper facade
like ACE, for the reasons described in
http://www.cs.wustl.edu/~schmidt/wrapper-facade.ps.gz
http://www.cs.wustl.edu/~schmidt/IPC_SAP-92.ps.gz
However, if you're building applications, i.e., rather than a lot of
low-level systems software, then using CORBA will be much more
productive than using wrapper facades. Moreover, if you pick a good
ORB, the performance difference between sockets and CORBA will be
negligible for most use-cases.
>> Trying to see if it is even better to do CORBA knowing sockets.
Naturally, it's a "Good Thing"[TM] to know both, but if you're
building applications it's ultimately going to be more useful to use
middleware like CORBA rather than programming in sockets.
Take care,
Doug
--
Dr. Douglas C. Schmidt, Associate Professor
Department of Computer Science, Washington University
St. Louis, MO 63130. Work #: (314) 935-4215; FAX #: (314) 935-7302
·······@cs.wustl.edu, www.cs.wustl.edu/~schmidt/
--
No electrons were harmed during the composition or transfer of this message
-----------------------------------------------------------------------------
Philip Lijnzaad, ········@ebi.ac.uk | European Bioinformatics Institute
+44 (0)1223 49 4639 | Wellcome Trust Genome Campus, Hinxton
+44 (0)1223 49 4468 (fax) | Cambridgeshire CB10 1SD, GREAT BRITAIN
PGP fingerprint: E1 03 BF 80 94 61 B6 FC 50 3D 1F 64 40 75 FB 53
Hello Douglas, you said:
> It all depends on what you're trying to do. In general, sockets are
> extremely tedious, error-prone, and non-portable, so I recommend NEVER
> programming to a socket API directly. Instead, use a wrapper facade
> like ACE, for the reasons described in
I mostly agree with you. I had to make a difficult decision a few months
ago
when I started writing a "AI programming on Linux" book. I am covering a
wide variety of languages that are available on Linux, and I wanted to
make sure that I also covered distributed programming techniques for each
covered language. I spent quite a bit of time looking at ORBs available for
Linux, and I could not find anything that I thought would be easy enough
for readers to set up for each language/programming environment (or that
had bindings for Scheme, LISP, Prolog, and Smalltalk).
In the end, I settled on providing socket examples for each language.
Best regards,
Mark
Mark Watson, interests: AI, Java, etc. (www.markwatson.com)
"I see two dimensions as being critical: (1) the fact that
brains possess concepts, allowing complex representational
structures to be built that automatically come with associative
links to all prior experiences, and (2) the fact that brains can
self-monitor, allowing a complex internal self-model to arise...",
Douglas Hofstadter, 1995.