Può un'applicazione web utilizzare un database monoutente?

06/ott/2010 18.48.35 omnidea srl Contatta l'autore

Questo comunicato è stato pubblicato più di 1 anno fa. Le informazioni su questa pagina potrebbero non essere attendibili.
Può un'applicazione web utilizzare un database monoutente?

Qualcuno ha sollevato la questione circa il fatto che un'applicazione web potesse utilizzare un motore per database monoutente come REALSQLDatabase. In teoria, l'applicazione è una specie di server (che gestisce tutti gli utenti che sono connessi) ed è l'unica a comunicare con i dati caricati nel database, che è ciò che la maggioranza dei server database fa.
La maggiore differenza tra REALSQLDatabase e un server database è che quest'ultimo gestisce il blocco dei record: quando un utente desidera modificare un record, il server è in grado di bloccare l'accesso a quel record da parte di altri utenti in modo che questi non possano modificarlo. REALSQLDatabse non possiede questa funzionalità. È possibile ricreare questa situazione memorizzando un array di oggetti sia globalmente nella classe dell'applicazione (o in un modulo) o come una proprietà di ciascuna sessione in cui questa tenga traccia di quale disco o dischi si stanno modificando.

REALSQLDatabase è basato su SQLite. SQLite consente ad un numero illimitato di utenti di leggere i dati del database contemporaneamente, ma consente l'accesso in scrittura ad uno solo alla volta. Se un utente tenta la modifica al database mentre un altro sta modificando il medesimo record, si genera un errore. Controllando la proprietà "Error" dell'oggetto REALSQLdatabase è possibile verificare questo subito dopo una qualsiasi azione che aggiorni il database. Grazie a SQLite, REALSQLDatabase è molto veloce nell'aggiornare i record e in seguito ai nostri test non siamo riusciti a verificare la situazione di un errore avvenuto per la modifica contemporanea da parte di due utenti.

Attualmente, quando si aggiunge una connessione al database per il vostro progetto web, la connessione è gestita globalmente anziché per sessione. Se il vostro accesso al database dell'applicazione è user-driven, come nel caso in cui un utente avvii una query per esempio, la cosa migliore sarebbe connettersi tramite codice in modo da poter memorizzare il database di riferimento sulla classe sessione. Con questa tecnica, ogni sessione attua una connessione separata al database e SQLite può gestire le cose in modo corretto. Prima di pubblicare il nostro framework per il web, dovremmo probabilmente modificare il comportamento interno in modo che le connessioni al database siano automaticamente basate su sessione.

Quindi, a seconda della natura della vostra applicazione e del numero di utenti che necessitano di accedere al database contemporaneamente, REALSQLdatabase può funzionare bene per i vostri propositi. Basta tenere a mente di controllare se si verifica un errore dopo ciascuna modifica al database (che dovrebbe essere effettuato in ogni caso) e che se necessitate del blocco dei record dovete scrivere del codice ad-hoc per questo.
Se si desidera creare un'applicazione tradizionale database-oriented, la soluzione migliore rimane comunque un server database dedicato tradizionale.

REAL Studio Web Edition: il modo più facile e veloce di creare le tue applicazioni web 3.0.

Molte applicazioni web richiedono ore di lavoro per lo sviluppo. Praticamente non esistono strumenti visuali per la realizzazione di interfacce web. Spesso è necessario essere esperti di diverse tecnologie web, come HTML, JavaScript, CSS, AJAX e PHP o Java.

REAL Studio Web Edition ti risparmia tutto questo. Dispone di una interfaccia di sviluppo completamente visuale con drag & drop, tale da farti risparmiare ore di sviluppo rispetto alla classica programmazione HTML e CSS a mano. Il suo linguaggio object-oriented ad alto livello ti permetto di focalizzarti sulla logica della tua applicazione usando un solo linguaggio. Inoltre, tutti i controlli disponibili sono supportati dai maggiori browser, evitando così ore su ore di test sulla compatibilità.

REAL Studio Web Edition sarà disponibile in Autunno 2010 come nuova versione di REAL Studio ad un prezzo di € 475 e sarà inoltre inclusa in REAL Studio Enterprise Edition.

--
Sara Canali
omnidea srl

www.omnidea.it
follow us on twitter.com/omnidea
www.omnilabs.it
/italian innovation division
follow us on twitter.com/omnilabs

blog comments powered by Disqus
Comunicati.net è un servizio offerto da Factotum Srl