From: Philip Lijnzaad
Subject: CORBA vs. sockets
Date: 
Message-ID: <u71zj0i0gu.fsf@ebi.ac.uk>
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
From: Mark Watson
Subject: Re: CORBA vs. sockets
Date: 
Message-ID: <6ISE2.19116$YV6.9627@news2.giganews.com>
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.