Differenze tra le versioni di "Introduzione a DBus"
(Creata pagina con ''''''[http://it.wikipedia.org/wiki/D-Bus D-Bus]''''' è un sistema di bus di messaggi, un modo semplice per le applicazioni di comunicare tra di loro. In tal senso, dunque, ''...') |
|||
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | '''''[http://it.wikipedia.org/wiki/D-Bus D-Bus]''''' è un sistema di | + | '''''[http://it.wikipedia.org/wiki/D-Bus D-Bus]''''' è un sistema di ''[http://it.wikipedia.org/wiki/MBus Message Bus]'', un modo semplice per le applicazioni di comunicare tra di loro. In tal senso, dunque, ''DBus'' è un sistema di comunicazione fra i processi. |
Oltre alla comunicazione tra processi, ''D-Bus'' aiuta a coordinare la vita del processo, lo rende semplice e affidabile per codificare un'applicazione a "''singola istanza''" o ''demone'', e per lanciare applicazioni e demoni su richiesta, quando sono necessari i loro servizi. | Oltre alla comunicazione tra processi, ''D-Bus'' aiuta a coordinare la vita del processo, lo rende semplice e affidabile per codificare un'applicazione a "''singola istanza''" o ''demone'', e per lanciare applicazioni e demoni su richiesta, quando sono necessari i loro servizi. | ||
− | ''D-Bus'' è costituito da un demone, che può essere eseguito sia a livello di sistema e per ogni sessione utente, e una serie di librerie per consentire alle applicazioni di utilizzare ''D-Bus''. Come semplice sistema di scambio messaggi tra processi (demone e utilità), fornisce, dunque, sia un demone di sistema | + | ''D-Bus'' è costituito da un demone, che può essere eseguito sia a livello di sistema e per ogni sessione utente, e una serie di librerie per consentire alle applicazioni di utilizzare ''D-Bus''. Come semplice sistema di scambio messaggi tra processi (demone e utilità), fornisce, dunque, sia un demone di sistema, sia un demone ''per-user-login-session'' (per generali esigenze di [http://it.wikipedia.org/wiki/Comunicazione_tra_processi IPC] tra le applicazioni utente). Inoltre, il ''[http://it.wikipedia.org/wiki/MBus Message Bus]'' è costruito sulla base di un quadro di riferimento di passaggio di messaggi "''ad uno-a-uno''", che può essere utilizzato dalle due applicazioni per comunicare direttamente (senza passare attraverso il demone del ''Message Bus''). |
+ | Qualsiasi applicazione che utilizza il ''D-Bus'' contiene oggetti, normalmente definiti (anche se non necessariamente) come GObject, QObject, oggetti C++. Quando un messaggio viene ricevuto tramite connessione ''D-Bus'', questo viene inviato a un oggetto specifico, non genericamente all'applicazione. Così, ''D-Bus'' si basa sulla componente software, e per l'utente è come se un oggetto sia stato [http://it.wikipedia.org/wiki/Serializzazione serializzato] mediante la connessione [http://it.wikipedia.org/wiki/Comunicazione_tra_processi IPC], indipendentemente dal fatto che vi sia un oggetto dall'altra parte della comunicazione. | ||
+ | <BR>Per consentire la specificazione dell'obiettivo per i messaggi, è necessario indicare quel riferimento. In molti linguaggi di programmazione, si parla di un puntatore o riferimento. Tuttavia, questi riferimenti sono implementati come indirizzo di memoria nello spazio degli indirizzi dell'applicazione, che non possono essere scambiati tra le applicazioni. Per risolvere questo problema, ''D-Bus'' introduce un nome per ciascun oggetto. Questo nome viene visualizzato come un ''percorso del file system''. I nomi degli oggetti di ''D-Bus'' sono raggruppati in spazi dei nomi per garantire che i vari moduli di codice sono tenuti separati. Gli spazi dei nomi sono generalmente preimpostati a seconda dei componenti utilizzati dagli stessi programmatori. | ||
+ | ''DBus'' viene utilizzato principalmente per: | ||
+ | * la comunicazione tra programmi nella stessa sessione desktop, facilitando l'integrazione di applicazioni all'interno dello stesso ambiente desktop e il trattamento delle questioni relative al ciclo di vita del processo; | ||
+ | * la comunicazione tra il sistema operativo e la sessione del desktop, anche all'interno del sistema operativo di base e di alcuni demoni o processi. | ||
− | = | + | ==DBus e Gambas== |
+ | Sull'uso di DBus in Gambas proponiamo la lettura di questa pagina: https://gambaswiki.org/wiki/doc/dbus | ||
+ | |||
+ | |||
+ | |||
+ | =Riferimenti= | ||
* [http://it.wikipedia.org/wiki/D-Bus D-Bus] | * [http://it.wikipedia.org/wiki/D-Bus D-Bus] | ||
* [http://www.freedesktop.org/wiki/IntroductionToDBus/ IntroductionToDBus] | * [http://www.freedesktop.org/wiki/IntroductionToDBus/ IntroductionToDBus] | ||
+ | * [http://dbus.freedesktop.org/doc/dbus-tutorial.html Tutorial su DBus] | ||
* [http://www.freedesktop.org/wiki/Software/dbus/ Dbus] | * [http://www.freedesktop.org/wiki/Software/dbus/ Dbus] | ||
* [http://www.mbus.org/ Message Bus] | * [http://www.mbus.org/ Message Bus] |
Versione attuale delle 16:41, 26 nov 2023
D-Bus è un sistema di Message Bus, un modo semplice per le applicazioni di comunicare tra di loro. In tal senso, dunque, DBus è un sistema di comunicazione fra i processi.
Oltre alla comunicazione tra processi, D-Bus aiuta a coordinare la vita del processo, lo rende semplice e affidabile per codificare un'applicazione a "singola istanza" o demone, e per lanciare applicazioni e demoni su richiesta, quando sono necessari i loro servizi.
D-Bus è costituito da un demone, che può essere eseguito sia a livello di sistema e per ogni sessione utente, e una serie di librerie per consentire alle applicazioni di utilizzare D-Bus. Come semplice sistema di scambio messaggi tra processi (demone e utilità), fornisce, dunque, sia un demone di sistema, sia un demone per-user-login-session (per generali esigenze di IPC tra le applicazioni utente). Inoltre, il Message Bus è costruito sulla base di un quadro di riferimento di passaggio di messaggi "ad uno-a-uno", che può essere utilizzato dalle due applicazioni per comunicare direttamente (senza passare attraverso il demone del Message Bus).
Qualsiasi applicazione che utilizza il D-Bus contiene oggetti, normalmente definiti (anche se non necessariamente) come GObject, QObject, oggetti C++. Quando un messaggio viene ricevuto tramite connessione D-Bus, questo viene inviato a un oggetto specifico, non genericamente all'applicazione. Così, D-Bus si basa sulla componente software, e per l'utente è come se un oggetto sia stato serializzato mediante la connessione IPC, indipendentemente dal fatto che vi sia un oggetto dall'altra parte della comunicazione.
Per consentire la specificazione dell'obiettivo per i messaggi, è necessario indicare quel riferimento. In molti linguaggi di programmazione, si parla di un puntatore o riferimento. Tuttavia, questi riferimenti sono implementati come indirizzo di memoria nello spazio degli indirizzi dell'applicazione, che non possono essere scambiati tra le applicazioni. Per risolvere questo problema, D-Bus introduce un nome per ciascun oggetto. Questo nome viene visualizzato come un percorso del file system. I nomi degli oggetti di D-Bus sono raggruppati in spazi dei nomi per garantire che i vari moduli di codice sono tenuti separati. Gli spazi dei nomi sono generalmente preimpostati a seconda dei componenti utilizzati dagli stessi programmatori.
DBus viene utilizzato principalmente per:
- la comunicazione tra programmi nella stessa sessione desktop, facilitando l'integrazione di applicazioni all'interno dello stesso ambiente desktop e il trattamento delle questioni relative al ciclo di vita del processo;
- la comunicazione tra il sistema operativo e la sessione del desktop, anche all'interno del sistema operativo di base e di alcuni demoni o processi.
DBus e Gambas
Sull'uso di DBus in Gambas proponiamo la lettura di questa pagina: https://gambaswiki.org/wiki/doc/dbus