OSSP CVS Repository

ossp - ossp-pkg/srpc/EVAL 1.5
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

ossp-pkg/srpc/EVAL 1.5
			      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 currently prohibits any commercial use.
      But according to the authors (as of April 2001) they are providing
      special license exceptions for Open Source projects and working on
      moving Spread to a commercial split of from their University and
      then releasing Spread under a real Open Source license.

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


o SunRPC
  rfc1050.txt
  rfc1057.txt
  rfc1790.txt
  rfc1831.txt
  rfc1833.txt
  rfc2203.txt
  rfc2695.txt


o DCERPC
  ftp://gatekeeper.dec.com/pub/DEC/DCE/


o Foreign Function Call Library
  http://clisp.cons.org/~haible/packages-ffcall.html

CVSTrac 2.0.1