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

Související reference:

IPR – Institut plánování a rozvoje hl.m. Prahy