Newsgroup: it.comp.www.php
Titolo: Livello di astrazione per interfacciamento con 2 differenti db

Salve a tutti.
Devo sviluppare una applicazione (una sorta di modulo) che poi dovrà
essere "montata" su due piattaforme differenti, una scritta in php+mysql e
una in jsp+Oracle9i.
Si è deciso di implementare questa applicazione in php 4.3.4.
Avendole utilizzate abbastanza, conosco abbastanza decentemente sia le
funzioni di cui dispone php per l'interfacciamento con mysql, sia la
libreria OCI per ciò che riguarda oracle.
Il mio problema è questo: non voglio trovarmi nella condizione di lavorare
su due versioni parallele e avere due differenti prodotti su cui andare a
fare i vari aggiornamenti e dunque avrei la necessità di disporre di un
livello di astrazione da utilizzare nella mia applicazione che mi permetta
di far si che il problema delle due differti RDBMS sia l'ultimo di cui
debba preoccuparmi.
Ovviamente i due schemi db della mia applicazione (a parte le piccole
differenze nella definizione dei tipi di dato) saranno pressochè identici.
Vi chiedo: esistono delle funzioni o delle classi già implementate che
facciano al caso mio, o è il caso che mi rimbocchi le maniche e provveda
ad implementarmele da solo? Il mio unico grande problema è il tempo :-)
Vi ringrazio in anticipo.
--
Mauro Cecamore
-----------------------------
http://www.digitalavenues.org
-----------------------------
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

debba preoccuparmi.
http://pear.php.net/package/DB/
esempio di utilizzo:
http://www.phpbuilder.com/columns/allan20010115.php3
-- 
http://e-0.org

 ad implementarmele da solo? Il mio unico grande problema è il tempo :-)
scusa, ma a parte l'interfaccia grafica delle pagine cambiando 
linguaggio e DB dalla piattaforma A a B cosa vorresti riutilizzare?
il tuo discorso mi torna se la tua applicazione fosse tutta php (o jsp) 
e una volta su mysql e una volta su Oracle.... o pensi di fare tutta la 
business logic in java e poi usare le classi php per il java?
Ciao Gianfranzo
-- 
ICQ#: 21258924 Nick Gianfranzo
Home page 
http://www.gianfranzo.it
Gianfranzo è contro la guerra
"dopo tutto, gli angeli non sono altro che dei volatili" D. Pennac

 business logic in java e poi usare le classi php per il java?
Si tratta semplicemente di due piattaforme differenti, che fanno cose
pressochè simili.
Ti ripeto
- una poggia su database oracle e l'altra su database mysql.
- una e' fatta in jsp e l'altra in php
- ho accesso al codice e alle basi di dati di entrambe. Sono skillato da
un annetto su entrambe.
Ora: piu' clienti ci hanno chiesto di svuluppare una nuova funzionalità
(più o meno complessa) e la richiesta viene dai fruitori di entrambe le
diverse tipologie di piattaforme.
Dato che da raccolta dei requisiti viene fuori una specifica pressoche'
identica, e per questioni di tempo legate a discorsi commerciali ho
necessità e possibilità di sviluppare un unico componente scritto in php
che possa andar bene per entrambe.
Tutto qui.


 
http://www.phpbuilder.com/columns/allan20010115.php3
Ciao
Grazie mille per la tua risposta rapidissima ed utilissima
Il problema ora e' che usando DB.php mi dice che una funzione (is_a(..))
non e' definita...
Per caso hai info a riguardo?
In ogni caso grazie mille.
Ps: il sito che hai in firma è fantastico :-)
Se è il tuo, complimenti davvero.



Ciao,
come sai purtroppo il "write once e run everywhere" con i database è sempre
un'utopia.
Se comunque ti serve una panoramica sui layer di astrazione disponibili per
PHP la trovi qui
http://freephp.html.it/articoli/view_articolo.asp?id=127
http://freephp.html.it/articoli/view_articolo.asp?id=129
Hai scelto due DB piuttosto differenti tra loro e in ragione della
complessità delle operazioni che dovrai svolgere e delle query da inviare il
layer di astrazione potrebbe rivelarsi più o meno utile
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Se è il tuo, complimenti davvero.
 :) ti ringrazio
-- 
http://e-0.org