## Servicegen - Cartridges disponibili per la modalità CXF

In questo capitolo sono descritte le carucce (cartridge) di generazione disponibili per la modalità CXF.

### cartuccia di setup

Prima di richiamare qualsiasi altra cartuccia è necessario effettuare il setupdel sistema di generazione, richiamando la cartuccia `it/csi/mddtools/servicegen/cxf/workflow/setup.mwe`, che non prevede parametri.

Esempio:

    <cartridge file="it/csi/mddtools/servicegen/cxf/workflow/setup.mwe"
    />

### cartuccia di genrazione dello strato di back-end SOA

La generazione dello strato di back-end SOA si realizza mediante la cartuccia `it/csi/mddtools/servicegen/cxf/workflow/cxf.mwe`, che prevede i seguenti parametri:

parametro | descrizione | esempio | obbl/opz
model | percorso del file del modello servicegen, a partire dalla root del workspace eclipse | `myprod.mdd/src/model/myprod/mycomp/myservice.servicegen` | obbl
targetProjectName | nome del progetto java in cui devono essere generati i sorgenti | `mycomp` | obbl
useExternalDaoBeans | (dalla v.1.1) se impostato a true non viene generato il file dao-beans.xml, permettendo così di utilizzare il file generato da datagen. Il valore di default è: true | `true` | opz

Esempio:

    <cartridge file="it/csi/mddtools/servicegen/cxf/workflow/cxf.mwe"
      model="myprod.mdd/src/model/myprod/mycomp/myservice.servicegen"
      targetProjectName="mycomp"
    />

N.B: è necessario verificare i singoli modelli componenti prima di richiamare questa cartuccia, utilizzando le apposite cartucce di test descritte di seguito.

### Cartuccia di check del modello di interfaccia di servizio (servicedef)

E'necessario verificare la validità dei modelli di interfaccia di servizio referenziati nel modello principale. Per far ciò è disponibile la cartuccia `it/csi/mddtools/servicegen/cxf/workflow/checkServicedef.mwe`, che prevede i seguenti parametri:

parametro | descrizione | esempio | obbl/opz
model | percorso del file del modello servicedef, a partire dalla root del workspace eclipse | `myprod.mdd/src/model/myprod/mycomp/myserviceinterface.servicedef` | obbl

Esempio:

    <cartridge file="it/csi/mddtools/servicegen/cxf/workflow/checkServicedef.mwe"
      model="myprod.mdd/src/model/myprod/mycomp/myserviceinterface.servicedef"
    />

### Cartuccia di check del modello di orchestrazione (svcorch)

E'necessario verificare la validità dei modelli di orchestrazione referenziati nel modello principale. Per far ciò è disponibile la cartuccia `it/csi/mddtools/servicegen/cxf/workflow/checkSvcOrch.mwe`, che prevede i seguenti parametri:

parametro | descrizione | esempio | obbl/opz
model | percorso del file del modello svcorch, a partire dalla root del workspace eclipse | `myprod.mdd/src/model/myprod/mycomp/myorchestration.svcorch` | obbl

Esempio:

    <cartridge file="it/csi/mddtools/servicegen/cxf/workflow/checkSvcOrch.mwe"
      model="myprod.mdd/src/model/myprod/mycomp/myorchestration.svcorch"
    />

### Cartuccia di check del modello delle risorse accedute (appresources)

E'necessario verificare la validità del modelli di descrizione delle risorse accedute. Per far ciò è disponibile la cartuccia `it/csi/mddtools/servicegen/cxf/workflow/checkAppresources.mwe`, che prevede i seguenti parametri:

parametro | descrizione | esempio | obbl/opz
model | percorso del file del modello svcorch, a partire dalla root del workspace eclipse | `myprod.mdd/src/model/myprod/mycomp/myresources.appresources` | obbl

Esempio:

    <cartridge file="it/csi/mddtools/servicegen/cxf/workflow/checkAppresources.mwe"
      model="myprod.mdd/src/model/myprod/mycomp/myresources.appresources"
    />

### Properties supportate

Il generatore SERVICEGEN supporta le seguenti properties (che devono essere inserite nel file workflow.properties.

property | descrizione | esempio | cartuccia
`javapackage-organization-name` | scopo: serve per impostare un differente prefisso per i package java. se non impostato il prefisso di default è quello standard CSIPiemonte, ovvero it.csi. default: null | `com.acme` | cxf.mwe
`servicegen.ivyRepositoryHost` | scopo: serve per impostare un differente host come repository per ivy. Se non impostato l'host di default è quello standard CSIPiemonte, ovvero repart.csi.it. default: null | `myrepository.acme.com` | cxf.mwe
`servicegen.cxf.authenticationMethod` | scopo: serve per specificare la modalità di authenticazione di servizi con livello di sicurezza A1. valori ammessi: `WSonly`: Basic Authentication su Web Server `ASonly`: Basic Authentication su Application Server tramite J2EE Realm `both`: Basic Authentication su Web Server e su Application Server default: both | `myrepository.acme.com` | cxf.mwe