Server/Úvod

Z JKwiki

Přejít na: navigace, hledání

Obsah

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.

Požadavky

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

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ů.


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.

Proč se nám nelíbí...

Neboj se sem přidat i něco, co souvisí třeba jen okrajově. Každá inspirace dobrá.

D-Bus

  • Je to jen nástroj ke komunikaci. Neřeší zde rozebíraný problém, ale jen jeho část.

DCOP

  • Vyžaduje Qt a spolu s KDE 3.5 bude mrtvý (nové KDE používá D-Bus)

Akonadi

  • Ještě není hotové ;)
kategorie