## INTEGRAZIONE TRA DATAGEN E N SERVIZI APPLICATIVI tramite Spring

Ipotizziamo di dover generare N servizi applicativi con servicegen che utilizzino, per la realizzazione della business logic, uno strato di accesso ai dati (DAO) generato con datagen.

I passi necessari per l'integrazione tra SERVICEGEN e DATAGEN sono:

1. modellazione tramite servicegen di N serviceImpl (1 per ogni servizio applicativo)
2. modellazione strato accesso dati tramite datagen
3. scrittura file di workflow per integrazione
4. configurazione manuale dei file spring prodotti dal generatore

Per la modellazione si può far riferimento al tutorial INTEGRAZIONE TRA DATAGEN E SERVICEGEN tramite Spring tenendo conto di alcuni accorgimenti da applicare.

### Modellazione strato di accesso dati

Se si desidera integrare M modelli datagen occorre valorizzare il parametro name del modello *.datagen (necessario per garantire univocità delle regioni protette).

### Scrittura file di workflow

Nel file di workflow dovremo:

1. Nel richiamo della cartuccia di generazione di servicegen impostare il parametro `useExternalDaoBeans` a false. In questo modo verrano generati N daoBeans vuoti, uno per ogni servizio applicativo. All' interno della loro regione protetta referenzieremo il dao-bean comune.
2. Nel richiamo della cartuccia datagen impostare opportunamente `basePackage` e `daoBeansFileName` in modo che le classi di accesso dati vengano generate sotto il package `business` e il dao-beans nel package `business.dao`
   Ad esempio:
   - `basePackage="it.csi.testprod.testcomp"`
   - `daoBeansFileName="src/java/it/csi/testprod/testcomp/business/dao/dao-beans.xml"`

### Configurazione manuale file di spring

Il generatore produrrà:

1. i file di configurazione Spring [nomeServizio]beanContext.xml e [nomeServizio]dao-beans.xml (uno per ogni servizio applicativo)
2. il file di configurazione comune dao-beans.xml per lo strato di accesso ai dati

Terminata la generazione dovremo:

- inserire nella regione protetta del dao-beans.xml i riferimenti al dataSource
- configurare il [nomeServizio]dao-bean.xml in modo che referenzi il dao-beans.xml prodotto da datagen.
  Ad esempio, all' interno della regione protetta del [nomeServizio]dao-bean.xml potremmo inserire il seguente import:
  `< import resource="classpath*:it/csi/testprod/testcomp/business/dao/dao-beans.xml"/>`