franta-hg@1: „Nejlepší REST API je stejně relační databáze“ :-) franta-hg@1: franta-hg@1: SQL! franta-hg@1: franta-hg@1: Framework pro zpřístupnění libovolných dat ve formě relaci – virtuální tabulky, pohledy, funkce. franta-hg@1: Více klientských protokolů: franta-hg@1: - emulace postgresql franta-hg@1: - emulace mariadb franta-hg@1: - vlastní binární protokol franta-hg@1: - vlastní SOAP protokol franta-hg@1: - vlastní XML REST protokol franta-hg@1: franta-hg@1: programovatelné moduly poskytující data (tabulky, pohledy a navázání na funkce) franta-hg@1: - soubory (XML, CSV atd.) + zpracování (XSLT) a mezipaměť (původní zdroj: file://... http://... atd.) franta-hg@1: - CLI + mezipaměť franta-hg@1: - Java, C++, C, Perl atd. franta-hg@1: franta-hg@1: Příklad použití: franta-hg@1: SQL rozhraní k unixovému operačnímu systému franta-hg@1: - uživatelé franta-hg@1: - procesy franta-hg@1: - RAM franta-hg@1: - připojené oddíly, fstab, využití disku franta-hg@1: - S.M.A.R.T. franta-hg@1: - RAID pole franta-hg@1: - LVM, DM, LUKS franta-hg@1: - mailq franta-hg@1: - síťová spojení, naslouchající porty franta-hg@1: - síťové adaptéry, IP a MAC adresy, přenesená data franta-hg@1: - bluetooth franta-hg@1: - další HW (sériové porty, V4L2 atd.) franta-hg@1: - služby z /etc/services franta-hg@1: - protokoly z /etc/protocols franta-hg@1: - soubory - názvy, metadata, rozšířené atributy franta-hg@1: franta-hg@1: Funkce: franta-hg@1: - odeslání e-mailu franta-hg@1: - logování franta-hg@1: - poslání signálu nějakému procesu franta-hg@1: - odeslání D-Bus zprávy franta-hg@1: - CURL franta-hg@1: - DNS franta-hg@1: - ping franta-hg@1: franta-hg@1: Podporovat PL/SQL nebo procedurálnost nechat na klientovi, který bude volat SQL dotazy, příkazy? franta-hg@1: franta-hg@1: Dynamické tabulky: franta-hg@1: - obsahují neomezenou množinu dat franta-hg@1: - musíme použít WHERE podmínku (jinak vyhodí chybu) franta-hg@1: - vygenerují odpovídající obsah (např. výsledek DNS dotazu) franta-hg@1: - vypadají jako normální tabulka (ve skutečnosti je to spíš funkce) franta-hg@1: franta-hg@1: Aktualizovatelné tabulky: franta-hg@1: - lze provádět INSERT, UPDATE, DELETE franta-hg@1: - provádějí nějakou akci, např. vytvoření souboru, uživatele, spuštění procesu franta-hg@1: franta-hg@1: franta-hg@1: Inspirace: https://sqlite.org/vtab.html – The Virtual Table Mechanism Of SQLite