Object Request Broker
# Object Request Broker

Nella computazione distribuita, un object request broker (ORB) è un frammento di software middleware che permette ai programmatori di effettuare chiamate di programma tra computer differenti in una rete.

## Descrizione

Gli ORB gestiscono trasformazioni di strutture dati di processi in sequenze di byte (e viceversa), tali sequenze sono poi trasmesse sulla rete. Questo procedimento è chiamato marshalling o serializzazione (serialization).

Gli ORB, come CORBA-compliant systems, utilizzano un linguaggio di descrizione dell'interfaccia (Interface Description Language o IDL) per descrivere i dati da trasmettere su chiamate remote. Una tecnologia chiamata Remote Procedure Call (RPC) era molto popolare prima che la programmazione orientata agli oggetti (OOP) diventasse la corrente principale di "pensiero".

In aggiunta al marshalling dei dati, gli ORB spesso offrono molte più feature, come distributed transaction, directory service o scheduling in sistema real-time.

Nei linguaggi object-oriented, l'ORB prende la forma di oggetto con dei metodi che permettono la connessione all'oggetto servito. I metodi di un oggetto diventano accessibili per invocazioni remote in seguito ad una connessione all'oggetto ORB stesso. L'ORB richiede alcuni parametri per ottenere l'indirizzo di rete dell'oggetto che diventerà remoto. I tipici ORB hanno in genere molti altri metodi.

### Implementazioni

* CORBA - Common Object Request Broker Architecture.
* ORBexpress - real-time ORB per Objective Interface Systems
* DCOM - il Distributed Component Object Model from Microsoft
* RMI - il Remote Method Invocation Protocol Sun Microsystems
* RPC - Remote Procedure Call
* SimpleORB - un piccolo ORB non-CORBA
* OmniORB - un ORB con specifiche CORBA con licenza GPL
