--- 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.
-
|