[comp.sys.sun] RPC clarification and recommendations

powell@newyork.crd.ge.com (04/24/91)

I am an engineer and I have the task of trying to develop a system for
mechanical engineering design that involves running programming tools such
as fortran turbine design programs, compressor design programs, a C
database, and a rule system(s) on different platforms. These platforms are
IBM PC 386 or higher, Sun 4, HP, Decstation, and Vaxstation.  All of my
platforms are connected by TCP over ethernet.

My problem is which communication software do I use to develop the
client-server concept to run on each machine. I would appreciate any and
all comments that would enlighten me about the pluses and minus of any
given approach. Below I have listed some approaches that I have read about
but need clarification from you more experienced software experts on the
net.

1. I read about Sun's RPC which are suppose to allow the developer to
   concentrate on the application and not the network software. These sounded
   great in principle but is public domain RPC code available for the Vax
   (VMS and Unix lines) along with the IBM PC and HP. If yes then where can I
   get it? Suns manual says that RPC's have been run on these machines.

   To confuse me further, I understand that HP has a different version of
   RPC's then Suns. Does this mean that there are two different emerging
   standards? If yes then which is the one that appears to me winning?  Does
   each competitor also support the others standard?

2. Berkley sockets vs System 5 sockets. Should I deal at the socket level
   and which type of sockets should I use? To run a program on a IBM PC from
   a Sun which type of sockets do I need on the IBM PC. Do sockets come for
   free with the TCP, and if yes then which type of sockets are they, and
   does a software developer have access to the TCP library needed to use
   these sockets?

I appreciate any knowledge or pointers that I can use for helping me fill
out my knowledge so that I can concentrate on the best approach to my
problem.  I have obtianed the Unix Network Programming book by Stevens.
The book is excellent in describing the berkley sockets and TLI but I am
not sure about which to use or if they are at all applicable when I have a
VMS machine.

Regards
Dave

janzen@mprgate.mpr.ca (Martin Janzen) (06/05/91)

In Sun-Spots-Digest v10n86, powell@newyork.crd.ge.com (Dave Powell) writes:
>[...]
>1. I read about Sun's RPC which are suppose to allow the developer to
>   concentrate on the application and not the network software. These sounded
>   great in principle but is public domain RPC code available for the Vax
>   (VMS and Unix lines) along with the IBM PC and HP. If yes then where can I
>   get it? Suns manual says that RPC's have been run on these machines.

Well, it's not public domain, but it is available and I'm pretty sure
that it may be distributed freely.  To get it, try writing to:

  Portable ONC/NFS
  Sun Microsystems, Inc
  MS 12-33
  2550 Garcia Avenue
  Mountain View, CA  94043

or try nfsnet@sun.com.

I'm using it right now for a telecommunications application which sends
alarm information from a microVAX to a Sun, and it works great!  It even
writes code automatically to convert my data structures to XDR (eXternal
Data Representation) format, so I don't have to worry about byte
ordering, etc.  Highly recommended.

>   To confuse me further, I understand that HP has a different version of
>   RPC's then Suns. Does this mean that there are two different emerging
>   standards? If yes then which is the one that appears to me winning?  Does
>   each competitor also support the others standard?

I don't know anything about this.  Any HP-ers on Sun-Spots?? :-)

>2. Berkley sockets vs System 5 sockets. Should I deal at the socket level
>   and which type of sockets should I use? To run a program on a IBM PC from
>   a Sun which type of sockets do I need on the IBM PC. Do sockets come for
>   free with the TCP, and if yes then which type of sockets are they, and
>   does a software developer have access to the TCP library needed to use
>   these sockets?

I'd say don't deal at the socket level if you can help it.  RPC saves
you a lot of work: it packages up requests, handles XDR encoding and
decoding of arguments and results, and can even write simple client/server
code for you (using rpcgen).

I've never used System V sockets, so I can't compare the two.  Berkeley
sockets certainly seem to be more widely used, though.

If you must use sockets to communicate between Suns and PCs, you can use
Sun's PC-NFS product.  It provides a Berkeley socket interface, which
I've used successfully to communicate from PC to Sun, as well as from PC
to VAX.

Caveat:  If your PC application runs under Microsoft Windows, get
something like FTP Software's PC-TCP instead; Sun PC-NFS won't work --
at least not the version I tried last year.  PC-TCP also provides
Berkeley sockets, as well as code for telnet, rcp, and other protocols.
FTP's number is (617) 246-0900.  Or, try comp.protocols.tcp-ip.ibmpc;
I've seen posts from FTP people there.

Both PC-NFS and PC-TCP come with RPC implementations.

--
Martin Janzen                     janzen@mprgate.mpr.ca (134.87.131.13)
MPR Teltech Ltd.                  Phone: (604) 293-5309
8999 Nelson Way                   Fax: (604) 293-6100
Burnaby, BC, CANADA  V5A 4B5