Pubblicato il 27 Marzo 2013 da Giampiero Granatella

In questo post vediamo come sviluppare applicazioni su Portofino 4 utilizzando Eclipse.  Lo sviluppo tradizionale di un'applicazione Web in Eclipse richiede la creazione di un progetto web e il suo deploy su un application server quale Tomcat. Questa modalità è certamente possibile anche con Portofino, ma ha due svantaggi: primo il redeploy è lento e, secondo, con questo ciclo di vita si perde la possibilità di modificare gli script Groovy su sistemi live. 

L'idea che proponiamo in questo post è di creare un progetto che punti all'applicazione web in esecuzione sotto Tomcat. In questo modo possiamo sfruttare la potenza dell'IDE e mantenere la peculiarità di Portofino di effettuare modifiche sul sistema live senza rieffettuare deploy.

Perché usare un IDE? Portofino può essere utilizzato anche solo attraverso un browser ed, eventualmente, un editor di testo. Ma l'utilizzo di un IDE, quale Eclipse, facilita la creazione e la modifica di pagine xml, jsp e degli script groovy. Con Eclipse possiamo, ad esempio, debuggare gli scrip Groovy, navigare e ricercare le classi, avere sintassi colorata, auto completamento, import automatici  e funzioni di refactoring.

Per la realizzazione di questo post ho utilizzato l'ultima versione disponibile di Eclipse: Juno, ed il bundle "Eclipse IDE for Java EE Developers". 

Impostazione del progetto

All'interno di Eclipse, creiamo un nuovo Dynamic Web Project
 
 
PASSO 1. Diamo un nome al progetto e usiamo come "Location" il war espanso sotto Tomcat. Possiamo ignorare gli altri parametri e clicchiamo su "Next"
 
 
 
PASSO 2. Nel passo successivo ci vengono richieste le directory per i sorgenti. Possiamo eliminare "src", la directory che Eclipse ci propone, e aggiungiamo la directory "apps/default/groovy" dove risiederanno gli script groovy condivisi.
 
 
 
PASSO 3. Definiamo la Context root ("/" se stiamo modificando webapps/ROOT) e la Content directory, che imposteremo con "/apps/default",
 
 
Clicchiamo su "Finish" e aspettiamo che il nostro progetto venga importato.
 
Per ovviare a problemi legati alle dipendenze creiamo una "User Library" con dentro le dipendenze della nostra web app: tutti i jar sotto WEB-INF/lib e i jar nella directory lib di Tomcat. 
Per fare questo click con il tasto destro sul progetto "Build Path > Configure build path ..." e creaiamo la nostra libreria. 
 
 
A questo punto il nostro progetto è pronto per essere modificato con Eclipse.
Se non si è mai installato l'opporrtuno plug-in, potremmo avere ancora problemi nell'editing dei file Groovy.

Groovy

Per installare il plug-in di Groovy fate riferimento al sito http://groovy.codehaus.org/Install+Groovy-Eclipse+Plugin
Clicchiamo su "Help > Install New Software..." e configuriamo l'url da cui prendere il plugin e gli opportuni pacchetti come in figura (url cambia a seconda della versione di Eclipse).
 
 
Riavviamo Eclipse e ora i nostri file Groovy, hanno la sintassi colorata, e possiamo usare gli import automatici e l'autocompletamento.
 
 

Debug Remoto

Oltre a quanto fatto sino ad ora possiamo utilizzare Eclipse per fare il debug della nostra applicazione in esercizio. Per fare questo abbiamo bisogno di:

  1. configurare Tomcat perché venga avviato in modalità debug
  2. configurare Eclipse perché si agganci al server remoto

Per effettuare questi passi potete fare riferimento al sito http://wiki.apache.org/tomcat/FAQ/Developing.

Avviamo Tomcat in modalità debug impostando due variabili d'ambiente e avviando Tomcat come mostrato di seguito (esempio per Linux o Mac)

export JPDA_ADDRESS=5005

export JPDA_TRANSPORT=dt_socket

bin/catalina.sh jpda start
 
Da Eclipse clicchiamo su "Run->Debug Configurations...".  
 
 
Selezioniamo una nuova "Remote Java Applications" impostiamo l'host e la porta nel nostro caso 5005 (il valore della variabile JPDA_ADDRESS).
 
 
E questo è tutto. Mettiamo un break point sul file security.groovy, facciamo il login e vediamo il debugging di Eclipse in esecuzione.
 

Conclusioni

In questo post abbiamo visto come configurare Eclipse per sviluppare applicazioni web in Portofino. L'utilizzo di un IDE porta una serie di vantaggi, primo fra tutti la possibilità di fare il debug dell'applicazioni.
E' possibile utilizzare altri IDE Java come NetBeans o IntelliJ configurandoli in maniera simile a quanto fatto in questo post.

 

 

comments powered by Disqus