Skip to content

PARER - Questo progetto contiene lo "strato" xml del progetto SACER

License

Notifications You must be signed in to change notification settings

RegioneER/parer-sacer-xml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sacer XML

Fonte template redazione documento: https://www.makeareadme.com/.

Descrizione

Il seguente progetto è utilizzato come dipendenza interna per definire i modelli "xsd" che via Jaxb permettono di generare le relative classi Java (marshalling & unmarshalling), è utilizzato quindi come libreria/dipendenza Maven (https://maven.apache.org/), dalle seguenti applicazioni: Sacer e Sacerws.

Installazione

Come già specificato nel paragrafo precedente [Descrizione](# Descrizione) si tratta di un progetto di tipo "libreria", quindi un modulo applicativo utilizzato attraverso la definzione della dipendenza Maven secondo lo standard previsto (https://maven.apache.org/):

<dependency>
  <groupId>it.eng.parer</groupId>
  <artifactId>sacer-xml</artifactId>
  <version>$VERSIONE</version>
</dependency>

Utilizzo

Il modulo contiene al suo interno le principali definizioni dei modelli XML utilizzi in vari contesti applicativi, su cui viene effettuata una validazione sintattico/semenatica attraverso uno standard XSD (https://www.w3.org/TR/xmlschema11-1/) localizzabili nella directory src/main/resources/xsd. Inoltre, attraverso JAXB (https://javaee.github.io/jaxb-v2/) è possibile effettuare le opportune operazioni di marshalling e unmarshilling al fine di ottenere in un caso a paritre dall'XML un oggetto Java e viceversa. Per ottenere gli oggetti a partire dall'XSD si utilizza un apposito plug-in maven (https://mvnrepository.com/artifact/org.codehaus.mojo/jaxb2-maven-plugin/1.6) così definito su pom.xml:

<plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>jaxb2-maven-plugin</artifactId>
	<version>1.6</version>
</plugin>

Gli xsd sono organizzati per "macro ambiti" si può infatti osservare che esistono varie sotto folder contenute nella principale, alcuni esempi:

  • ws, gli xsd all'intero raccolgono le modallazioni degli XML utilizzati in flussi operartivi esposti attraverso servizi backe-end (tipicamente REST);
  • aipFascicoli, xsd relativi alla generazione degli AIP;
  • firma, xsd relativi alla generazione di modelli legati alla verifica firma dei file.

Le restanti sotto folder allo stesso modo sono organizzate secondo questa logica:

└── it
    └── eng
        └── parer
            ├── aipFascicoli
            ├── elenco
            ├── elencoFascicoli
            ├── firma
            ├── serie
            └── ws

In alcuni ambiti sono stati definiti, secondo lo standard JAXB, delle customizzazioni in termini di mapping dei dati / namespace, attraverso la definizone di XJB (https://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html), questo al fine di ottere le personalizzazioni necessarie per l'implementazione degli applicativi che utilizzeranno i modelli Java generati.

Supporto

Mantainer del progetto è Engineering Ingegneria Informatica S.p.A..

Contributi

Se interessati a crontribuire alla crescita del progetto potete scrivere all'indirizzo email [email protected].

Credits

Progetto di proprietà di Regione Emilia-Romagna sviluppato a cura di Engineering Ingegneria Informatica S.p.A..

Licenza

Questo progetto è rilasciato sotto licenza GNU Affero General Public License v3.0 or later (LICENSE.txt).