Overview
Overview e roadmap/release notes
Il Model Driven Development è un approccio allo sviluppo basato sulla generazione automatica del software a partire da modelli indipendenti dalle piattaforme tecnologiche.
La suite MDD Tools, realizzata in CSI, è costituita da una serie di strumenti che consentono di sviluppare applicazioni gestionali secondo il paradigma Model Driven Development.
I quattro punti di attenzione principali cui si rivolge sin dall'inizio l'approccio MDD sono:
- Ridurre i costi di realizzazione dei nuovi sviluppi
- Accelerare i tempi di sviluppo delle soluzioni (Time-To-Market)
- Garantire una maggior qualità dei risultati
- Abbassare i costi di adeguamento tecnologico delle soluzioni
In MDD lo sviluppo di un’applicazione prevede tipicamente i seguenti tre passaggi:
- Modellazione del problema in modo indipendente dai framework tecnologici selezionali
- Generazione automatica del codice a partire dal modello
- Completamento manuale delle logiche applicative, ove previsto
Le note di rilascio sono disponibili qui.
La versione attuale di MDD Tools comprende i seguenti strumenti di modellazione/generazione del codice:
- GUIGEN: strumento per la modellazione e la relativa generazione dello strato di presentazione di applicazioni end-user
- SERVICEGEN: strumento per la modellazione e la relativa generazione di servizi in ottica SOA, secondo gli standard attualmente in uso in CSI Piemonte
- DATAGEN: strumento per la modellazione e la relativa generazione dello strato di accesso ai dati

Tali strumenti sono basati sulla piattaforma di sviluppo Eclipse e hanno l'obiettivo di coprire gradualmente tutte le aree in cui questo approccio può essere applicato con successo.
Ad oggi le aree individuate sono:
- Struttura e comportamenti dinamici di un front-end applicativo
- Servizi SOA
- Orchestrazioni di servizi
- Accesso ai dati
Oltre ad una maggiore produttività nello sviluppo di nuovi progetti, i benefici principali derivanti dall'adozione dell'approccio sono:
- Semplificare l'esposizione di nuovi servizi sui Portali
- Accelerare l'adozione delle Piattaforme
- Abbassare tempi e costi legati alla manutenzione correttiva ed evolutiva
- Facilitare l’aderenza alle best practice
- Abbassare le competenze richieste per lo sviluppo dei gestionali
Roadmap
Per avere una visione sia complessiva che di dettaglio sul progetto MDD Tools, è possibile consultare la sezione Roadmap.
Versioni supportate
A seconda delle versioni dei vari tool è previsto uno specifico livello di supporto, riportato nella tabella seguente, che viene aggiornata ad ogni rilascio.
In sintesi i principi che regolano questa politica di supporto sono i seguenti:
- tutte le evoluzioni (improvements + new features) vengono effettuate solo dalla versione 3.0.x e solo sulla ultima versione stabile: non avrebbe senso richiedere nuove funzionalità senza voler passare alla versione più recente del tool
- eventuali bugfix vengono effettuati solo sulle ultime versioni stabili del ramo 3.x. per il ramo 2.x sarà fornito supporto per replicare il fix mediante customizzazioen locale del generatore (a carico del progetto utilizzatore).
- il supporto all'utilizzo verrà fornito su tutte le versioni, se si tratta di supporto on-site (presso il richiedente), solo sulle ultime versioni stabili del ramo 2.x e del ramo 3.x se comporta delle attività di backline da parte del gruppo di sviluppo.
- per tutte le versioni è previsto supporto per le attiivtà di migrazione verso una versione più recente.
E' disponibile una analisi della distribuzione/frammentazione dei plugin nelle varie versioni a dicembre 2011 (l'analisi è relativa all'utilizzo in CSI).
| PLUGIN | VERSIONE | IMPROVEMENT | NEW FEATURE | BUGFIX | SUPPORTO |
| guigen | 3.4.0 | SI | SI | SI | SI |
| 3.3.0 | NO | NO | NO | SI | |
| 3.2.0 | NO | NO | NO | SI | |
| 3.1.1 | NO | NO | NO | SI | |
| 3.1.0 | NO | NO | NO | SI | |
| 3.0.1 | NO | NO | NO | SI | |
| 3.0.0 | NO | NO | NO | SI | |
| 2.6.0 | NO | NO | SI | SI | |
| <=2.5.1 | NO | NO | NO | SI | |
| 1.6.5 | NO | NO | NO | SI | |
| <=1.6.4 | NO | NO | NO | NO | |
| servicegen | 3.2.1 | SI | SI | SI | SI |
| 3.2.0 | NO | NO | NO | SI | |
| 3.1.0 | NO | NO | NO | SI | |
| 3.0.0 | NO | NO | NO | SI | |
| 2.3.0 | NO | NO | SI | SI | |
| <=2.2.0 | NO | NO | NO | SI | |
| 1.3.0 | NO | NO | NO | SI | |
| <=1.2.0 | NO | NO | NO | NO | |
| datagen | 3.0.0 | SI | SI | SI | SI |
| 2.0.2 | NO | NO | SI | SI | |
| 2.0.0 | NO | NO | NO | SI | |
| 1.2.1 | NO | NO | NO | SI | |
| <=1.2.0 | NO | NO | NO | NO | |