Server/Úvod
Z JKwiki
< Server
Obsah |
[editovat]
Co to má dělat ?
- Umožnit posílání příkazů mezi programy (Windowmanager po stisku klávesové zkratky řekne IM klientovi: „Otevři poslední přijatou nepřečtenou zprávu.“)
- Umožnit předávání dat mezi programy (IM klient řekne mail klientovi: „Dej mi podrobnosti o člověku X. Y.“)
- Jako vedlejší efekt vznikne možnost ukládat data z více programů na jednom místě a toto skladiště využívat i po síti.
[editovat]
Požadavky
[editovat]
Zásadní požadavky
- Nenáročnost na systémové zdroje (cpu, paměť,...)
- Nezávislost na konkrétním desktopu
- Jednoduchost
- Ovládání i z shellu (cmdline program)
- Zdokumentované API
[editovat]
Další požadavky
- Klient může být libovolný program.
- Musí být jednoduché doplnit toto API do libovolného aspoň trochu slušně napsaného programu.
- Všichni klienti mají jednotné API, každý ale může mít jinou množinu vlastností a příkazů.
[editovat]
Definování pojmů
Vzhledem k tomu, že ješte nikdo nevymyslel žádný název, tak raději uvedu, co je čím myšleno.
- Server
- Centrální uzel, ke kterému se připojují klienti. Pravděpodobně to bude nějaký proces poslouchající na soketu.
- Klient
- Libovolný program vybavený zde rozebíraným API, který se připojuje k serveru. Obvykle by to měly být běžně používané programy, jako je například kalendář, kontakty, window manager atd. V naprosté většině případů to bude program, který existuje déle, než celý tento projekt.
[editovat]
Proč se nám nelíbí...
- Neboj se sem přidat i něco, co souvisí třeba jen okrajově. Každá inspirace dobrá.
[editovat]
D-Bus
- Je to jen nástroj ke komunikaci. Neřeší zde rozebíraný problém, ale jen jeho část.
[editovat]
DCOP
- Vyžaduje Qt a spolu s KDE 3.5 bude mrtvý (nové KDE používá D-Bus)
[editovat]
Akonadi
- Ještě není hotové ;)
