Distribuire una Java Web App su Azure utilizzando Eclipse

Ciao a tutti!

Mi collego al post della scorsa settimana, in cui Lorenzo  ci ha raccontato tutte le novità legate all'annuncio dell'entrata di Microsoft nell'Eclipse Foundation come Solutions Member, fatto durante l'EclipseCon 2016.

Come diceva Lorenzo, l'Azure Toolkit for Eclipse è stato aggiornato con l'inserimento del supporto per le Java Web App. In questo modo è ora possibile distribuire il codice della propria applicazione Java su una Azure Web App direttamente dall'IDE di Eclipse.

In questo post voglio mostrarvi come è possibile nella pratica effettuare questa operazione in pochissimo tempo.

1. Creare una Java Web App su Azure

Sono 3 i modi per creare una Web App su Azure che possa ospitare il codice Java

  • Se l'applicazione non richiede nessuna configurazione particolare e la versione di Tomcat o Jetty utilizzata è presente tra quelle supportate da App Service, si può procedere con la creazione del servizio direttamente dal portale di gestione.
    Create Azure Web App
    Una volta creata la Web App, si dovrà aprire la tab delle impostazioni, andare nelle Application Settings e selezionare la versione corretta di Java e il Java web container.
    Application Settings
    In questo caso, sia la versione di Java che il web container saranno eseguiti direttamente da Program Files. Gli altri metodi riportati invece collocano il web container e la JVM nel disco della macchina. Utilizzando questo primo metodo non si ha, quindi, la possibilità di accedere ai file per modificarli. Ad esempio, non sarà possibile configurare il file server.xml o aggiungere delle librerie alla cartella /lib.
  • Se si ha la necessità di configurare ulteriormente il web container sono disponibili dei template di Web App nell'Azure MarketPlace, che permettono di configurare un'applicazione web in Java con il corretto web container. Maggiori dettagli nella documentazione.
  • Se l'applicazione sviluppata necessita di una versione di Tomcat o Jetty che non è direttamente supportata da App Service o si ha la necessità di configurare il web container da zero, allora è possibile creare una Web App dal portale di gestione e successivamente fornire manualmente i file di configurazione appropriati. In questo caso, questi file saranno memorizzati nello spazio di archiviazione che si ha a disposizione per il Service Plan selezionato. Vedere la documentazione per maggiori dettagli.

2. Configurare Eclipse

A questo punto, per poter distribuire il codice della propria applicazione Java direttamente da Eclipse, così come è già possibile fare da Visual Studio per le applicazioni web sviluppate in ASP.NET, è necessario configurare l'IDE.
Aprire Eclipse e dal menu Help selezionare "Install New Software... ".

Install new software

Nel campo "Work with: " inserire http://dl.msopentech.com/eclipse e cliccare il tasto Invio.
Spuntare la casella "Azure Toolkit for Java", togliere la spunta alla voce "Contact all update sites during install to find required software" e fare click su Next.

install azure toolkit

Nella pagina "Install Details" fare click su Next e successivamente accettare i termini e le condizioni per l'utilizzo del software. Infine cliccare su Finish.
Una volta terminata l'installazione sarà necessario riavviare Eclipse. A questo punto si ha a disposizione tutto il necessario per distribuire la propria applicazione Java su Azure direttamente dall'IDE.

3. Distribuire il codice dell'applicazione Java su una Azure Web App da Eclipse

A questo punto è possibile creare un nuovo progetto in Eclipse o aprirne uno su cui si stava già lavorando precedentemente.
Una volta terminato di scrivere il codice dell'applicazione sarà possibile distribuirlo direttamente su Azure senza l'utilizzo di nessun tool aggiuntivo.
È sufficiente fare click con il tasto destro sul progetto che si vuole deployare. Nel context menu selezionare Azure e poi cliccare su Publish as Azure Web App.

publish as web app

Per prima cosa verrà aperta la finestra di login, in cui sarà necessario accedere con le credenziali utilizzate per la sottoscrizione Azure in cui è stata precedentemente creata la Web App. Eseguito il login, sarà possibile scegliere la Web App su cui distribuire il codice. Verranno mostrate tutte le Web App create sulla propria sottoscrizione, ma, ovviamente, solo quelle configurate con la versione di Java e il web container potranno essere selezionate. Fare click su Ok.

selezione della web app

In questo modo, come vedrete, davvero in pochissimi secondi, il codice verrà pubblicato sulla Azure Web App. Cliccando sul link Publish nell'Azure Activity Log di Eclipse sarà possibile collegarsi direttamente all'applicazione web per verificarne il corretto funzionamento.

publish

L'Azure Toolkit per Eclipse mette a disposizione template e funzionalità che permettono agli sviluppatori Java di creare, testare e distribuire in modo più semplice e rapido le loro applicazioni su Azure direttamente dall'ambiente di sviluppo di Eclipse. Si tratta di un progetto open source e si può trovare il codice che lo costituisce su Github.

Da notare bene che quando si utilizza l'Azure Toolkit per Eclipse su Windows è necessario aver installato anche l'Azure SDK versione 2.7 o successiva.

Infine, è stata aggiornata anche la sezione del portale di Azure relativa al Java Dev Center. In questa sezione è possibile trovare plugin per altri IDE, altri SDK e tool utili per gli sviluppatori Java, oltre a una serie di esempi di servizi Azure che possono essere direttamente integrati nelle applicazioni Java.

Insomma, questo, come altri annunci che sono stati fatti nelle ultime settimane, testimoniano come Microsoft sia sempre più aperta al dialogo con gli sviluppatori che utilizzano qualunque tecnologia per abilitarli all'uso di servizi completamente gestiti e altamente scalabili come quelli offerti da Azure.

Stay tuned... Per essere sempre aggiornati su tutte le novità!