Remote Method Invocation: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
link errato rimosso |
m smistamento lavoro sporco e fix vari |
||
(15 versioni intermedie di 13 utenti non mostrate) | |||
Riga 1:
{{C|Non viene detto nulla sull'architettura del contesto|informatica|giugno 2007
{{F|programmazione|marzo 2021}}
In [[informatica]], e in particolare nel contesto del [[linguaggio di programmazione]] ''[[programmazione orientata agli oggetti|object-oriented]]'' [[Java (linguaggio di programmazione)|Java]], '''Remote Method Invocation''' (''invocazione remota di metodi'') o '''RMI''' è una tecnologia che consente a processi Java [[calcolo distribuito|distribuiti]] di comunicare attraverso una [[rete di computer|rete]]
== Descrizione ==
L'utilizzo di un meccanismo di invocazione remota di metodi in un sistema ''object-oriented'' comporta notevoli vantaggi di omogeneità e simmetria nel progetto, poiché consente di modellare le interazioni fra processi distribuiti usando lo stesso strumento concettuale che si utilizza per rappresentare le interazioni fra i diversi oggetti di una applicazione, ovvero la chiamata di [[metodo]]. Per contro, [[meccanismi di comunicazione fra processi]] remoti più primitivi (come lo scambio messaggi) rappresentano una forma di interazione "estranea" al [[programmazione orientata agli oggetti|paradigma object-oriented]]. ▼
Questa tecnologia include una [[Application Programming Interface|API]] (''application programming interface'') il cui scopo esplicito è quello di rendere [[trasparenza (informatica)|trasparenti]] al [[programmatore]] quasi tutti i dettagli della comunicazione su rete. Essa consente infatti di invocare un [[metodo (informatica)|metodo]] di un oggetto remoto (cioè appartenente a un diverso [[processo (informatica)|processo]], potenzialmente su una diversa macchina) ''quasi come se'' tale oggetto fosse "locale" (ovvero appartenente allo stesso processo in cui viene eseguita l'invocazione). In questo senso, la tecnologia Remote Method Invocation può essere ricondotta, da un punto di vista concettuale, all'idea di [[chiamata di procedura remota]] (RPC) riformulata per il [[paradigma di programmazione|paradigma]] ''object-oriented'' (in cui, appunto, le ''[[funzione (informatica)|procedure]]'' sono sostituite da ''metodi'').
Il termine RMI identifica ufficialmente sia la API messa a disposizione del programmatore sia il [[protocollo di rete]] usato "dietro le quinte" per il dialogo fra le [[macchina virtuale Java|macchine virtuali Java]] coinvolte nella comunicazione. Dell'API e del protocollo esistono due implementazioni di uso comune. La prima (meno recente) ha nome '''JRMP''' (Java Remote Method Protocol) ed è implementata sul protocollo [[Transmission Control Protocol|TCP]]; la seconda, nota come '''RMI-IIOP''', è invece basata sul protocollo [[IIOP]] della piattaforma [[middleware]] [[CORBA]].▼
▲L'utilizzo di un meccanismo di invocazione remota di metodi in un sistema ''object-oriented'' comporta notevoli vantaggi di omogeneità e simmetria nel progetto, poiché consente di modellare le interazioni fra processi distribuiti usando lo stesso strumento concettuale che si utilizza per rappresentare le interazioni fra i diversi oggetti di una applicazione, ovvero la chiamata di [[Metodo (programmazione)|metodo]]. Per contro, [[meccanismi di comunicazione fra processi]] remoti più primitivi (come lo scambio messaggi) rappresentano una forma di interazione "estranea" al [[programmazione orientata agli oggetti|paradigma object-oriented]].
Componente fondamentale è il registro RMI, che si occupa di registrare i server remoti e fornire le referenze remote ai richiedenti che effettuano una lookup su questo.▼
▲Il termine
▲Componente fondamentale è il registro
== Voci correlate ==
* [[Enterprise JavaBeans]], la più diffusa piattaforma per effettuare Remote Method Invocation.
== Collegamenti esterni ==
* [https://
{{portale|informatica}}
▲* [https://cajo.dev.java.net/ cajo] Un ambiente semplice, potente e ''free'' per l'interazione fra macchine virtuali Java
▲* [http://trmi.sourceforge.net/ RMI trasparente]
[[Categoria:Piattaforma Java]]
|