In questo numero ci occuperemo della fase di deploy di una applicazione RCP, operazione che, nella terminologia Eclipse RCP prende il nome di “creazione di un Prodotto”.
Introduzione
Fino a questo punto abbiamo visto i nostri esempi RCP essere lanciati dall’interno dell’IDE stesso; ma come si procede quando il progetto deve essere installato su una macchina client?
In questo numero ci occuperemo della fase di deploy di una applicazione RCP, operazione che, nella terminologia Eclipse RCP prende il nome di “creazione di un Prodotto”.
Il deploy
Supponiamo di essere nella fase in cui l’applicazione, in uno stadio più o meno avanzato dello sviluppo, deve essere installata sul client. Per ottenere questo obiettivo dobbiamo realizzare un “Product”, vale a dire il prodotto del lavoro di sviluppo.
La creazione di un “product” richiede a sua volta, come operazione preliminare, la creazione di un “product configuration”, cioè un insieme di impostazioni necessarie per la fase di deploy.
Selezioniamo quindi il nostro progetto è tramite il tasto destro del mouse procediamo con la creazione di una nuova configurazione di prodotto (New -> Product Configuration), come mostrato in Figura 1.
Figura 1 – Creazione di un Product Configuration
Figura 2 – Impostazione di un Product Configuration
Nella finestra mostrata (Figura 2), nel campo “File name” digitiamo un nome per questa configurazione (es. test1). All’uscita da questo campo notiamo che il nome viene automaticamente modificato mediante l’aggiunta di “.product” come estensione (es. test1.product). All’interno del box “Initialize the file content” selezioniamo il radio button “Create a configuration file with basic settings”e premiamo “Finish”.
A questo punto, nella pagina “Overview” dell’editor della Product Configuration, premiamo il tasto New a destra del campo Product ID. Viene proposta una finestra di definizione del prodotto (Figura 3) dove dovremo impostare il plug-in relativo al nostro progetto (es. it.mokabyte.rcp.test1) nel campo “Defining Plug-in”, un Product Name (es. Test1), un Product ID (es. product) e la classe Application all’interno del nostro progetto (es. it.mokabyte.rcp.test1.application). Al termine premiamo Finish.
Figura 3 – Creazione di una Product Definition
Passiamo ora alla pagina “Configuration”, e premendo il bottone Add, aggiungiamo il nostro plug-in (es. it.mokabyte.rcp.test1) alla configurazione. Dobbiamo a questo punto aggiungere tutti i plug-ins richiesti (cioè quelli dai quali dipende il nostro progetto) premendo il bottone “Add Required Plug-ins”; salviamo (Ctrl-S) e torniamo alla pagina di Overview.
La fase di creazione della configurazione di prodotto è terminata. Possiamo effettuare un test facendo un click sul link “Launch an Eclipse application” nella sezione “Testing” della pagina di Overview.
Una volta verificato il corretto funzionamento dell’applicazione (ed eventualmente aggiunti i plug-ins necessari a run-time) siamo pronti per la creazione della cartella di deploy.
Quindi clicchiamo su “Eclipse Product export wizard” dalla sezione “Exporting”(Figura 4)
Figura 4 – Esportazione di un Product
Impostiamo ora nel campo “Root directory” il nome della cartella di deploy (es. Test1), la modalità di deploy (Cartella/Directory o File compresso/Archive file) nella sezione “Destination” e premiamo Finish.
A seconda della modalità di deploy scelta avremo così ottenuto o un file compresso da scompattare o direttamente la struttura di run-time del nostro progetto nella cartella di deploy designata. All’interno di quest’ultima sarà presente un file eseguibile denominato “eclipse.exe” (notate come tutta la struttura di deploy sia identica a quella dell’IDE Eclipse, in quanto esso stesso è una applicazione RCP). Il lancio di tale eseguibile manderà pertanto in esecuzione il nostro plug-in sulla macchina client.
Riferimenti
Il tutorial Eclipse
http://www.eclipse.org/articles/Article-RCP-1/tutorial1.html
Laureatosi in Ingegneria Elettronica (Università di Bologna, 1991), dal 1996 è libero professionista come consulente informatico e formatore presso aziende di informatica ed strutture di formazione. Ha lavorato inizialmente in Delphi e altri ambienti visuali (Visual Lansa) con aziende legate al sistema AS/400, passando poco dopo a Java (Swing) e proponendo soluzioni Client/Server multi-layered. Si è inoltre occupato di sviluppo web con vari framework (Struts, Hibernate, Spring, GWT) in ambiti vari (bancario, industria, sanità, e-learning). Attualmente, collabora già da tempo con Infogroup e IBM su progetti in architettura Eclipse RCP e SOA. È interessato a ogni attività di consulenza o formazione che aumenti la produttività e la qualità del processo di sviluppo del software, possibilmente utilizzando strumenti open source.
Laureato in Scienze dell‘Informazione nel 2003 a Firenze, con una tesi sul Common Language RunTime alla base del framework .NET di Microsoft.
Nel 2000 ha iniziato a lavorare come programmatore VB ed da allora ha preso parte a molti progetti in ambito bancario, sanitario e della pubblica amministrazione, utilizzando diverse tecnologie. Per alcuni si è occupato di programmazione Java server side, utilizzando framework open source (Struts, Spring, Hibernate) e proprietari. Da più di un anno è consulente per IBM e si occupa di applicazioni Eclipse Rich Client su piattaforma SOA.
In generale incuriosito da tutto ciò che open source, si interessa allo studio e alla sperimentazione di nuove tecnologie di programmazione.