Documentazione interna
Obiettivi
- ZeusQL è nato a seguito delle SAPI ed ha l’obiettivo di esserre una interfaccia di un database sul quale eseguire delle query custom tramite un protocollo proprietario.
- Il database al quale si collega è definito dai json delle entità , che definiscono le tabelle del database, e dalle stringhe di connessione, che definiscono il tipo di database e la stringa di connessione.
- ZeusQL ha inoltre l’obiettivo di potersi collegare a qualunque database SQL.
ENDPOINTS
POST api/zeusql
| EntitĂ | Descrizione | ResponsabilitĂ |
|---|---|---|
| client | API caller | Invia la richiesta e riceve la risposta |
| endpoint | EndPoint POST api/zeusql | Riceve la richiesta, coordina il flusso e restituisce la risposta |
| deserializer | Custom filter deserializer | Deserializza dinamicamente il polimorfismo di FilterComponent in FilterClause e FilterCondition |
| requestValidator | Validatore del protocollo | Verifica la correttezza e validitĂ della richiesta fatta dal client in base al protocollo di ZeusQL |
| ReadEntityManager | Gestisce la lettura delle entitĂ | Coordinatore per la lettura dei json entitĂ |
| executeQueryManager | Gestisce l’esecuzione della query | Coordinatore del QueryBuilder e del esecutore della query |
| DataAccessObject | Lettore entitĂ | Classe che si occupa della lettura e deserializzazione del json entitĂ |
| queryBuilder | Definisce la query | Costruttore dell’oggetto Query |
| queryExecutor | Esegue la query sul database | Gestisce la connessione dinamica sui vari database SQL ed esegue la query generata dalla classe Query |