Koncept práce s formáty
Základní vlastnosti flexideo akcí jsou dány jejich technologickou realizací - jde o XML transformace. Veškerá data pro zpracování musí tedy být v XML. Vzhledem k tomu, že většina zdrojů (SQL, files, browsers, office, ...) xml podporují, jde o velmi efektivní a přitom dostatečně univerzální prostředek pro zpracování dat.
Ostatní formáty, např. JSON, CSV, HTML, PDF jsou na vstupu či výstupu akcí do/z XML převedeny nativním parserem. Uvnitř akce se však pracuje s různými zdroji jednotným způsobem, pomocí generovaných a serverme následně kompilovaných XSLT, které jsou aplikovány na definované zdroje.
Akce jsou tak v podstatě sekvencí XSL transformací, které jsou dle provedených nastavení vytvořené akce uloženy do souboru nastavení akce, který jednotlivé kroky definuje (viz. settings akcí).
Jsou-li na vstup akce doručena data v jiném formátu, je tato sada dat pro transformace převedena do stejně strukturovaného xml v patřičném jmenném prostoru (viz. URI akcí). S výstupními daty je to obdobné, pokud je třeba, aby akce vracela data v jiném než XML formátu, je výstup posledního kroku transformace vložen do patřičného jmenného prostoru daného datového typu a odpovídající parser se postará o jejich převod do očekávaného formátu. Dokonce i XML má svůj specifický formát, resp. řadu formátů.
Krom samotného datového formátu, tedy způsobu, jakým jsou strukturovaná či nestrukturovaná výstupní data zapsána, je určován i případný (volitelný) popisovací jazyk. Aktuálně jsou implementovány 4 druhy protokolových standardů:
SOAP/RPC - starší, již nepodporovaný XML RPC formát pro vzdálené volání služeb;
SOAP/document - klasický XML obáklový formát využívající WSDL jazyka pro popis rozhraní dané služby;
JSON-RPC - jednodušší formát pro vzdálené volání procedur popsaný a volaný pomcí JSON datového formátu;
JSON-WSP - webový protokol popisující služby na bázi objektových vazeb, nikoli jen jako volání procedur, opět pomcí JSON datového formátu;
Krom těchto nejrozšířenějších protokolových standardů je možné vytvářet služby bez popisu protokolu, tj. vystavovat služby jako koncový bod konzumující dohodnutý formát z nabízených možných datových typů.
Typy volání a formáty
Akce jsou registrovány třemi základními způsoby:
table - flexideo tabulková akce;
form - flexideo formulářová akce;
table - flexideo služba s vlastním formátem dat;
(viz. registr akcí)
Všechna tato volání je možné volat pomocí:
solve běžného požadavku action pro okamžité spuštění akce;
solve plánovaného požadavku do-action pro odložené či opakované spuštění;
soap nebo api/2.0 rozhraní, kdy každá akce automaticky vytváří svůj vlastní end-point v doméně instace;
Základní dělba akcí dle typů volání a dopady na použité formáty vstupu a výstupu. První co je třeba vzít v úvahu je dělení akcí dle využívaných standardů:
volba | popis | NS |
---|---|---|
document | buď SOAP (pro xml) nebo WSP (pro json) | soap:envelope / json:root *) |
RPC | protokolu xml/json RPC | soap:envelope / json:root *) |
IMAP | sync propojení na NS email | imap:root *) |
GET API | práce pomocí GET parametrů (+ custom data) | custom |
custom | vlastní formát (body + statický get) | custom |
V dalších kapitolách projdeme jednotlivé typy vstupu a výstupu na příkladech.