AJAX è una tecnica per sviluppare applicazioni web interattive e dinamiche usando una combinazione di:
* HTML (o XHTML) e CSS per la parte visiva
* DOM (Document Object Model) modificato attraverso JavaScript per mostrare dinamicamente le informazioni e interagirci
* L'oggetto XMLHttpRequest (sempre JavaScript)
AJAX è quindi un connubio di elaborazione sia lato server che lato client.
Lato client è prevalentemente dominato dal JavaScript.
Il protocollo di comunicazione prevede l'utilizzo di XML, ma questo non è obbligatorio, se l'applicazione che si vuole sviluppare e semplice è sufficiente usare delle stringhe di testo normale, poi elaborate lato client o lato server.
Per quanto riguarda il lato server hai l'imbarazzo della scelta, è a discrezione dello sviluppatore: PHP, JSP, ASP, CGI e chi più ne ha più ne metta.
In definitiva: JavaScript, XML (facoltativo) e un qualsiasi linguaggio di scripting web.
Esistono numerosi framewowrk per agevolare lo sviluppo di applicazioni con questo metodo, elencarli sarebbe impossibile, ma per quello puoi usare:
google http://www.google.com/search?q=ajax+%28toolkit+%7C+framework%29
yahoo http://it.search.yahoo.com/search?p=ajax+framework+OR+toolkit