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í.