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