OSSP CVS Repository

ossp - Check-in [512]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 512
Date: 2001-Jun-19 17:50:10 (local)
2001-Jun-19 15:50:10 (UTC)
User:simons
Branch:
Comment: Added comments for the packages I evaluated: Spread, XML-RPC, RPC2, MRPC, LinuxDoors, ORBit, and TIRPC.
Tickets:
Inspections:
Files:
ossp-pkg/srpc/EVAL      1.3 -> 1.4     88 inserted, 51 deleted

ossp-pkg/srpc/EVAL 1.3 -> 1.4

--- EVAL 2001/06/12 13:17:00     1.3
+++ EVAL 2001/06/19 15:50:10     1.4
@@ -1,27 +1,92 @@
+                              Evaluation
+                              ==========
 
-Evaluation
-==========
+o Spread, http://www.spread.org/
+
+  Spread is a sophisticated framework for distributed computing. The
+  software itself is written in C and uses a design very similar to
+  SRPC's: It is split into a permanently running daemon and a link
+  library containing interface routines to that daemon to the
+  programmer. The daemon will maintain so called "groups", which
+  computers can join and leave. Furthermore the daemon provides group
+  communication services based on TCP, UDP or Multicast-UPD. Via this
+  communication services, the actual remote procedure calls are
+  implemented.
+
+  The software seems to be actively maintained, well-written and
+  documented, but unfortunately the following drawbacks kept us from
+  using it:
+
+    - Spread's license prohibits any commercial use.
+
+    - It is not possible for peers to communicate without the daemon.
+
+    - The API for the programmer is somewhat messy.
+
+
+o XML-RPC, http://www.xmlrpc.org/
+
+  XML-RPC is a standardized remote procedure call framework for which
+  several complying implementations exist. These implementations
+  provide support for the programming languages Perl, Python, Java,
+  C/C++, Lisp, PHP, Microsoft .NET, Tcl, Delphi, WebObjects and many
+  more. Remote procedure calls are encoded in a portable XML
+  representation and transferred via HTTP.
+
+  The software seems to be popular and many resources dealing with
+  XML-RPC exist, but for us the massive XML encoding overhead was too
+  much.
+
+
+o RPC2, http://www.coda.cs.cmu.edu/
+
+  This RPC mechanism is part of the CODA network file system, but it
+  can be used without the file system part. RPC2 consists of a link
+  library for the programmer and a stub generator, that will create
+  function descriptions, which the library can then use to call the
+  described function remotely. The whole approach is very clean and
+  minimalistic, but unfortunately, the code depends on liblwp -- a
+  user space threading library. While threading is certainly useful on
+  many occasions, we did not want to use a system that enforces
+  threading. In C++, for instance, the behavior of exceptions within a
+  thread are totally unspecified. Furthermore, user space threads do
+  not achieve the performance of kernel threads, nor are they
+  portable.
+
+
+o MRPC, http://www.tildeslash.org/mrpc.html
+
+  "Modular RPC" is a minimalistic remote procedure call mechanism
+  using a similar design as the original RPC: It consists of a code
+  generator that will encapsulate function definitions in such a way
+  that they can be called remotely with the functions provided in a
+  link library. The whole system is very lean and efficient,
+  marshaling is done automatically for most data types, and the
+  provided documentation is sufficient.
+
+  Unfortunately, the whole system is written in C++ and can thus not
+  trivially be used in plain C or any other language.
+
+
+o LinuxDoors, http://www.rampant.org/doors/
+
+  The author discontinued development of the package in May 2001. The
+  current version 0.9 is considered to be alpha quality software.
+
+
+o ORBit, http://orbit-resource.sourceforge.net/
+
+  ORBit is a CORBA 2.2-compliant object request broker. Do I need to
+  say more?
+
+
+o TIRPC, ftp://ftp.uu.net/networking/rpc/
+
+  The "Transport Independent RPC" package is derived from the original
+  SUN RPC and uses the TLI interface to access the network.
+  Unfortunately, TLI is not widely supported; sockets rule the
+  communication market. Thus, the package is not very useful for us.
 
-- Name, Autor, Jahr
-- URL
-- Sprache
-- Veschreibung, Klassifizierung
-- Bewertung:
-    - Stand-alone?
-    - Self-contained?
-    - Portabel?
-    - Code ist sauber?
-    - API ist orthogonal?
-- Verwendete Protokolle
-- Warum nehmen wir's nicht.
-
-o Spread
-  http://www.spread.org/
-
-o XML-RPC:
-  http://www.xmlrpc.org/
-  http://www.focusresearch.com/gregor/sw/XPC/
-  http://xmlrpc-c.sourceforge.net/
 
 o SunRPC
   rfc1050.txt
@@ -32,38 +97,10 @@
   rfc2203.txt
   rfc2695.txt
 
-o SRA
-  Secure RPC Authentication for TELNET and FTP
-  net.tamu.edu:pub/security/TAMU/
-
-o RPC2
-  ftp://ftp.coda.cs.cmu.edu/pub/rpc2/
-
-o MRPC
-  http://www.tildeslash.org/mrpc.html
-  http://www.tildeslash.org/mrpc/
-
-o LinuxDoors
-  http://www.rampant.org/doors/
 
 o DCERPC
   ftp://gatekeeper.dec.com/pub/DEC/DCE/
 
+
 o Foreign Function Call Library
   http://clisp.cons.org/~haible/packages-ffcall.html
-
-RSE:
-----
-
-ORBit ...... nice ORBit 2.2 implementation in C, but undocumented
-FreeBSD .... the most clean RPC, but only RPCv1
-SunRPC40 ... too old, FreeBSD's code is much more feature-full and portable, RPCv1
-NetBSD ..... very similar to FreeBSD code with a few addons "long long", but less clean, RPCv1
-tirpc ...... Transport Layer Independent RPC, but unportable and old
-RPC2 ....... nice concept, but neither RPCv1 nor RPC2 and requires LWP library
-             and is also bundled strongly with it
-MRPC ....... modular architecture (tranport layer interchangeable), but
-             depends on re2c and is implemented in cpp, neither RPCv1 nor RPCv2
-XMLRPC ..... taugt nicht, nur nettes Konzept, keine C Implementierung,
-             starker Overhead, etc.
-

CVSTrac 2.0.1