Week 3,4: Remote Procedure Calls

Lecture notes:
Remote Procedure Calls
Lecture slides (6 per page)
RPC case studies slides (6 per page)

Recitation notes:
Programming with Sun RPC
Programming with RMI

Sample programs:
rpcdemo.tar - demo of Sun's RPC

rmidemo.tar - demo of Java RMI

Supplemental notes:
Microsoft .NET Remoting: A Technical Overview by Piet Obermeyer and Jonathan Hawkins, MSDN, Microsoft Corporation, July 2001

Microsoft .NET Remoting: Design and Develop Seamless Distributed Applications for the Common Language Runtime by Dino Esposito, MSDN, Microsoft Corporation, October 2002

Microsoft .Net, by Dr. Pizza, arstechnica.com
http://www.arstechnica.com/paedia/n/net/net-5.html.

ONC (SUN) RPC documentation

Understanding the Distributed Object Component (DCOM) Architecture, (c) 2001 Microsoft Corporation

Transarc DCE Introduction to the OSF Distributed Computing Environment , (c)1990-1996 Transarc, IBM

Introduction to CORBA, Short Course, java.sun.com

Getting Started with RMI , Sun Microsystems. Writing a simple applet using jdk 1.4.2

Java RMI Tutorial, Ken Baclawski, Northeastern University

Microsoft Systems Journal: Understanding Interface Definition Language

Web Services: Building Reusable Web Components with SOAP and ASP .NET, David S. Platt, Microsoft MSDN

Understanding Microsoft .NET , David Platt, Byte,com December 2000: Part 1, part 2, part 3

Feature Article: Microsoft .NET Framework Objects, Thunderclap, the Newsletter of Rolling Thunder Computing.

W3Schools.comSome basic tutorials on XML, SOAP, and .NET: short but not very through (.NET is particularly poor).

Buzzwords:
remote procedure call, language level construct, operating system level construct, stub functions, passing parameters, marshaling, canonical data encoding, implict typing, explicit typing, semantics of remote procedure calls, idempotent, non-idempotent
Sun RPC:
XDR (eXternal Data Representation), rpcgen, RPC compiler, interface definition language, portmapper
Sun RPC:
DCE RPC, uuidgen, cell, cell directory server,
Microsoft DCOM:
COM, surrogate process, monikers, ORPC, MIDL, interface pointer, distributed garbage collection, reference counting, pinging
CORBA:
object request broker, dynamic invocation, IIOP (Internet Inter-ORB Protocol),
Java RMI:
Remote Method Invocation, remote interfaces, remote class, serializable class, rmic, rmiregistry
XNL-based RPCs:
XML-RPC, SOAP, WSDL, .NET web services, Common Language Runtime (CLR), Intermediate Language (IL)