Le applicazioni WEB si basano su di un architettura client/server. Il server ha il compito di processare e rispondere a tutte le richieste provenienti dai client. In JAMP le richieste possono essere effettuate tramite metodi tradizionali ossia utilizzando i tag a o form o per mezzo di transazioni AJAX. Le transazioni AJAX sono delle richieste che avvengono in "background" vale a dire evitano "l'odioso" ricaricamento della pagina e di fatto ottimizzando il flusso dati tra il client ed server limitandolo solo allo stretto necessario.
Per sviluppare applicazioni con JAMP non è necessario conoscere a fondo le tecniche con le quali è possibile effettuare delle richieste(lato client) ed elaborarle(lato server) in quanto è già onere del framework gestire in maniera automatica operazioni di lettura/scrittura, per un uso più avanzato si consiglia comunque di approfondire l'argomento.
LATO CLIENT
Le richieste AJAX vengono effettuate tramite comandi javascript, tutto il codice per inviare le richiste al server e gestirne le risposte risiede nella classe AJAX(js/ajax.js) in particolar modo i metodi più importati di tale classe sono:
si tratta di una funzione parametrica con la quale è possibile inviare molteplici tipologie di richieste al server.
- method: metodo di invio della richiesta(POST o GET).
- url: nome della pagina da richiamare.
- data: parametri da inviare al server, utilizzare la sintassi parametro=valore(es. par1=val1&par2=val2...parn=valn).
- sync: true indica che la richiesta sarà effettuata in modalità sincrona(si attende risposta dal server) false modalità asincrona.
- returnxml: se false la risposta da parte del server non prevederà la restituzione di xml.
Il server in base alla richiesta può restituire un codice XML il quale verrà elaborato dalla classe che si occuperà di:
- Esegue eventuale codice javascript presente nel codice XML restituito dal server.
- Carica i dati restituiti dal server nei rispettivi datasource dsObj.DSresult[row][field] = new Array();
LATO SERVER
Le richieste proventienti dal client vengono elaborate in maniera automatica dal server, in alcuni casi può essere utile poter intercettare le richieste tramite l'uso degli eventi e modificare il comportamento di default.