Il toolkit Abstract User Interface Markup Language, permette agli sviluppatori di scrivere una sola volta l'applicazione e di eseguirla sia su desktop usando le Swing, sia sul Web, senza alcun cambiamento. Il toolkit include l'AUIML Visual Builder, che è un designer distribuito sotto forma di plug-in per Eclipse. L'API dell'AUIML può essere estesa con codice Java aggiuntivo per controllare il flusso dell'applicazione, la validazione dei dati o per rimanere in ascolto di particolari eventi. Una volta che l'applicazione è implementata, può essere distribuita come applicazione Java Swing o come servlet HTML senza modificarne il codice.
La versione attuale del toolkit <A HREF="http://www.alphaworks.ibm.com/tech/auiml" TARGET="_BLANK">AUIML</A> include sia un renderer Swing che uno HTML. Quest'ultimo viene eseguito come servlet ed invia la rappresentazione HTML dei dati al browser.
AUIML è un dialetto XML che è neutrale rispetto alla piattaforma ed alla tecnologia di rappresentazione visuale di pannelli, wizard, tabelle di proprietà ecc. In base alla piattaforma o al dispositivo usato, il renderer decide il modo migliore di presentare l'interfaccia utente e ricevere gli input dell'utente.
L'XML dell'AUIML è creato usando l'AUIML VisualBuilder, che permette allo sviluppatore di costruire rapidamente le interfacce utenti e di visualizzarne un'anteprima nelle modalità Swing ed HTML. VisualBuilder può anche creare automaticamente data beans, gestori di eventi e lo scheletro del sistema di help per l'interfaccia utente. Visto che il tool è un plug-in di Eclipse, la costruzione dell'interfaccia utente e del codice dell'applicazione, diventa un processo integrato. [ASC]