Quindi tipicamente creiamo schemi, mime-tipi, ecc. per i nostri oggetti quando comunichiamo con un altro sistema sugli oggetti.
Il documento di solito definisce la struttura dei dati degli oggetti per scopi di serializzazione senza registrazione dei metodi dell'oggetto. Tutto quello che mi rimane sul client sono in effetti delle strutture senza metodi.
Quindi per esempio diciamo che ho più classi e diciamo quelle incluse un Account e un Ordine. Specifichiamo anche che gli ordini sono legati a un account. Ora diciamo che ho un cliente che vuole recuperare un certo ordine relativo ad un account da un servizio distribuito che fornisce queste informazioni. Potrei codificare tutta la ricerca, la scansione e altri tipi di logica nel server distribuito e fare in modo che il client si basi su di esso per tutto ciò che potrebbe voler fare (RPC estremo). Potrei semplicemente scrivere il codice per scansionare i grafici degli oggetti sul client, costringendo ogni cliente con un tipo di interesse a replicare il codice. Potrei creare una libreria che contiene funzioni comuni. Ma quello che mi piacerebbe davvero, è la possibilità di replicare i metodi sull'oggetto al client come parte del contratto. Il client non solo conosceva la struttura dati dell'oggetto distribuito, ma poteva anche richiamare ed eseguire operazioni sull'oggetto che era stato distribuito con esso.
Esiste un sistema là fuori che serializza operazioni \ codice insieme alla struttura dati per gli oggetti? Idealmente non dovrebbe essere solo uno stub del client RPC che richiama le operazioni su un server.