Elastic Web Services (EWS)
Elastic Web Services (EWS) je integrační nástroj s dotazovacím aplikačním rozhraním (typu XMLRPC a REST) do základních relačních datových bází postavené na platformě Linux-Apache-PHP. Dotazování je umožněno v synchronním a asynchronním režimu a v rozsahu administrátorem předdefinovaných dotazů nebo volným dotazováním nad administrátorem definovanou skupinou dat. Přístup k datům je řízen na několika vrstvách - v samotné aplikaci, v databázi a volitelně je bezpečnost dat zvýšena pomocí volitelného prvku Web Application Firewall (WAF).
Základní popis aplikace EWS
Aplikace se skládá ze tří aplikačních komponent:
Aplikační rozhraní (API)
Dotazovací aplikační rozhraní, čerpající data ze základních relačních databází (speciálně odladěno pro Oracle databázi), je poskytováno třetím stranám prostřednictvím aplikace/služby buď prostřednictvím rozhraní REST nebo pomocí protokolu XML-RPC (umožňuje volání předdefinovaných dotazů tzv. Stored queries metodou POST a komunikující ve formátu XML) ; kde obojí používá HTTP jako transportní vrstvu. Výstup je generován ve formátu XML, a v případě REST i ve formátu JSON či GeoJSON (kde je to možné).
Uživatelské rozhraní (GUI) poskytuje nástroj pro simulaci dotazů a jejich výstupu ve formátech XML, JSON a GeoJSON.
- Pro simulaci XMLRPC volání pomocí query builderu
- Pro simulaci XMLRPC volání na předdefinované dotazy
Pro registrované uživatele pak prostředí pro základní správu jejich účtu.
Administrátorské rozhraní (GUI) poskytuje nástroje pro základní správu aplikace
- Pro správu uživatelů a rolí.
- Pro správu konektorů do datových zdrojů a jejich registraci.
- Pro registraci, validaci a publikaci předdefinovaných dotazů.
- Pro správu skupin dat pro volné dotazování.
Architektura systému EWS
Architektura systému obsahuje několik technologických komponent, kde každá vrstva řeší požadavek vysoké dostupnosti (High-availability = HA) na své vrstvě OSI modelu.
Komunikačním přístupovým bodem do systému je služba HAProxy (failover HTTP vrstvy) s podporou KeepAliveD (failover na IP vrstvě), která zajišťuje přerozdělování požadavků podle kondice jednotlivých nodů systému a balancování provozu – přepínání mezi aktivním a pasivním stavem (active / passive failover).
Aplikační kód EWS běží na webových serverech Apache 2.4.x. s podporou skriptovacího jazyka PHP 7.x.
Služby aplikace jsou tedy poskytovany v HA režimu; a to jak pro vývojové, tak produkční prostředí, které sdílejí vrstvy zajišťující vysokou dostupnost (KeepaliveD, HAProxy), ale mají separátní aplikační prostředí - separátní webserver pro produkční a vývojové prostředí.