Week 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:
Understanding distributed garbage collection, Java RMI, IBM SDK for Java.
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.
DCOM – The Distributed Object Model Microsoft Technit, Windows NT Server 4.0.
OSF Distributed Computing Environment IBM z/OS V1R1.0-V1R12.0 DCE Planning, © 1990, 2010, IBM Corporation.
Introduction to CORBA, Short Course, java.sun.com
The 10 minutes “Getting started with RMI” tutorial , Little Tutorials, Bare Bone Informational.
Getting Started with RMI , Sun Microsystems. Writing a simple applet using jdk 1.4.2
Understanding Interface Definition Language: A Developer's Survival Guide, Bill Hludzinski, Microsoft Systems Journal, August 1998.
Web Services: Building Reusable Web Components with SOAP and ASP .NET, David S. Platt, Microsoft MSDN, February 2001.
W3Schools.com: Contains a bunch of tutorials on XML, SOAP, .NET, annd other stuff: short but not very through (.NET is particularly poor).
Service Oriented Architecture for Dummies, by Judith Hurwitz, Robin Bloor, Marcia Kaufman, Fern Halper, Second IBM Limited Edition, © 2009, Wiley Publishing.
What is service-oriented architecture?, An Introduction to SAO, by Raghu R. Kodali, JavaWorld.com, June 13, 2005.
Understanding Service-Oriented Architecture, David Sprott and Lawrence Wilkes, Microsoft MSDN, January 2004.
Service Oriented Architecture (SOA) and Specialized Messaging Patterns, Duane Nickul, Laurel Reitman, James Ward, Jack Wilber, © 2007 Adobe Systems Incorporated.
Enterprise Service Bus, Wikipedia article.
Message Bus, Microsoft Patterns & Practices, MSDN,
Understanding WSDL, Aaron Skonnard, Northface University, Microsoft MSDN Library, October 2003.
SOAP Web Services, Brian Suda, MSc Thesis, University of Edinburgh, 2003.
Windows Communication Foundation, Wikipedia article.
Windows Communication Foundation: Top-level index, Introduction, Conceptual Overview, Microsoft .NET Framework Developer Center.
Basic Understanding of WSDL documents And How to Use a WSDL File to Access a SOAP Service, ASP Code Programming Tutorials & News, March 17, 2002.
WCF Comparison with Web Services and .NET Remoting, Abdul Sami, The Code Project, Jan 9, 2010.
Managing the Lifetime of Remote .NET Objects with Leasing and Sponsorship, Joval Lowy, MSDN Magazine, December 2003.
Microsoft COM+ Standard Marshaling Architecture, Inside Microsoft COM+ Base Services, Guy Eddon, Henry Eddon, Microsoft Press, Chapter 15, 1999.
The Joy of Reference Counting , David Chappell, DavidChappel & Associates, August 1997. — Great explanation of Microsoft's reference counting and pinging.
White Papers, A bunch of articles by David Chappel on the Windows Communication Foundation and other related Microsoft services.
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
DCE RPC:
uuidgen, cell, cell directory server,
Microsoft COM+:
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
XML-based services:
XML-RPC, SOAP, WSDL, .NET web services, Common Language Runtime (CLR), Intermediate Language (IL)