D-Bus

D-Bus on prosessien väliseen kommunikaatioon ohjelmistoväylä, johon kuuluu tiedonsiirtoprotokolla ja palvelinohjelmisto. libdbus-kirjasto toteuttaa rajapinnan ja ABI-yhteensopivuuden. 
D-Bus tarjoaa tavan siirtää tietoa prosessien välillä samalla tietokoneella. Eri koneiden välinen kommunikaatio ei ole alkuperäinen tarkoitus.
D-Busin kommunikaatio ei ole transaktiopohjainen kuten eräät raskaammat viestinvälitysratkaisut.

D-Bus on avoimen lähdekoodin projekti, jota kehitetään freedesktop.org-projektin alla, ja sitä käytetään pääasiassa vapaissa Unix-johdannaisissa kuten Linuxissa.
D-Busia voidaan käyttää myös etäproseduurikutsuihin (RPC).

D-Busin tarkoituksena on mahdollistaa erityisesti graafisten työpöytäohjelmistojen välinen kommunikointi. Sen tärkeimpänä inspiraation lähteenä on KDE-projektissa kehitetty DCOP. D-Bus on sittemmin korvannut GNOME:n CORBA-tyylisen tekniikan ja KDE:n 4.0-versiosta lähtien myös DCOP:in.

D-Bus toimii taustaohjelman (daemon) avulla, ja ohjelmia voi olla käytössä useita. Jokaista instanssia kutsutaan kanavaksi. Yleensä kanavia on kaksi: Kaikille käyttäjille yhteinen järjestelmän kanava, joka käynnistetään järjestelmän käynnistyksen yhteydessä, ja käyttäjäkohtainen kanava, joka käynnistetään työpöytäympäristön käynnistyessä (käyttäjän kirjautuessa sisään, jos työpöytäympäristö on määritelty automaattisesti käynnistyväksi).

D-Busin avulla ohjelmat tarjoavat erilaisia palveluita, jotka sisältävät erilaisia olioita. Oliot toteuttavat erilaisia rajapintoja jotka sisältävät metodeita jotka palauttavat tietyn tyyppistä tietoa. Palveluiden nimet on eritetty pistein, ja olioiden nimet vinoviivoin. Esimerkiksi Amarok 2.0 näkyy D-Busille palveluna org.kde.amarok, ja soittolista näkyy kyseisen palvelun oliona /TrackList. Tämä olio toteuttaa rajapinnan org.freedesktop.MediaPlayer metodit, esimerkiksi GetCurrentTrack(). Rajapintojen etuna on se, että org.freedesktop.MediaPlayer on määritelty vain kerran, ja jos käyttäjä käyttää jotain muuta mediasoitinta, ei D-Bus-kutsua tarvitse muuttaa näiltä osin - vain palvelun nimi ja olion nimi muuttuvat.

Eräs D-Busin päälle rakennetuista palveluista oli laitteistoon liittyvien tapahtumien välittäminen niistä kiinnostuneille ohjelmille; esimerkiksi kuvankäsittelyohjelma voi haluta tietoa järjestelmään liitetyistä skannereista tai digikameroista, ja tiedostonhallintaohjelma voi haluta tietoa asemaan laitetuista CD-ROM-levyistä tai koneeseen kytketyistä USB-muisteista.

Lähteet

Aiheesta muualla 
 D-Bus FAQ 
 D-Busin kotisivu

Freedesktop.org