A Xesam ( Extensible Metadata Search And vagy research and extensible metadata ) a freedesktop.org által támogatott specifikáció, amelynek célja egy keretrendszer biztosítása az asztali keresés létrehozásához : meghatározza mind a démon által a 'implementáció által kitett API-kat, mind a lekérdezni őket.
Xesam először létre néven Wasabi a 2007. februárírta Mikkel Kamstrup Erlandsen , majd a Wasaby System jogi problémái miatt átnevezték . Különböző ingyenes projektek vesznek részt annak specifikációiban. Közülük Strigi és Beagle a legfejlettebb a szabvány megvalósításában.
Hosszú vemhesség után az 1.0 verziót bejelentették 2009. május.
A Xesam API a D-Bus folyamatközi kommunikációs rendszeren alapul, amely lehetővé teszi a kiszolgáló és a kliens közötti szétválasztást, lehetővé téve ezen elemek egyikének cseréjét anélkül, hogy módosítania kellene a másikat. Ez lehetővé teszi, hogy ugyanazt a kérelmet bármely Xesam végrehajtására (például mind a KDE és a GNOME ), és így lesz használható a különböző környezetekben.
Az ügyféltől a szerverhez intézett kérések XML formátumban vannak , a mezőket a projekt Ontológiája írja le . Kétféle kérés létezik:
Az API által definiált kommunikáció nagy része aszinkron , ami biztosítja, hogy a kliens (főleg GUI esetén ) ne legyen blokkolva a keresés során.