FLORES API Tutoriál - Základní informace
API
Application Programming Interface rozhraní systému IS FLORES (dále jen Web API) je postavené na principech REST a webových technologiích (HTTP protokolu). Tj. umožňuje komunikaci s jinými systémy prostřednictvím protokolu HTTP (verze 1.1). Sestává ze dvou níže uvedených komponent, které spolu vzájemně komunikují.
Zkratku API lze volně přeložit jako rozhraní pro programování aplikací, díky kterému lze jednoduše přistupovat k údajům v informačním systému, v tomto případě v systému IS FLORES.
Jak Web API obecně funguje? Lze si představit dětskou hračku, do které se vkládají různé tvary. Každý z nich je navržen tak, aby se vešel do konkrétního otvoru. Kolečko do kolečka, hvězdička do hvězdičky atd. Na podobném principu funguje komunikace mezi systémy, které jsou propojené pomocí API. Mají spolu dohodu: „Když mi dáš tento požadavek, já ti dám tuto odpověď. Mobilní aplikace tak například umí zobrazit data (třeba informaci, zda bude o víkendu pršet), která získá z nějakého webu (třeba serveru s předpovědí počasí). A stejně jako můžeme krabičku natřít na jinou barvu a tvary do ní budou stále pasovat, u webu můžeme změnit grafiku a aplikace bude datům "uvnitř" pořád rozumět. Pro uživatele je to jednoduché. Netuší, co všechno spolu systémy musí "vykomunikovat". Jen se dotkne displeje a zjistí, jestli bude v sobotu pršet.
Rozhraní Web API systému IS FLORES představuje způsob, jak pracovat se systémem IS FLORES z externích aplikací - e-shopů, webových portálů apod. Díky spolupráci serverů při výměně dat se například lze přihlašovat na různé weby přes účty na Twitteru či Facebooku. Programátor může díky API pomocí několika řádků kódu zajistit např. přenos dat z informačního systému do e-shopu (či jiné webové aplikace) a naopak. Může jít např. o seznam firem, aktualizace skladových položek nebo třeba vytvoření
Data jsou díky rozhraní Web API systému IS FLORES přístupná přes odkazy URL a dostupná ve formátu JSON - aktuálně nejpoužívanějším formátu pro výměnu dat. API server je postaven na architektuře REST a využití HTTP protokolu. REST rozhraní umožňuje k datům jednotný a hlavně velmi snadný přístup. HTTP protokol funguje na principu požadavku a odpovědi. Klient (například webový prohlížeč) pošle požadavek webovému serveru. Ten ho zpracuje a nějakým způsobem na něj odpoví. To vše zajistí několik řádků kódu, který napíše programátor uživatele, objednaný konzultant apod. Pro běžné uživatele jsou důležitá jen data a informace, která se takto propojí mezi informačním systémem a například webovou aplikací. Součástí řešení Web API systému IS FLORES je implementace standardu Swagger, dnes známého jako Open API.
Co je hlavním přínosem API? Rozhraní Web API a vše kolem něj tedy představuje otevřený soubor nástrojů, funkcí a operací, které má programátor volně k dispozici. Může pracovat se standardními nástroji, aniž by potřeboval studovat složitou dokumentaci. Odeslané požadavky si programy zprostředkují mezi sebou. Výsledkem je pokročilá automatizace, která výrazně šetří čas.
Co takové propojení přináší uživatelům informačních systémů v praxi? Téměř neomezené možnosti, jak vylepšit každodenní firemní procesy. Např. data z výroby se přes API pošlou do systému, kde se s nimi může dál pracovat. Obchodník v terénu odešle přes mobil množství prodaného zboží, které se okamžitě odečte ze skladu. Manažer si kdykoliv a kdekoliv zobrazí v aplikaci pro chytré hodinky firemní data. V systému se také hned objeví údaje o množství pohonných hmot, které zaměstnanci natankovali během pracovní cesty. Apod.
Rozdíly proti starším webovým službám IS FLORES:
-
Vše, co potřebujete k provozu API, je k dispozici v rámci instalace IS FLORES, dostupné po nainstalování IS FLORES.
V posledních verzích vč. podpory https protokolu (tj. není nutno předřazovat ještě nějaký externí WS jako proxy).
- Neprogramujete (prostřednictvím skriptování) na straně IS FLORES. Tj. veškeré objekty jsou ve výchozím stavu k dispozici a manipulujete s nimi deklarativně, tj. posíláte rozhraní Web API nějaký JSON na určitou URL a tím vlastně říkáte, co chcete, aby se s daným Business objektem (BO) stalo.
- Licencování - REST API systému IS FLORES je licencováno počtem uživatelů, kteří k němu mají přístup. U webového API webových služeb se požadavky vždy zpracovávají pod jedním konkrétním uživatelem, a když je potřeba přihlásit jiného uživatele, je nutné vypnout celého klienta a znovu spustit. V REST API je možné "přepínání uživatelů za běhu", resp. autentizace je součástí každého požadavku.
Web API jako celek sestává ze dvou komponent. Fyzicky se jedná o dva soubory ve složce, ve které je nainstalován systém IS FLORES (klient).
Web API rozhraní je v současné době možné provozovat pouze na platformě Windows, hlavním důvodem je právě vzájemná komunikace těchto dvou komponent.
Pokud výchozí umístění některého z těchto dvou souborů změníte, takže se budou nacházet v různých složkách, je zapotřebí v konfiguračním souboru APIServer.yaml v sekci server změnit hodnotu parametru apiLibPath (aby API server knihovnu nalezl). Konfiguraci Web API serveru si ukážeme v další kapitole.
Architektura rozhraní Web API se ve verzi IS FLORES 21.3 změnila. V minulosti bylo rozhraní realizováno trojicí Windows aplikací WebAPIServer.exe, WebAPISupervisor.exe a WebAPIWorker.exe. Nové řešení je jednodušší a díky podpoře vícevláknového zpracování požadavků také výkonnější.
Jak to vypadá, když pošlete z HTTP klienta požadavek na REST API:
Klient pošle HTTP požadavek, server požadavek obdrží a předá ho API knihovně (prostřednictvím nativního volání metody handleRequest, která je v knihovně implementována). Knihovna zařídí vyhodnocení požadavku v souladu s business logikou systému IS FLORES a vrátí odpověď serveru, který ji následně přetlumočí klientovi.
U rozhraní Web API systému IS FLORES je důležité, že se jedná o REST rozhraní. Tj. při zasílání požadavků se používají standardní HTTP metody:
- GET - chcete-li získat Business objekt (BO) nebo kolekci BO
- POST - pro vytváření BO
- PUT - pro aktualizaci BO
- DELETE - pro mazání
U rozhraní Web API systému IS FLORES je metoda zvolená v daném požadavku důležitá (na rozdíl od některých jiných API, které povolují např. metodou POST aktualizovat).
Dostupné jsou:
- všechny BO, lze je vytvářet, aktualizovat, mazat, číst
- importní manažery (pro import jednoho dokladu do jiného aj.)
- definovatelné číselníky
- QuickReport funkce
- skripty
Dále viz . Kap.: Věcný obsah, základní pojmy - Web API.
1. Rozumíte základním principům Web API a architektuře jeho implementace v IS FLORES?
Můžete pokračovat dál kap. FLORES API Tutoriál - Nastavení a příprava rozhraní Web API.
Vraťte se k textu a znovu si jej prostudujte.