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

Categoria:Software di rete