Questa è una vecchia versione del documento!
Creazione di un progetto da template, customizzazione e produzione dei WAR
Utilizzando questa procedura, è possibile creare autonomamente i file WAR di cui si ha necessità partendo da un template già esistente su Artifactory.
E' vivamente consigliato, anche se non mandatorio, che tale procedura venga attuata nelle folder appositamente predisposte nella versione locale del Repository di Commessa, descritto qui.
Prima di procedere, ci si deve assicurare di aver installato nel proprio pc sia Apache Maven (Installazione di Maven) sia Git (Installazione di Git).
Passaggio 1: Generazione della folder del progetto maven (esecuzione del file makeproj.bat)
Prima di procedere con il processo di generazione della folder del progetto maven, verificare se si ha nel proprio pc la cartella webclientTemplate-archetype, normalmente presente sotto al proprio utente al seguente path : C:\Users\nome.cognome\.m2\repository\com\geowebframework\. Se è presente, cancellare tutta la cartella webclientTemplate-archetype (non solo il contenuto!) e procedere con la generazione del progetto.
La prima cosa da fare per creare un progetto di base nel proprio pc cliccare sul seguente link e avviare il download della cartella ZIP makegproj.zip. Questa cartella contiene un file BAT, che una volta lanciato richiede due parametri:
- il nome del nuovo progetto maven da generare. Es: mvn_project_name
- la versione di GeowebFramework, scelta tra quelle disponibili su Artifactory Es: 4.4.7
Dopo aver decompresso makegproj.zip, salvare il file makeproj.bat in un'apposita cartella (che dovrà ospitare il nuovo progetto).
E' buona prassi, anche se non mandatorio, che tale cartella sia una di quelle previste dal gestore della commessa, nelle folder del Repository di Commessa. Quindi per esempio makeproj.bat andrebbe copiato nella folder internal_war, destinato alla produzione del war per l'ambiente interno.
Una volta in posizione, eseguire makeproj.bat con un doppio click.
In questo modo verrà aperta una finestra di shell che mostrerà l'avanzamento del download. Alla fine del processo, la finestra si chiuderà automaticamente e si avranno due nuove cartelle: la cartella .git e una cartella con il nome del progetto (cioè quello inserito precedentemente in makeproj.bat). Quest'ultima conterrà tutti i file di configurazione e le librerie necessarie.
Il file BAT, quindi, è utilizzato UNA TANTUM, cioè solo nella fase iniziale della creazione del nuovo progetto.
Passaggio 2: Personalizzazione dei file di configurazione
Generalmente, per ogni cartella cosi generata (il cui nome è stato scelto prima da shell e che contiene il progetto maven del war), va modificato il file pom.xml, in cui deve essere aggiunta la giusta versione di GeowebFramework (la stessa utilizzata nel makegproj.bat) nel relativo tag:
<com.geowebframework.version>4.4.3</com.geowebframework.version>
Nel pom.xml vanno inserite anche le dipendenze a eventuali altri plugin di Geoweb necessari all'esecuzione del proprio progetto, come ad esempio:
<dependency> <groupId>com.geowebframework</groupId> <artifactId>ispplugin</artifactId> <version>1.0.0</version> </dependency>
In aggiunta, devono essere eventualmente modificati anche alcuni file di configurazione. In particolare, nel percorso [nome_progetto]\src\main\resources\ ci sono:
- Il file configuration.properties, che raccoglie tutti i dati configurabili del progetto, che rappresentano entità costanti, come ad esempio i dati di accesso al database; anche in questo caso, ogni parametro è memorizzato come una coppia di stringhe, una contiene il nome del parametro (cioè la chiave) e l'altra memorizza il valore.
- Il file log4j.properties, che contiene tutte le informazioni (codificate come coppie chiave-valore) necessarie alla scrittura dei log di Maven. Il log, infatti, è uno strumento molto utile che va configurato nel modo corretto: esso raccoglie gli output dei diversi processi e, analizzando questi output, permette di capire cosa è accaduto in caso di errori.
- Il file remapConfiguration.properties che ha lo scopo di mappare i nomi delle proprietà all'interno del configuration.properties con nomi di variabili d'ambiente o di sistema.
- Il file webconfig.ini che serve per alcune configurazioni della piattaforma Mapguide.
Invece, nel percorso [nome_progetto]\src\main\webapp\WEB-INF\ si trovano:
- Il dispatcher-servlet.xml, che serve da controller per le applicazioni web basate su Spring. Il contenuto è standard, ma, in particolari ambienti, alcuni tag non vengono usati e devono essere cambiati.
- Il file web.xml, che descrive l'esecuzione dell'applicazione web e contiene configurazioni per l'accesso ai database.
- Infine, il file spring-security.xml, che raccoglie informazioni di autenticazione e di connessione al metadata-source.
Le modifiche apportate ai vari file dipendono dal progetto, ma anche dall'ambiente in cui il progetto deve essere utilizzato.
Passaggio 3: produzione del WAR
Terminate tutte le operazioni di configurazione e personalizzazione del progetto maven, in ogni cartella dei vari ambienti (interno, sviluppo, test, produzione, etc..) , bisogna assicurarsi di avere sotto la cartella dell'ambiente specifico, a seconda dell'OS, uno dei seguenti file:
- makegwa.bat (Window)
- makegwa.sh (Linux)
E' possibile fare il download della seguente cartella compressa, che li contiene entrambi: makegwar.zip
Doppio click per eseguire il file. Si aprirà una finestra di shell che mostrerà l'avanzamento dell'operazione. Al termine della procedura, nella finestra verrà riportato un messaggio di successo se tutto è andato a buon fine, oppure un messaggio di errore in caso di eventuali problemi. Il file WAR viene automaticamente salvato all'interno si mvn_project_name/target.