UrbanCode - Serena Release Automation by Serena
by Mariano Pollio, Analyst and Administrator

Serena Release Automation (SRA) deriva dal prodotto di UrbanCode IBM. E' un prodotto che viene utilizzato per installare il software su macchine remote ed eseguire una installazione di esso. Il software di installazione puoì derivare da un filesystem versionato oppure da un database o da diversi contenitori di software. Puo' essere utilizzato anche per controllare macchine remote sviluppando software e plugin personalizzati. Il prodotto SRA e' sviluppato tutto in java. La casa madre garantisce la piena compatiblità con i vari sistemi operativi ma, dai test eseguiti esiste un parco macchina che determina che il prodotto deve essere revisionato ad hoc per poterlo fare funzionare con la Java Virtual Machine resisdente sul sistema. Il suo funzionamento e' basato sulle code JMS (Java Message Service) e HTTP (oppure HTTPS). Tramite http o https gli agent comunicano al server la loro esistenza, mentre tramite JMS gli oggetti e le azioni da eseguire. Il deamon SRA server oltre a restare in attesa di conoscere gli SRA agent attivi, invia le azioni programmate dello sviluppo FLOW ai vari SRA agent. Gli SRA agent sono dei deamon che possono avere il controllo completo della macchina dove risiedono, se installati con i permessi di administrator. Pertanto e' doveroso, installarlo con utenza e privilegi non da administrator. (si andrebbe a creare un cavallo di troya)
Il prodotto si intalla in vari modi. Dal pacchetto di autoinstallazione, in modalità silent mode o tramite pacchetto war-java dove risiede già una webApplication. Da questo punto di vista è molto versatile. Sra Server utilizza un DataBase per conservare tutte le informazioni di programmazione e configurazione. Il Db puo' essere Oracle, Derby, etc.etc. Su questo aspetto non esiste documentazione in merito per la gestione in caso di fault della sessione DB ad esso correllato. (Creazione indici, statistiche, anomalie, etc,etc.) solo supporto specialistico casa madre. Manca la possibilità di eliminare il versioning delle applicazioni create e questo fa si che il DB cresca in modo esponenziale. Si pensi a modificare solo un testo, SRA per ogni modifica crea un versioning del software modificato. Il prodotto si presta bene per il riutilizzo del software ma, esistono dei limiti gestionali per l'uso dei TEMPLATE. (si guardi che una modifica di un template e bidirezionale-questo causerebbe che tutte le applicazioni sarebbero coinvolte.) Gli snapshot sono utilissimi perche determinao una fotografia di una applicazione e ripeterla per diverse volte con il nuovo software di installazione.
L'interfaccia SRA non e' al quanto accattivante, e' basato tutto su linguaggio html e alcune funzionalità non sono individuate in modo semplice (guardi lo stato active). Per poter utilizzare il prodotto SRA a pieno bisogna conoscere diversi tipi di linguaggi, groovy, java, interpreti di comandi come bourne shell, korn shell, etc.etc.,in altro modo si dovrà chiedere assitenza specialistica alla casa madre a pagamento. L'uso di groovy, linguaggio di scripting di ultima generazione, non fornisce una elevata flessibilità se non interfacciarsi con classi java esistenti. Il pro di groovy, essendo un linguaggio interpretato, e' sempre presente il sorgente del software. I vari passi di esecuzione sono troppo rudimentali ci vorrebbe una interfaccia grafica piu' accattivante e troppa grezza. Lo stop di esecuzione di una applicazione non è di facile intuito. Non esiste nessun cambiamento di colore e o messaggio. Ad oggi mi viene difficile pensare pacchetti SRA a chiavi in mano. Certamente, il prodotto è in pieno sviluppo e' ha molte possibilità di crescere.

>> Per questo prodotto ho sviluppato Plugin
>Email
>Gestione tag in un files XML
>individuazione su filesystem di files esistenti per determinare azioni in merito

Nota:
Dagli studi di comparita' fatti dai piu' noti analisti come Gartner e Forester deriva che il prodotto e' molto giovane e pertanto puo' determinare dei costi di assistenza e di sviluppo molto elevati.