Newsgroup: it.comp.software.database
Titolo: interfaccia database

Salve.
Volevo costruire un interstrato tra database e l'applicazione che lo
utilizza,per semplificare i problemi dovuti a un cambio di database.
Tale interstrato dovrebbe inoltre preoccuparsi dei problemi di
sicurezza,gestire anche quindi i permessi alla lettura/scrittura dati.
qualcuno sa indicarmi qualche articolo,testo,sito...ogni genere di
materiale sull' argomento insomma.
Grazie


Ma non esiste giň ODBC?
    danilo


Esistono già middleware del genere .... ODBC, OleDB...........

     danilo
grazie.ho cercato sul sito della msdn ed effettivamente e' quello che cercavo.
ma ODBC si occupa anche di gestire i permessi di lettura/scrittura su DB?
grazie

 ma ODBC si occupa anche di gestire i permessi di lettura/scrittura su DB?
quello deve farlo il DB.........

...

e' possibile l'idea di creare una "classe" che gestisca tutta la
comunicazione tra applicazione e DB (nel caso ODBC)?
Pensavo qualcosa del genere istanziare un oggetto per ogni utenza che
deve accedere al db,e accedere sempre tramite questo oggetto.
e' realizzabile?e' un buon approcio?attualmente come vengono fatte
cose del genere?
Un altra cosa:
mi hanno suggerito PHP.
PHP serve solo per la generazione di pagine dinamiche per pagine web,o
puo' effettivamente risultarmi utile allo scopo?
Come prima,lasciatemi qualsiasi link ritenete interessante.
grazie
ciao

 puo' effettivamente risultarmi utile allo scopo?
è un linguaggio di scripting che solo ultimamente ha abbracciato la
filosofia ad oggetti...
Ha i suoi pregi e difetti ma è utilizzato esclusivamente per la creazione di
pagine dinamiche(PHP sa per Personal Home Page)
Giovanna se magari ci dici cosa devi realizzare magari riusciamo a
indirizzarti meglio ... fino ad ora le tue domande sono molto di basso
livello(basso nel senso molto vicino all'implementazione)
Ciao
Matteo

Cerca su internet il pattern (modello) DAO
Te lo spiego in breve:
I programmi richiedono dei dati, che sia un file XML, una query semplice
SQL, una complessa, un file di testo formattato...
...comunque sia contengono dati, i quali possono essere
letti/aggiornati/eliminati/inseriti.
Ogni sorgente, vista come un rubinetto, deve essere aperta e poi chiusa (a
prescindere dal tipo di rubinetto!).
Ogni operazione deve essere confermata/annullata.
DAO (Data Access Object) serve per disaccoppiare tutte queste operazioni tra
chi le implementa e chi le utilizza.
Seguendo questo discorso, immagina una classe che fornisce metodi del tipo
retrieve();
insert();
update(Object obj)
delete()
open();
close();
commit();
rollback();
i programmi invocano questi metodi ed il DAO contiene il codice legato al DB
o in generale ad una sorgente dati.
Se cambia la sorgente, ad esempio usi un parser XML invece del DB ( o del
rubinetto!)  modificare il DAO apposito
per tale sorgente ed il gioco è fatto!
Come si generalizza? Ossia, visto che esisto sorgenti diverse, come posso
usare un solo oggetto DAO?
1. DAO sarà una classe astratta
2. Avrai tante classi figlie quante te ne servono
3. Usi il pattern Factory (te lo spiego con un esempio):
Definisci una classe DAOFactory che dispone di un metodo
          DAO getDAO("NOME");
NOME è il nome della sorgente o anche di un raggruppamento di dati ( ad
esempio "Fornitori").
sarà DAOFactory ad istanziare la classe giusta e restituirla
4 I programmi quindi, istanziano un DAOFactory, richiedono l'oggetto DAO e
usano l'interfaccia comune  di cui sopra.
Bye!