RMI ( Remote Method Invocation ) è la forma tradizionale di Java di comunicazione a distanza , prorogato dal RMI - IIOP ( o " RMI su IIOP " ) al fine di consentire interoperability.RMI è uno di un gruppo di di linguaggi che utilizza la " programmazione orientata agli oggetti " ( OOP ) stile , dove un "oggetto" è una struttura di dati . C + + è un altro esempio noto di un linguaggio di programmazione in questo stile . RMI : Introdotto nel 1997
Il linguaggio di programmazione non è questo "Java ".
RMI è una variante orientata agli oggetti di Remote Procedure Call (RPC ) , attraverso il quale gli oggetti Java comunicano. Aveva l'inconveniente , al momento della prima creazione , che non ha ammesso per l'interoperabilità di oggetti Java e non-Java .
Java stesso , un linguaggio di programmazione , era stato sviluppato da James Gosling , di Sun Microsystems , nel 1994 . Oracle ha acquistato Sun nel 2009 .
Altre sigle decodificato
Questo era il luogo di oracoli precedenti.
IIOP è Internet Inter- ORB Protocol , un importante sottoinsieme dello standard CORBA .
un ORB è un " Object Request Broker " e CORBA è " Common Object Request Broker Architecture ", lo standard aperto per computing eterogeneo .
norme per CORBA sono creati e pubblicati da un consorzio industriale , l' Object Management Group ( OMG ) . Centinaia di utenti e fornitori di partecipare a OMG .
Pertanto, al fine di introdurre l'interoperabilità , Oracle Corporation ha dovuto ri - lavorare RMI rispettare CORBA , che è ciò che RMI- IIOP è circa.
Sole
sviluppo
di Oracle ha collaborato con IBM .
Di conseguenza , nel 1998, Sun ha introdotto il Java RMI - IIOP : . Una caratteristica importante dei quali è che esso può essere utilizzato senza dover imparare il CORBA Interface Definition Language ( IDL )
Scelte per programmatori
C'è un bivio di programmazione Java .
Con la disponibilità di RMI - IIOP , i programmatori che erano già familiarità con Java RMI aveva in sostanza tre scelte .
Hanno potuto ignorare l' estensione IIOP , e sviluppare applicazioni CORBA utilizzando IDL , che definisce il client e il applicazioni server che utilizzano il linguaggio di programmazione a loro familiare .
Oppure, potrebbero ignorare l' estensione IIOP e IDL allo stesso modo, e semplicemente stare dentro l'universo del linguaggio di programmazione Java , utilizzando Java RMI per consentire la comunicazione tra oggetti Java sia tra le macchine virtuali e tra macchine fisiche .
Ma , alla fine, si potrebbe utilizzare il linguaggio di programmazione Java con l'opzione del compilatore IIOP . La società ha detto che questo avrebbe permesso al programmatore di " mantenere le applicazioni legacy scritte in altri linguaggi di programmazione . "
Critica
" No grazie, solo la banana . "
Vale la pena notare che l'intero stile di programmazione orientata agli oggetti è oggetto di critiche negli ultimi anni. L'inventore di un linguaggio non- OOP chiamato Erlang , Joe Armstrong , ha detto : "Il problema con linguaggi orientati agli oggetti è loro hanno tutto questo ambiente implicito che portano in giro con loro Volevi una banana , ma quello che ottenne fu . un gorilla che tiene la banana e l'intera giungla ".