Xesam ( Extensible Metadata Search And or research and extensible metadata ) to specyfikacja promowana przez freedesktop.org, która ma na celu zapewnienie ujednoliconej struktury do tworzenia wyszukiwania na komputerze : definiuje zarówno interfejsy API ujawniane przez demona , które implementują, jak i protokół do zapytaj ich.
Xesam został po raz pierwszy utworzony pod nazwą Wasabi wluty 2007przez Mikkel Kamstrup Erlandsen , następnie przemianowany z powodu problemów prawnych z Wasaby Systemu . W jego specyfikacjach uczestniczą różne bezpłatne projekty. Wśród nich Strigi i Beagle są najbardziej zaawansowani we wdrażaniu standardu.
Po długim okresie ciąży wersja 1.0 została ogłoszona w Maj 2009.
Xesam API jest oparte na systemie komunikacji międzyprocesowej D-Bus , który pozwala zachować separację między serwerem a klientem, umożliwiając w ten sposób wymianę jednego z tych elementów bez konieczności modyfikowania drugiego. Dzięki temu można używać tej samej aplikacji z dowolną implementacją Xesam (na przykład zarówno z KDE , jak i GNOME ), a tym samym można jej używać w różnych środowiskach.
Żądania od klienta do serwera są w formacie XML , a pola są opisane w ontologii projektu. Istnieją dwa rodzaje wniosków:
Większość komunikacji zdefiniowanej przez API jest asynchroniczna , co zapewnia, że klient (głównie w przypadku GUI ) nie będzie blokowany podczas wyszukiwania.