Remote Method Invocation: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Vitalij zad (discussione | contributi)
Acronimi, voci correlate
m smistamento lavoro sporco e fix vari
 
(10 versioni intermedie di 9 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 ==
 
Questa tecnologia include una [[Application programmingProgramming interfaceInterface|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'').
 
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]].
 
Il termine Remote Method Invocation identifica ufficialmente sia la Application programmingProgramming interfaceInterface 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'Application programming interface 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]].
 
Componente fondamentale è il registro Remote Method Invocation, che si occupa di registrare i server remoti e fornire le referenze remote ai richiedenti che effettuano una lookup su questo.
Riga 17 ⟶ 18:
 
== Collegamenti esterni ==
* [https://web.archive.org/web/20170206060021/https://java.net/projects/cajo/pages/Home cajo] Un ambiente semplice, potente e ''free'' per l'interazione fra macchine virtuali Java
* [{{cita web|http://trmi.sourceforge.net/ |RMI trasparente]}}
 
{{portale|informatica}}
* [https://java.net/projects/cajo/pages/Home cajo] Un ambiente semplice, potente e ''free'' per l'interazione fra macchine virtuali Java
* [http://trmi.sourceforge.net/ RMI trasparente]
* [http://davis.jini.org/ Il progetto JERI]
* [http://robb19y.altervista.org/RMIHttpServlet RMI - Servlet integration]
 
[[Categoria:Piattaforma Java]]
[[Categoria:Linguaggio Java]]