Apache Tapestry, framework open-source per applicazioni web in Java

ApacheTapestryApache Tapestry è il framework open-source, rilasciato sotto licenza Apache Software Licence 2.0, che abitualmente utilizziamo nella creazione e nello sviluppo di applicazioni Java per il web, al fine di farle risultare dinamiche, robuste, ed altamente scalabili, sfruttando tutta la potenza di Java. Il framework Tapestry è basato su API Java Servlet standard, e quindi può funzionare in qualsiasi servlet container od application server.

Tapestry rende effettivamente possibile lo sviluppo di applicazioni web in Java, potendo creare l’applicazione web in termini di oggetti, nonché metodi e proprietà di questi, e non tramite URL e parametri di query. Grazie alle avanzate Concurrency API di Java, Tapestry gestisce le richieste in maniera estremamente veloce, senza per questo sacrificare sicurezza e stabilità dell’applicazione.

Con Tapestry l’applicazione web viene scomposta in una serie di template HTML, ognuna di queste composta da diversi componenti che utilizzano codice HTML semplice, combinandole con piccole quantità di codice Java. Questa struttura logica consente al framework Tapestry di provvedere coerentemente all’evasione di diversi compiti come, ad esempio: la costruzione dell’indirizzo URL e la sua traduzione, la memorizzazione dello stato delle sessioni persistenti sul client o sul server, la convalida dell’input immesso dall’utente, la localizzazione e l’internazionalizzazione dei contenuti, la gestione della segnalazione delle eccezioni.

Tapestry è specificamente progettato per poter scalare da piccole applicazioni web a pagina singola, fino ad applicazioni costituite da centinaia di pagine, e sviluppate da squadre diverse. Tapestry si integra facilmente con qualsiasi tipo di backend, tra cui JEE, HiveMind, Spring e Hibernate.

Questo è quanto è possibile fare con Tapestry, ma naturalmente è importante anche, se non principalmente, come lo si fa! Tapestry è un ambiente orientato decisamente alla produttività. Grazie alla funzionalità di “live class reloading” è possibile vedere immediatamente il risultato delle modifiche apportate al codice Java con un semplice refresh del browser. I suoi template sono molto simili ai normali modelli HTML, e non sono presenti tutte le complicazioni viste in JSP (JavaServer Pages).

Insomma, il framework Tapestry è amato da tutti, perché semplifica la collaborazione tra squadre di grandi dimensioni che lavorano insieme, e perché features importanti, come ad esempio la localizzazione dei contenuti multi-lingua, sono già perfettamente integrati.

Chi inizia a lavorare con Tapestry non torna più indietro: la velocità e la completezza di Java, unita alla velocità di sviluppo nello stile di Ruby o Python!