Dopo aver utilizzato l'eccellente interfaccia di amministrazione di Django, pensavo di creare un sistema simile che non fosse così legato a un ORM.
Ora, considerando questo, ho pensato che il superamento delle limitazioni delle webapps (widget di base, sessioni, moduli basati su testo / HTTP, lingue distinte lato client / lato server nella maggior parte dei casi con un meccanismo di comunicazione limitato, ecc.) fossero un grande timewaster, e forse lo sviluppo tradizionale della GUI era un'opzione migliore.
Questo mi ha portato a utilizzare un'app desktop e quindi una parte server che si collega al database e la espone tramite RPC (servizi Web, qualunque sia) all'app desktop, gestendo la sicurezza nella tradizionale modalità webapp.
Tuttavia, al giorno d'oggi è possibile connettersi ai database in remoto in modo sicuro utilizzando SSL e presumibilmente i database forniscono un'autorizzazione basata sui ruoli (GRANT / REVOKE), quindi perché non connettersi direttamente al database ed evitare di codificare un server?
È una buona idea? Ci sono problemi inattaccabili con questo approccio? [Penso che in combinazione con una buona introspezione del database, si possa scrivere un framework relativamente semplice che consenta un RAD molto bello di app basate su database)? Quali sono i problemi teorici e quali sono i problemi con implementazioni specifiche?
domanda bonus: i database forniscono un'autorizzazione sufficiente? Mentre facevo la mia ricerca, mi sono imbattuto nel seguente thread di discussione:
che pone alcuni buchi nel tradizionale controllo di accesso basato su viste nell'implementazione di PostgreSQL.