Newsgroup: it.comp.lang.delphi
Titolo: delphi 5/6 vs Php/Mysql

Un saluto a tutti quanti,
sono circa un mesetto che io e il mio socio abbiamo problemi di
incomunicabilità dovuti a posizioni di pensiero diverse riguardo a come
utilizzare Delphi in un applicazione che dovrà girare online.
Noi chiediamo a Voi per avere un punto di vista  anche perchè i ns clienti
cominciano a chiederci applicazioni che girano sia in locale ma da cui si
potrà accedere anche in remoto per la modifica o accesso dei dati.
Ecco le soluzioni che sono state partorite
Fare in modo che lo script php oltre che a scrivere nel database sul server
scriva anche sul server interbase dove gira la nosrta applicazione in
locale. Pro: mi sembra un metodo abbastanza sicuro. Contro:
dall'applicazione puoi solo leggere i dati, non puoi inserire nulla.
Applicazione Delphi in locale che converte IB e  invia i dati in remoto sul
server già in mysql o access ( prefuero la muerte). Online possono essere
modficati attraverso un ' applicazione php o in Delphi (a proposito si fa ad
utilizzare un interfaccia html creata in Delphi ma che generi dati in
mysql??? Voi avete qualche idea, sapete quali componenti usare, avete già
realizzato qualcosa del genere)  . Da li possono essere quindi modificati e
quando il server in locale si collega riceve i dati in mysql e li
rinconverte in un gdb
Usare un file di scambio (sql o xml) che lo script php aggiorna
dinamicamente e che tu dall'applicazione ti prendi manualmente. Pro: non ce
ne sono. Contro: l'aggiornamento dei dati è difficile; se inserisci dati
dall'applicazione poi devi mandare il file xml online e devi in qualche modo
implementare una logica che aggiorni solo i dati nuovi (oppure fai in modo
di mettere sul file di scambio soltanto i dati nuovi da aggiungere) rendendo
pressochè impossibile tenere aggiornati cambiamenti o cancellazioni.
Installare il server web sul proprio pc (o su un pc in housing) (ma devi
avere una linea c*****ta censura ...potente) con la possibilità di fare
faville (tipo php e applicazione delphi che si interfacciano entrambe allo
stesso db interbase), ma questa è un'altra storia.... (ma è la soluzione più
ovvia anche perchè vai solo con un applicazione Delphi senza PHP)
Ciao
Pierluigi Martino


Ho qualche dubbio su cosa vogliate veramente ottenere, vediamo cosa pensate
di questa proposta:
L' applicazione Delphi locale lavora sul DB che preferisce (finche e' in
locale); se e quando serve, si interfaccia al DB remoto tramite ODBC.
Il DB remoto puo' essere in quello che vi pare.
E quando dico che vi si interfaccia, lo intendo alla lettera: MySQL apre una
porta sul server che l'applicazione Delphi puo' tranquillamente usare per
accedere.
Unico lato negativo la sicurezza, ma quel problema c'e' anche con l'HTTP...
Ciaotutti,
*

 potrà accedere anche in remoto per la modifica o accesso dei dati.
[Cut]
Salve
il problema da lei presentato è molto sentito.
A parte le scelte tecniche di implementazione il problema più grosso da
affrontare è che ci si troverebbe con due database da sincronizzare.
O si sceglie una soluzione del tipo
DB offline - Read Write
DB online - Read Only
oppure si devono decidere delle regole riguardo alla sincronizzazione del
tipo
Se un record su DB online è stato modificato e non sul DB offline allora
applica la modifica a quello offline.
Modifiche in DB offline prioritarie sul DB online qualora vi fossero
modifiche contemporanee sullo stesso record.
Altrimenti basare le tabelle su un sistema di schedulazione ma anche così si
dovrebbero stabilire delle regole di priorità.
Oltre alle modifiche va tenuto conto delle eliminazioni e degli inserimenti
(con relativa gestione degli indici etc.).
La cosa più pulita sarebbe delle connessioni ad alta banda per lavorare in
modalità client server direttamente sul server online (es. via web oppure
via Delphi) in modo da eliminare i due DB da sincronizzare.
In un progetto a cui sto lavorando a causa della deficienza di linee ADSL (o
HDSL) ho dovuto ripiegare sulla prima soluzione (read-write/read-only)