Ha senso, e se si quale, prelevare dei dati da un DB e passarli all'utente come HTML, usando un XML "nel mezzo". Domanda stupida, che però non ho trovato speigazione nelle varie guide che ho letto...
Ha senso, e se si quale, prelevare dei dati da un DB e passarli all'utente come HTML, usando un XML "nel mezzo". Domanda stupida, che però non ho trovato speigazione nelle varie guide che ho letto...
Ciao,
io faccio spesso così, o addirittura anzichè XML utilizzo la sintassi JSON.
Ho fatto dei test di confronto:
Su ciclo applicativo di questo genere:
Richiesta HTTP -> Servlet -> Recupero dati -> Creazione lato server del codice HTML -> Invio pagina
e cosi:
Richiesta HTTP -> Servlet -> Recupero dati -> Creazione lato server del doc XML/JSON -> Invio dati
Nel secondo caso ho notato che risparmi risorse sul server e quindi tempo, i dati inviati sono meno pesanti e soprattutto per la creazione dell'intefaccia grafica vengono spese le risorse del client che ha eseguito la richiesta HTTP alla mia servlet.
Per me ha senso.
Ciao
Mirko Agrati
WEB : http://mirkoagrati.110mb.com
RSS : http://feeds.feedburner.com/MirkoAgratiArticoli
Cioè quindi anzchè, interrogare il DB e preparare direttamente la risposta HTML, creo un file XML al volo con le infomazioni prelevate dal DB, e poi uso xslt per visualizzare l'html di quel file XML?
Esatto,
sul client puoi anche valutare l'ipotesi di usare javascript.
Ciao
Mirko Agrati
WEB : http://mirkoagrati.110mb.com
RSS : http://feeds.feedburner.com/MirkoAgratiArticoli
Sì, infatti sto utilizzando JS.
L'applicativo è realizzato AJAX. Ho un file jsp che quando è richiamato effettua delle query al DB e viene forzato come header a text/xml.
Ogni volta però che viene richiamata la funzione JS, viene anche richiamato il file JSP (documento XML) e quindi viene di nuovo rieseguita la query.
Poi i dati vengono pescati dal documento XML, con JS e XPath.
Come approccio è corretto o avrei bisogno di salvare ogni volta il documento XML su disco, in modo che se non è modificato il contenuto, non faccio query al DB cmq di troppo?
Ciao,
dipende da quanto è onerosa in termini di tempo e risorse la query in questione.
Cmq, in generale, avere un sistema di caching aiuta di sicuro.
I modi per realizzarlo sono tanti, per esempio sul server oppure salvarti il DOM del doc XML in una variabile del client ed ogni 5 minuti eseguire una chiamata asincrona per caricare di nuovo i dati,
oppure variabili statiche che vengono settate ad ogni insert o update e controllate prima di eseguire una select per verificare se i dati sono stati modificati.
Insomma, qui ti puoi veramente sbizzarrire: vai di fantasia
Mirko Agrati
WEB : http://mirkoagrati.110mb.com
RSS : http://feeds.feedburner.com/MirkoAgratiArticoli
vabbè, voglio dire, senza caching, come dicevamo qualche post fa, ha ancora senso questo meccanismo. Giusto?Originariamente inviato da mirkoagrati
Ciao,
dipende da quanto è onerosa in termini di tempo e risorse la query in questione.
Cmq, in generale, avere un sistema di caching aiuta di sicuro.
I modi per realizzarlo sono tanti, per esempio sul server oppure salvarti il DOM del doc XML in una variabile del client ed ogni 5 minuti eseguire una chiamata asincrona per caricare di nuovo i dati,
oppure variabili statiche che vengono settate ad ogni insert o update e controllate prima di eseguire una select per verificare se i dati sono stati modificati.
Insomma, qui ti puoi veramente sbizzarrire: vai di fantasia
Penso ad es. a come stampo le info:
eseguo una query semplicissima senza where o filtri vari. Dopodichè vari cicli for e while, filtraggio dei risultati li realizzo con javascript e XPATH ed è cmq lavoro che risparmio al server e/o al DB. Giusto?