Introduzione

header.jpg

Il Modulo Import (alias Infrastruttura di Comunicazione) è stato progettato e realizzato per consentire ad applicazioni esterne la condivisione con IAF di contenuto informativo, sia nell'ottica di un ”r;import una tantum” dei dati, sia nell'ottica di ”r;sincronizzare” i dati stessi.

 

Il Modulo è realizzato sfruttando la tecnologia dei servizi web.

 

I servizi web sono componenti distribuiti che espongono su web metodi che possono essere richiamati da applicazioni esterne (client) mediante il protocollo SOAP, utilizzando HTTP come protocollo di trasporto.

 

SOAP è un protocollo leggero per lo scambio di informazioni in ambienti decentralizzati e distribuiti, basato su XML.

 

Il modulo espone un servizio web (IAFCommunicator) che permette l' invio, la ricezione e la sincronizzazione di informazione.

Il servizio IAFCommunicator espone metodi SOAP che ricevono/restituiscono contenuto XML.

 

Il risultato del lavoro di allineamento/sincronizzazione effettuato sulle applicazioni esterne è quello di produrre contenuto XML, che fatto pervenire ad IAF sfruttando l’infrastruttura di comunicazione, le comunica il lavoro che deve essere effettuato.

 

Se IAF deve comunicare informazione ad applicazioni esterne, questa viene fatta pervenire al gestionale (applicazione esterna)  utilizzando metodi che restituiscono contenuto XML.

 

Il contenuto XML prodotto dalle applicazioni esterne può essere inviato compresso e codificato in base64.

 

Per poter capire il significato e l'operabilità di IAFCommunicator è necessario introdurre alcune definizioni sulle quali si basa il servizio:

 

Entity

Una singola unità logica di informazione condivisa con IAF. A livello più semplice una entity corrisponde ad un record su una tabella del database, in generale potrebbe essere un'informazione che a livello di IAF si ”r;spalma” su più tabelle di database. Per esempio ”r;l'unità di misura” è un entity che su IAF è un record sul database, un ”r;prodotto” è un'entity che su IAF ha un record sulla tabella dei prodotti, uno o più record sulla tabella delle associazioni prodotti/unità di misura, uno o più record sulla tabella di associazione prodotti/famiglie etc..

 

Action

Concetto utilizzato per definire logicamente tutti i possibili insiemi omogenei di entity condivisi con IAF.

Ogni action è identificata da:

• un nome

• uno schema XSD (in) che definisce gli XML che vanno da applicazione a IAF

• uno schema XSD (out) che definisce gli XML che vanno da IAF ad applicazione

• una routine SitePainter di gestione

 

Processo

Il processo è l'esecuzione su IAF di una o più action. Il processo può essere eseguito con tre diversi livelli di atomicità.

 

Livello Atomicità

Definisce la modalità di esecuzione di un processo.

Esistono tre modalità:

• process, ovvero viene reso persistente il processo se e solo se tutte le action che lo compongono vengono eseguite senza errori

• action, ovvero vengono rese persistenti le modifiche relative alle sole action che vengono eseguite senza errori

• entity, ovvero vengono rese persistenti tutte le singole entity che vengono eseguite senza errori.

 

notabene.jpg E’ disponibile una procedura schedulata per consentire la cancellazione dei i file xml presenti nella cartella ..\webapps\WEB-INF\Syncro\in  e  ..\webapps\WEB-INF\Syncro\out  presenti a seguito di procedura di ”r;federazione” dati da altre applicazioni.