Lecture 2: Remote Procedure Calls

Terms you should know

Paul Krzyzanowski

February 10, 2021

  • Read/write vs. functional interfaces
  • language-level vs. operating system construct
  • Stub functions
  • Client stub (proxy)
  • Server skeleton
  • Marshalling and unmarshalling (can also be spelled with one L)
  • Serialization
  • Pass by value, pass by reference
  • Exactly once, at least once, at most once semantics
  • Idempotent vs. non-idempotent function
  • Interface Definition Language (IDL)
  • RPC compiler (protocol compiler)
  • Big/little/bi-endian byte ordering
  • XML, JSON, Protocol buffers

ONC RPC

  • IDL (Interface Definition Language)
  • port mapper (rpcbind)
  • versions
  • early binding
  • XDR: eXternal Data Representation
  • Program number

DCE RPC

  • UUID, uuidgen
  • Cell, cell directory server
  • multi-canonical data representation

COM+

  • Surrogate process
  • COM objects and Microsoft RPC
  • Distributed garbage collection
  • Remote reference counting
  • Pinging (leasing)

Java RMI

  • Object registry (rmiregistry)
  • remote class
  • serializable class
  • distributed garbage collection

RPyC

  • Symmetric operation
  • Parameter passing
  • proxy objects

Web services

  • Site scraping
  • Service Oriented Architecture (SOA)
  • Unassociated services
  • Loosely coupled services
  • Message-oriented communication

XML-RPC

  • general concept

SOAP

  • Web Services Description Language (WSDL)

REST

  • PUT, GET, POST, DELETE HTTP operations
Last modified October 3, 2023.
recycled pixels