MANUALE UTENTE XML-SAIA
Transcript
MANUALE UTENTE XML-SAIA
Revisione 2.1.1 15/10/2007 Pag. 1 di 37 SAIA Sistema di Accesso Interscambio Anagrafico MANUALE UTENTE XML-SAIA Revisione 2.1.1 15/10/2007 Pag. 2 di 37 SAIA Sistema di Accesso Interscambio Anagrafico Introduzione .................................................................................................................. 3 1 XML-SAIA ............................................................................................................... 4 1.1 Installazione Applicazione client XML-SAIA ............................................... 4 1.2 Configurazione XML-SAIA Client .................................................................. 4 1.3 Esecuzione del client XML-SAIA ................................................................... 7 1.4 Funzioni di servizio del client XML-SAIA...................................................... 7 1.5 Errori generati da XML-SAIA Client. ............................................................. 8 1.6 Utilizzo come libreria.................................................................................... 11 1.6.1 Scenari di integrazione ............................................................................ 12 1.7 Aggiornamento automatico del software ................................................... 17 1.7.1 Aggiornamento del software XML-SAIA Client ........................................ 17 1.7.2 Aggiornamento tabella codici Istat........................................................... 18 2 Modulo JDBC2AP5 .............................................................................................. 19 2.1 Descrizione del modulo ............................................................................... 19 2.2 Configurazione XML-SAIA Client JDBC2AP5............................................. 19 2.3 Esecuzione del client XML-SAIA JDBC2AP5 ............................................. 20 3 Funzionalità e tracciati del Client XML-SAIA..................................................... 21 3.1 Funzionalità e tracciati per la versione 1 del client XML-SAIA ................. 21 3.2 Funzionalità e tracciati per la versione 2 del client XML-SAIA ................. 23 3.3 Funzionalità e tracciati per la versione 2.1.0.0 del client XML-SAIA ........ 27 3.4 Funzionalità e tracciati per la versione 2.2.0.0 del client XML-SAIA ........ 28 3.5 Funzionalità e tracciati per la versione 2.3.0.0 del client XML-SAIA ........ 29 3.6 Funzionalità e tracciati per la versione 2.4.0.0 del client XML-SAIA ........ 30 3.7 Funzionalità e tracciati per la versione 2.5.0.0 del client XML-SAIA ........ 31 4 Predisposizione del file di input e lettura del file di output ............................. 33 5 Java Runtime Environment (JRE) ...................................................................... 34 5.1 Installazione JRE .......................................................................................... 34 5.2 Installazione JRE su piattaforma Windows................................................ 34 5.3 Installazione JRE su piattaforma GNU/Linux ............................................. 36 Revisione 2.1.1 15/10/2007 Pag. 3 di 37 SAIA Sistema di Accesso Interscambio Anagrafico INTRODUZIONE XML-SAIA (Sistema di Accesso e Interscambio Anagrafico) è il nuovo software prodotto da Ancitel per consentire ai Comuni Italiani di comunicare con il SAIA. Pur con la garanzia di retrocompatibilità rispetto ai tracciati “JJ”, il sistema SAIA è stato esteso ed è in grado di gestire un nuovo formato XML rispettando le linee guida definite nell’AP5, la nuova struttura dati per i flussi di comunicazione dalle Anagrafi Comunali al Centro Nazionale Servizi Demografici. La caratteristica principale del software XML-SAIA è quella di introdurre il supporto del formato XML per l’interscambio di informazioni anagrafiche tra Comuni Italiani, Ministero degli Interni e ulteriori enti interessati. Un file XML (eXtensible Markup Language) è un file in formato testo in cui si trovano dati strutturati seguendo delle linee guida definite in uno schema di definizione, un file XSD (XML Schema Definition) contenente le regole da rispettare durante la generazione di un file XML ad esso associato. XML facilita la generazione dei dati tramite un computer, la comprensione all’operatore umano e il controllo sulla struttura in modo che non sia ambigua. XML risolve alcune tra le pecche più comuni dei linguaggi: è estensibile, indipendente dalla piattaforma e supporta i parametri internazionali e locali. SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 4 di 37 1 XML-SAIA 1.1 Installazione Applicazione client XML-SAIA Il software XML-SAIA Client è un’applicazione scritta in Java. La comunicazione tra il Client distribuito ai Comuni e la “Porta di Accesso”, avviene mediante protocollo standard TCP/IP. In quanto scritto in Java, il software impone come prerequisito la presenza di un JRE (Java Runtime Environment), versione 1.4.0 o superiori già installato sulla macchina da utilizzare. Nel caso in cui sulla macchina non sia presente un JRE già installato, si rimanda alla sezione JAVA RUNTINE ENVIRONMENT (JRE). Il software XML-SAIA è prelevabile dal sito del CNSD (http://www.servizidemografici.interno.it/) alla sezione download cliccando sul link Download software INA-SAIA. Seguendo le indicazioni del sito sopraindicato, prelevare il pacchetto xml-saia. Decomprimendo il pacchetto, per esempio con WinZip se si sta operando su piattaforma Windows, si verrà a creare sul sistema la cartella d’installazione del client XML-SAIA. Al termine dell’esecuzione dei passi appena descritti, il software XML-SAIA sarà installato sulla macchina e potrà essere utilizzato dopo un’opportuna configurazione. 1.2 Configurazione XML-SAIA Client Nella precedente versione del software XML-SAIA (denominato PCCSA), per operare una corretta configurazione, era necessario editare i seguenti file: Path.def=Path dei file di configurazione. Defcli.cfg=Nomi degli altri file di configurazione. Defsrv.cfg=Configurazione di Rete per il colloquio con il Server. Default.drt=File per il logon, file con i dati da trasferire e file di output. In questa nuova versione del software è stata effettuata una semplificazione per la quale è presente un solo file di configurazione, di default configuration.ini (il nome del file è un parametro a runtime, quindi configurabile), di cui esiste già un esempio contenuto all’interno del pacchetto xml-saia.zip. 4/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 5 di 37 Editando il file configuration.ini, con un qualsiasi editor di testo ad esempio notepad, si nota la presenza delle seguenti direttive che l’utente può adattare alle proprie esigenze: # Generale - formatoDati: indica il formato dei dati che si utilizza per comunicare con XML-SAIA v.1. Può essere valorizzato con uno dei due seguenti valori: 1. JJ se si intende utilizzare i tracciati piatti in formato JJ. 2. XML-V1 se si intende utilizzare il formato XML descritto al capitolo 2.1 del presente documento. 3. AP5-XML se si intende utilizzare il formato XML AP5 Per attivare la possibilità di impiegare file XML nel tracciato AP5, descritto al capitolo 2.2 del presente documento, è necessario richiedere l’abilitazione tramite l’assistenza tecnica. - inputFile: Percorso assoluto e nome del file contenente i tracciati da inviare al server Porta di Dominio, ad esempio C:\Percorso\inputFile.in; - outputFile: Percorso assoluto e nome del file in cui il software XML-SAIA andrà a scrivere risposte ricevute dalla Porta di Dominio, ad esempio C:\Percorso\outputFile.out; - encoding: Encoding dei file di input e output. p.e. UTF-8; # Sicurezza - pathCertificatoClient: Percorso assoluto e nome del file contenente il Certificato Client per lo scambio dei dati. Es.: C:\Percorso\cert_1.pfx; - pathCertificatoServer: Percorso assoluto e nome del file contenente il Certificato Server per lo scambio dei dati. Es.: C:\Percorso\ pacert.pem; Al fine di ottenere il certificato client seguire le indicazioni riportate al capitolo 5 (Il programma di gestione QSAC) del Manuale QSAC. Al fine di ottenere il certificato server accedere alla macchina sulla quale è installata la Porta di Accesso e prelevarlo dalla cartella C:\ssclitmp e posizionarlo nella cartella indicata dal parametro pathCertificatoServer. # Mittente - istat: Codice ISTAT del Comune; - ufficio: Identificativo dell’ufficio responsabile del Sistema Comunale; - identificativoRete: Identificativo di rete del Sistema Comunale; - responsabile: Identificativo del responsabile della richiesta; # Destinatario - istatPortaAccesso: Codice ISTAT del Comune presso cui è installata la Porta di Accesso Comunale; 5/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 6 di 37 - identificativoPortaAccesso: Identificativo di rete della Porta di Accesso Comunale cui è diretta la comunicazione; Notiamo che, rispetto al precedente software PCCSA, non è presente il file di configurazione dove memorizzare user e password applicative. Questo al fine di garantire uno standard di sicurezza superiore. I valori suddetti sono da passare come parametri all’esecuzione dell’applicazione. Sono inoltre presenti altri parametri utili soprattutto per l’integrazione con un software utilizzando XML-SAIA come libreria # Altri parametri di Configurazione - istatDataDir: Indica il path in cui vengono scaricati i file contenenti l’anagrafica per il controllo dei codici istat (solo per invio dati in formato JJ). Se non valorizzato assume il valore “./istat”. - resumeDir: Indica il path in cui memorizzare il file di recovery con il quale il client riesce a ricostruire gli inoltri interrotti per problemi tecnici (solo per invio dati in formato JJ). Se non valorizzato assume il valore “./resume”. - overrideDir: Indica il path in cui è presente il file driverOverride.ini. in cui sono impostate le Url del server a cui connettersi attraverso la porta di accesso. Il file è presente nella distribuzione del client nella direcotory “override” e aggiorna il file driverOverride.ini in automatico nel path indicato. Se non valorizzato assume il valore “./override”. - errorDir: Indica il path in cui è presente il file di tracciamento degli errori client ad uso diagnostico. Se non valorizzato assume il valore “./error”. - log4j.properties: Indica il percorso completo del file log4j.properties in cui sono definite le impostazioni relative ai file di log prodotti dal client. Se non valorizzato assume il valore “./conf/log4j.properties”. - root.driver.dir: Indica la cartella di lavoro dove il client scarica gli aggiornamenti del proprio software e traccia - dumpInvio: Indica se scrivere i file di dump delle richieste e delle risposte ricevute dal server (accetta true/false) . Se non valorizzata si assume il valore false. Da utilizzare per esigenze di test/debug. - xml.dump.dir: Indica il path in cui scrivere i file di dump delle richieste e delle risposte ricevute dal server. Se non valorizzata si assume il valore ./dump. - ssl.need.startup: Indica se avviare il servizio ssl con i certificati client e server necessari per lo scambio dati (accetta true/false). Se non valorizzata si assume il valore false. - log4j-1.2.8.jar.download: Indica al client di non effettuare il download della libreria di log4j (accetta true/false). Se non valorizzata si assume il valore true. 6/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 7 di 37 1.3 Esecuzione del client XML-SAIA Per eseguire il Client XML-SAIA è sufficiente aprire un terminale e spostarsi all’interno della cartella di installazione del software. Su un sistema di tipo Windows digitare: xml-saia.bat --cfg <file di configurazione> --login <nome utente> --pwd <password> --certpwd <password del certificato> Su un sistema di tipo GNU/Linux digitare: xml-saia.sh --cfg <file di configurazione> --login <nome utente> --pwd <password> --certpwd <password del certificato> Si noti che nel caso in cui non venga specificato nessun file di configurazione tramite la direttiva cfg, verrà considerato di default il file conf/configuration.ini che si trova all’interno della directory d’installazione di XML-SAIA. 1.4 Funzioni di servizio del client XML-SAIA A partire dalla versione 1.1.0.3 del client XML-SAIA, sono disponibili le seguenti funzioni di servizio: • Versione del software XML-SAIA Client – Digitando: su un sistema di tipo Windows: xml-saia.bat --version oppure xml-saia.bat –v o su un sistema di tipo GNU/Linux: xml-saia.sh --version oppure xml-saia.sh -v si ottiene la versione del software XML-SAIA Client che si sta utilizzando. • Versione del software XML-SAIA Client-Worker – Digitando: su un sistema di tipo Windows: xml-saia.bat --version oppure xml-saia.bat –w o su un sistema di tipo GNU/Linux: xml-saia.sh --worker oppure xml-saia.sh -w 7/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 8 di 37 si ottiene la versione del software XML-SAIA Client-Worker che si sta utilizzando per comunicare con il SAIA. • Aggiornamento del software XML-SAIA Client-Worker – Digitando: su un sistema di tipo Windows: xml-saia.bat --update –l “login” –p “password” –t “password del certificato” oppure xml-saia.bat –u –l “login” –p “password” –t “password del certificato” o su un sistema di tipo GNU/Linux: xml-saia.sh --update –l “login” –p “password” –t “password del certificato” oppure xml-saia.sh –u –l “login” –p “password” –t “password del certificato” si avvia la procedura di autoaggiornamento del software XML-SAIA ClientWorker che si può utilizzare per comunicare con il SAIA. • Diagnostica – Digitando: su un sistema di tipo Windows: xml-saia.bat --diagnostica –l “login” –p “password” –t “password del certificato” oppure xml-saia.bat –d –l “login” –p “password” –t “password del certificato” o su un sistema di tipo GNU/Linux: xml-saia.sh --diagnostica –l “login” –p “password” –t “password del certificato” oppure xml-saia.sh –d –l “login” –p “password” –t “password del certificato” si avvia la procedura di diagnostica della connessione. 1.5 Errori generati da XML-SAIA Client. Codice Descrizione 1 File di configurazione non trovato Possibili risoluzioni 1. Assicurarsi di aver creato il file di configurazione avente il nome indicato nel parametro di esecuzione --cfg. 2. Assicurarsi che il percorso del file indicato nel parametro di esecuzione --cfg sia corretto. 8/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 9 di 37 2 Problema con il file di configurazione 1. Assicurarsi che nel file di configurazione siano presenti tutti i parametri indicati nel paragrafo 1.2. 3 Errore nel caricamento del client 1. Cancellare le cartelle client, clientDescriptor, override, repository e rilanciare il client. 4 Problema nell'aggiornamento del client 1. Verificare che nel proprio DNS il nome “prtaccom” sia risolto con l’indirizzo corretto. 2. Cancellare le cartelle client, clientDescriptor, override, repository e rilanciare il client con l’opzione -u. 5 Problema con il pacchetto client 1. Cancellare le cartelle client, clientDescriptor, override, repository e rilanciare il client. 6 Problema nella creazione del pacchetto client 1. Cancellare le cartelle client, clientDescriptor, override, repository e rilanciare il client. 7 Parametro Login non presente 1. Lanciare il client con i parametri corretti, come indicato nel paragrafo 1.3 8 Parametro Password non presente 1. Lanciare il client con i parametri corretti, come indicato nel paragrafo 1.3 9 Parametro Password del Certificato non presente 1. Lanciare il client con i parametri corretti, come indicato nel paragrafo 1.3 10 Problema di connessione con il server 1. Verificare che nel proprio DNS il nome “prtaccom” sia risolto con l’indirizzo corretto. 2. Verificare di aver configurato correttamente ogni componente dell’architettura di rete. 9/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 10 di 37 11 Autenticazione fallita 1. Lanciare il client con i parametri login e password valorizzati correttamente. 12 Problema con il file di input 1. Assicurarsi di aver creato il file di input avente il nome indicato nella proprietà inputFile del file di configurazione. 2. Assicurarsi che il percorso del file di input indicato nella proprietà inputFile del file di configurazione sia corretto. 13 Problemi con il caricamento del certificato 1. Assicurarsi che il file contenente il certificato avente il nome indicato nella proprietà pathCertificatoClient del file di configurazione sia presente. 2. Assicurarsi che il percorso del certificato indicato nella proprietà pathCertificatoClient del file di configurazione sia corretto. 14 Password del certificato errata 15 Driver disabilitato per il formato dati AP5. Usare nuova versione 1. Lanciare il client con il parametro password del certificato valorizzato correttamente. 1. Scaricare la nuova versione del client xml-saia dal sito del CNSD. 16 17 Destinato ad usi futuri E' stato aggiornato il software. E' necessario il riavvio. Destinato ad usi futuri Destinato ad usi futuri Errore di sistema 18 19 20 1. Effettuare una nuova invocazione del client. 1. Verificare l’istallazione del client, cancellare le cartelle client, clientDescriptor, override, repository e rilanciare il client. 10/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 11 di 37 1.6 Utilizzo come libreria Il Client XML-SAIA può essere utilizzato come libreria da invocare direttamente da un’altra applicazione. La comunicazione avviene attraverso l’invocazione di alcune API messe a dispostone dal Client XML-SAIA. Il contenuto informativo utilizza gli stessi formati definiti per l’invocazione batch. Attraverso le property inputFile e outputFile è possibile definire i file di scambio da utilizzare per l’invio dei messaggi al SAIA e la ricezione delle risposte. Il client può essere configurato per non effettuare l’avvio del servizio ssl se già avviato all’interno dell’applicazione chiamante attraverso la property ssl.need.startup. Tale opzione può essere utilizzata anche per l’accesso nell’ambiente di test pubblico. Se l’applicazione chiamante ha già configurato e attivato il framework Log4j con la definizione dei “logger”, il client non tenterà di caricare la propria configurazione di log4j. In questo caso è importante che vengano definiti i logger coerentemente con quanto distribuito nel pacchetto client (vedi file di configurazione log4j.properties). Per utilizzare il Client XML-SAIA da un altro applicativo è necessario: o configurare la variabile di ambiente CLASSPATH in modo che siano visibili all’interprete java le seguenti librerie: - xml-saia-driver.jar commons-cli-1.0.jar log4j-1.2.8.jar o predisporre i seguenti file di configurazione: - configuration.ini: file di configurazione del client (come descritto nel paragrafo §1.2) - log4j.prpoperties: file di configurazione del framework log4j (vedi documentazione specifica in riferimento ad Apache Log4J) - driverOverride.ini: file di configurazione dei puntamenti verso il CNSD (fornito nel pacchetto di istallazione) o predisporre l’alberatura esecutiva configurata attraverso i parametri di configurazione descritti nel paragrafo §1.2 o integrare la chiamata del client attraverso i metodi descritti in formato JavaDoc nel seguente allegato: [xml-saia-client_JavaDoc.zip] 11/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 12 di 37 1.6.1 Scenari di integrazione Sono state testate alcune configurazioni utilizzabili per alcune delle integrazioni più comuni: in particolare sono stati predisposti degli esempi di configurazioni per - integrazione da applicazione JAVA Stand Alone - integrazione con applicazione Web Java istallata su Container Tomcat 5.0 Per ogni esempio è descritta l’alberatura ipotizzata, la configurazione necessaria e la modalità di invocazione della libreria. 1.6.1.1 Integrazione in applicazione stand alone L’esempio in questione prevede un’istallazione del software di anagrafe in cui vengono integrate le librerie di xml-saia, i suoi file di configurazione e i certificati per il colloquio con protocollo HTTPS. Il file di configurazione è caricato dall’applicazione chiamante e passato in memoria al client. 1.6.1.1.1 Alberatura Di seguito un esempio di alberatura esecutiva dove: - application-home indica il path di istallazione dell’applicazione di anagrafe - xml-saia-work è un path di lavoro in cui possono essere movimentati dati, log e file di lavoro del client. 12/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 13 di 37 Alberatura esecutiva application-home |---- configuration |---- driverOverride.ini |---- log4j.properties |---- v1-configuration.ini |---- driver-libs |---- changelog.txt |---- client-parameters.ini |---- commons-cli-1.0.jar |---- driverOverride.ini |---- info.dat |---- log4j-1.2.8.jar |---- xml-saia-driver.jar |---- ssl-tv |---- cert_1.pfx |---- pacert.pem |---- ….. changelog.txt xml-saia-work |---- istat |---- logs |---- …. |-----resume |---- tracciati |---- default.in.txt |---- default.out.txt |---- xml-saia-client |---- xml-saia-driver 1.6.1.1.2 Configurazione Di seguito le impostazioni che consentono la gestione dell’alberatura sopra descritta. v1-configuration.ini log4j.properties=./configuration/log4j.properties dumpInvio=true root.driver.dir=../xml-saia-work istatDataDir=../xml-saia-work/istat resumeDir=../xml-saia-work/resume overrideDir=./configuration xml.dump.dir=../xml-saia-work/dump 13/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 14 di 37 1.6.1.1.3 Modalità di esecuzione Di seguito un esempio di invocazione della libreria con il passaggio in memoria del file di configurazione senza specificarne uno su file system Codice di esempio Properties prop=new Properties(); prop.load(new FileInputStream("configuration/v1-configuration.ini")); int ret=Client.getInstance(prop).start(null, "XXXXXX", "YYYYYY", “zzzzzz”); if (ret != ClientWorker.RET_OK) { System.out.println("Errore : " + ret); } 1.6.1.2 Integrazione in applicazione Web (Tomcat 5.0.x) L’esempio in questione presuppone la presenza di un’istallazione del software di anagrafe in una web application Tomcat 5.0. E’ prevista quindi l’integrazione con xml-saia (tramite libreria) mediante una condivisione dei file di configurazione e dei certificati per il colloquio con protocollo HTTPS. Il file di configurazione di XML-SAIA è caricato dall’applicazione chiamante e passato in memoria al client. Alcune property vengono rivalorizzate sulla base del path di istallazione di Tomcat. Si presuppone inoltre che la webapp abbia già attiva una condifurazione di log4j. 14/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 15 di 37 1.6.1.2.1 Alberatura Di seguito un esempio di alberatura esecutiva dove: - tomcat-home indica il path di istallazione del server Tomcat in cui è pubblicata l’applicazione di anagrafe. - xml-saia-work è un path di lavoro in cui possono essere movimentati dati, log e file di lavoro del client. Alberatura esecutiva tomcat-Home |---- conf |---- driverOverride.ini |---- log4j.properties |---- v2-configuration.ini |---- ssl-tv |---- cert_1.pfx |---- pacert.pem |---- webapps |---- anagrafe |---- WEB-INF |---- lib |---- changelog.txt |---- client-parameters.ini |---- commons-cli-1.0.jar |---- driverOverride.ini |---- info.dat |---- log4j-1.2.8.jar |---- xml-saia-driver.jar |---- ….. |---- ….. |---- ….. |---- ….. changelog.txt xml-saia-work |---- logs |---- …. |---- tracciati |---- default.in.txt |---- default.out.txt |---- xml-saia-client |---- xml-saia-driver 15/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 16 di 37 1.6.1.2.2 Configurazione Di seguito le impostazioni che consentono la gestione dell’alberatura sopra descritta. V2-configuration.ini log4j.properties= dumpInvio=true root.driver.dir=/xml-saia-work istatDataDir=/xml-saia-work/istat resumeDir=/xml-saia-work/resume overrideDir=/configuration xml.dump.dir=/xml-saia-work/dump 1.6.1.2.3 Modalità di esecuzione Di seguito un esempio di invocazione della libreria con il passaggio in memoria del file di configurazione senza specificarne uno su file system e con la ridefinizione a run time di alcune impostazioni. Codice di esempio Properties prop=new Properties(); prop.load( new FileInputStream( System.getProperty("catalina.home") +“/v2-configuration.ini")); prop.setProperty("overrideDir", System.getProperty("catalina.home")+”/conf”); File fSSL=new File(System.getProperty("catalina.home"),"ssl-tv"); prop.setProperty("pathCertificatoClient",new File(fSSL,"cert_1.pfx").toURI().getPath()); prop.setProperty("pathCertificatoServer",new File(fSSL,"pacert.pem").toURI().getPath()); PropertyConfigurator.configure( System.getProperty("catalina.home") +“/log4j.properties")); int ret=Client.getInstance(prop).start(null, "XXXXXX", "YYYYYY", “zzzzzz”); if (ret != ClientWorker.RET_OK) { System.out.println("Errore : " + ret); } 16/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 17 di 37 1.7 Aggiornamento automatico del software Il client XML-SAIA dispone di una nuova funzionalità che lo rende particolarmente adatto ad essere distribuito sul territorio: l’aggiornamento automatico delle versioni del software rilasciato. 1.7.1 Aggiornamento del software XML-SAIA Client Ad ogni avvio del software XML-SAIA Client la versione locale dell’applicazione viene confrontata con quella pubblicata sul server XML-SAIA. Se la versione client, disponibile presso il Comune, risulta essere precedente a quella pubblicata sul server questa verrà automaticamente istallata sulla postazione comunale e quindi eseguita per l’invio delle comunicazioni. La procedura di auto-aggiornamento funziona nel modo seguente: 1. Download del Client Descriptor – Il Client Descriptor è un file che consente di identificare librerie e files di configurazione necessari al XML-SAIA Client per poter comunicare con il server SAIA. La procedura di autoaggiornamento prevede come primo passo di ottenere dalla Web-Utility di SAIA il Client Descriptor. 2. Confronto del Client Descriptor appena scaricato con il vecchio Client Descriptor presente sulla macchina comunale – Dopo aver scaricato l’aggiornamento del Client Descriptor, il software XML-SAIA Client effettua un confronto tra tale Client Descriptor e quello già presente sulla macchina del comune, per verificare se ci sono differenze tra i files del software XML-SAIA Client presenti sulla macchina comunale e i files presenti sulla macchina in cui è installata la Web-Utility di SAIA. 3. Confronto di coerenza tra il Client Descriptor scaricato e i files costituenti il software XML-SAIA Client presenti sulla macchina del comune – Se i Client Descriptors confrontati al punto 2 sono identici, si provvede ad effettuare un ulteriore controllo di coerenza tra il Client Descriptor scaricato ed i files del software che compongono il Client XML-SAIA presenti localmente sulla macchina del comune. Tale controllo consiste nel verificare che le librerie e i files di configurazione di cui il software è costituito siano esattamente gli stessi che sono descritti nel Client Descriptor. In caso affermativo la procedura di autoaggiornamento termina, in quanto si è certi che il software presente sulla macchina del comune è l’ultima versione del XML-SAIA Client disponibile. 4. Download dei files più aggiornati – Nel caso in cui i Client Descriptors non abbiano lo stesso contenuto o i files costituenti il Client XML-SAIA non siano coerenti con quelli descritti nel Client Descriptor (ovvero nel caso in cui almeno uno dei confronti descritti al punto 2 e al punto 3 termini con risultato negativo), la procedura di autoaggiornamento continua, scaricando dal repository della WebUtility di SAIA solo le librerie e i files di configurazione del Client XML-SAIA che sono più aggiornati di quelli già presenti sulla macchina del comune. 17/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 18 di 37 Figura 1.7-1 UML Sequence diagram che illustra la procedura di auto-aggiornamento 1.7.2 Aggiornamento tabella codici Istat Lo stesso meccanismo di aggiornamento automatico è previsto per la tabella dei codici Istat che permette al software comunale di verificare l’esattezza di tali codici direttamente sulla macchina comunale evitando di inviare file le cui informazioni, qualora non fossero corrette, sarebbero comunque scartate in un secondo momento. 18/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 19 di 37 2 MODULO JDBC2AP5 2.1 Descrizione del modulo JDBC2AP5 è un modulo di XML-SAIA (Sistema di Accesso e Interscambio Anagrafico) che consente ai Comuni Italiani di interfacciarsi con XML-SAIA. Permette Comuni di comunicare tramite XML-SAIA con il SAIA semplicemente trasferendo dati dal database dell’anagrafe comunale al database del modulo JDBC2AP5, delegando al modulo stesso la gestione del formato AP5 e la comunicazione di dati in tale formato con XML-SAIA. Il modulo fornisce la possibilità di utilizzare diversi tipi di database (es. Oracle, Mysql, PostgreSQL, Access…). Il software comunale inserisce nel database dell’applicativo i dati relativi alle comunicazioni anagrafiche da inviare; il modulo JDBC2AP5 si occupa della loro trasformazione in file XML formato AP5, dell’invio di tali dati al SAIA tramite XML_SAIA e di inserire nel suddetto database i dati ricavati dalle risposte ricevute in conseguenza dell’operazione eseguita, sia essa un invio di comunicazioni anagrafiche, una richiesta di stato code o di presa in carico. Tramite il modulo JDBC2AP5 è quindi possibile per il software comunale interagire con SAIA (tramite XML-SAIA) focalizzando l’attenzione sui dati da scrivere e leggere dal database del modulo stesso, tralasciando sia l’aspetto legato alla generazione e gestione dei dati in formato AP5 che quello legato alla comunicazione con XML-SAIA. 2.2 Configurazione XML-SAIA Client JDBC2AP5 Editare il file configuration.ini, impostando le seguenti proprietà: -application: indica il tipo di applicazione da eseguire. Per utilizzare JDBC2AP5 inserire connector Nella sezione AP5Connector # AP5-Connector - connector.in.archive.format: indica il formato di archiviazione dei dati ricevuti dal SAIA. Può essere valorizzato con uno ZIP se si intende comprimere il file prima di archiviarlo; lasciare senza valore altrimenti; - connector.richieste.per.lotto: numero massimo di comunicazioni per richiesta. Lasciare vuoto per non impostare alcun limite massimo; - connector.db.type: indica il tipo di database utilizzato Può assumere i seguenti valori: 1. Oracle9i; 2. PostgreSQL81; 3. MySQL5; 4. Access2000. 19/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 20 di 37 - connector.db.url: l'indirizzo IP del database; - connector.db.port: la porta del database; - connector.db.alias: l'alias del database; - connector.db.usr: l'utenza con cui accedere al database; - connector.db.pwd: la password associata all'utenza per il database impostata; - connector.mittente.codiceistat: il codice istat del comune mittente; - connector.mittente.nomecomune: il nome del comune mittente; - connector.mittente.siglaprovincia: la sigla della provincia del comune mittente; 2.3 Esecuzione del client XML-SAIA JDBC2AP5 Per eseguire il Client XML-SAIA JDBC2AP5 è sufficiente aprire un terminale e spostarsi all’interno della cartella di installazione del software. Su un sistema di tipo Windows digitare: xml-saia.bat --cfg <file di configurazione> --login <nome utente> --pwd <password> --certpwd <password del certificato> -jconn_op <azione da eseguire> jconn_cf <codice fiscale dell’utente> Su un sistema di tipo GNU/Linux digitare: xml-saia.sh --cfg <file di configurazione> --login <nome utente> --pwd <password> --certpwd <password del certificato> Il parametro -jconn_op può assumer uno dei seguenti tre valori. 1. ca : invio di comunicazioni anagrafiche; 2. sc : richiesta di stato code; 3. pic : richiesta di presa in carico. 20/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 21 di 37 3 FUNZIONALITÀ E TRACCIATI DEL CLIENT XML-SAIA 3.1 Funzionalità e tracciati per la versione 1 del client XML-SAIA La versione 1 di XML-SAIA mette a disposizione dei comuni la possibilità di inviare le seguenti comunicazioni anagrafiche al sistema SAIA istallato presso il Centro Nazionale Servizi Demografici: • • • • • • • Comunicazioni di Nascita (CA01) Annullamento comunicazioni di nascita (CA01) Comunicazione di Cambio di Residenza (CA01) Dati della patente per MCTC (MC11) Dati dei veicoli per MCTC (MC12) Comunicazione di Decesso (CA01) Funzioni di Ripetizione (CA16) Presa in Carico (ITPC) Stato delle Code (ITSC) Le risposte previste per le comunicazioni sopraelencate sono: • • • • • • • • • Documento Accettato (ITAC) Messaggio Generico (ITMS) Errore Fatale (ITFE) Errore dal Centro (EXnn) Esito comunicazione anagrafica per Anagrafe Tributaria (AT54) Esito comunicazione anagrafica per INPS (IN54) Esito comunicazione anagrafica per MCTC (MC64) Fine invio (ITDT) Stato Invio (ITLS) Nell’implementazione di queste funzionalità si è posta particolare attenzione alla retrocompatibilità con la precedente versione di SAIA. Con questa versione, sarà possibile utilizzare due tipologie di file di input per il SAIA le cui differenze sono sotanzialmente il formato delle informazioni utilizzate dai comuni. Le due alternative sono: 1. L’utilizzo dei vecchi tracciati record denominati JJ; Le specifiche di produzione dei vecchi tracciati JJ+ non sono in alcun modo cambiate e sono consultabili all’indirizzo: http://www.servizidemografici.interno.it/cnsd/settori/ina-saia/ competenze/documentazioneOperativa/documentazioneOperativa.htm per le funzionalità sopra esposte. In particolare le specifiche dei tracciati sono disponibili nei documenti ‘Tracciati record pccsa_1’, ‘Tracciati record pccsa_2’, ‘Tracciati record pccsa_3’. 21/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 22 di 37 Anche i tracciati previsti per le risposte generate dal Server SAIA sono completamente compatibili con specifiche della versione precedente e sono reperibili presso il sito del CNSD all’hyperlink ‘Schema funzionale del pccsa’. Esempio: JJ+;CA01+321+1+1+++CAZORANI+MANUELE+M+18102005+085022+VIA+CAN NOLI+22+93010+++++++S+N+; JJ+;CA01+322+1+1+++PELUSI+GIUSEPPE+M+06112005+085022+VIA+TORO+3 3+93010+++++++S+N+; 2. La riformulazione degli stessi contenuti informativi adattati alla specifica XML-V1. Le regole sulla struttura dei tracciati XML-V1 sono contenute nello schema di definizione RichiestaSaia.xsd, contenuto in xsd-v1-0.98.zip, reperibile presso il sito web della Direzione Centrale dei servizi demografici nell’area privata alla voce DOWNLOAD. Esempio: <?xml version="1.0" encoding="UTF-8"?> <richiestaSaia tipoRecord="CA01"> <versione>1.0</versione> <utente> <login>X</login> <password>X</password> </utente> <dataRichiesta>2005-11-22T16:22:49.281+01:00</dataRichiesta> <richieste> <richiesta> <versione>1.0</versione> <CA01 protocolloSaia="X"> <protocolloMittente>321</protocolloMittente> <tipoInoltro>1</tipoInoltro> <tipoComunicazione>1</tipoComunicazione> <cognome>CAZORANI</cognome> <nome>MANUELE</nome> <sesso>M</sesso> <dataDiNascita>2005-10-18</dataDiNascita> <codIstatSiglaStatoEstero>085022</codIstatSiglaStatoEstero> <prefissoToponomastico>VIA</prefissoToponomastico> <indirizzo>CANNOLI</indirizzo> <numeroCivico>22</numeroCivico> <cap>93010</cap> <cittadinanzaItaliana>S</cittadinanzaItaliana> <AIRE>N</AIRE> </CA01> </richiesta> <richiesta> 22/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 23 di 37 <versione>1.0</versione> <CA01 protocolloSaia="X"> <protocolloMittente>322</protocolloMittente> <tipoInoltro>1</tipoInoltro> <tipoComunicazione>1</tipoComunicazione> <cognome>PELUSI</cognome> <nome>GIUSEPPE</nome> <sesso>M</sesso> <dataDiNascita>2005-11-06</dataDiNascita> <codIstatSiglaStatoEstero>085022</codIstatSiglaStatoEstero> <prefissoToponomastico>VIA</prefissoToponomastico> <indirizzo>TORO</indirizzo> <numeroCivico>33</numeroCivico> <cap>93010</cap> <cittadinanzaItaliana>S</cittadinanzaItaliana> <AIRE>N</AIRE> </CA01> </richiesta> </richieste> </richiestaSaia> Per utilizzare i tracciati in formato testo, si deve impostare a “JJ” la variabile formatoDati nel file di configurazione (configuration.ini). Per utilizzare i tracciati in formato xml, si deve impostare a “XML-V1” la variabile formatoDati nel file di configurazione (configuration.ini). 3.2 Funzionalità e tracciati per la versione 2 del client XML-SAIA Per quanto riguarda la versione 2 dell’XML-SAIA, si mette a disposizione dei comuni la possibilità di inviare le seguenti comunicazioni anagrafiche al sistema SAIA installato presso il Centro Nazionale Servizi Demografici: • Comunicazione Anagrafica Comunicazione di Nascita Comunicazione di Immigrazione da altro comune Comunicazione di Immigrazione dall’estero Comunicazione di Iscrizione per mancata iscrizione in un altro comune Comunicazione di Morte Comunicazione di Emigrazione in altro comune Comunicazione di Emigrazione all’estero Comunicazione di Cancellazione per irreperibilità Comunicazione per Cancellazione per omessa dichiarazione di dimora abituale Comunicazione di Cambio di abitazione Comunicazione di Matrimonio Comunicazione di Vedovanza Comunicazione di Divorzio Comunicazione di Annullamento Matrimonio 23/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 24 di 37 Comunicazione di Variazione di nome o cognome Comunicazione di Variazione di sesso Comunicazione di Variazione di cittadinanza Comunicazione di Variazione di Permesso di Soggiorno Comunicazione di Variazione di Paternità o Maternità Comunicazione di Rettifica Comunicazione di Annullamento di una Comunicazione Anagrafica • Stato delle code • Presa in carico • Consultazione Le risposte previste per le comunicazioni sopraelencate sono: • • • • • Comunicazioni Anagrafiche Documento Accettato Documento Non Accettato Stato delle Code Presa in Carico Consultazione Errore Il sistema, una volta configurato per inviare dati secondo il tracciato AP5, non potrà più inviare dati nel tracciato piatto JJ, o XML-V1. Le regole sulla struttura dei tracciati AP5 sono contenute nello schema di definizione RichiestaSAIA.xsd, contenuto nell’allegato [AP5-XSD V2], reperibile presso il sito web del CNSD . Esempio: <?xml version="1.0" encoding="UTF-8"?> <richiestaSAIA versione="1.0" versioneXMLSAIA="1.0" xsi:schemaLocation="http://saia.ancitel.it/xmlmanager/ap5 http://172.18.10.5/ap5/RichiestaSAIA.xsd " xmlns="http://saia.ancitel.it/xmlmanager/ap5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <mittente> <comuneDiComunicazione> <nomeComune>Castel Gandolfo</nomeComune> <codiceComuneIstat>058022</codiceComuneIstat> <siglaProvinciaIstat>rm</siglaProvinciaIstat> </comuneDiComunicazione> <codiceFiscaleOperatore>CCCMZZ19C78E432A</codiceFiscaleOperatore> </mittente> <utente> 24/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 25 di 37 <login>xxx</login> <password>xxx</password> </utente> <applicazioneAnagrafe> <nome>nome</nome> <versione>versione</versione> <fornitore>fornitore</fornitore> </applicazioneAnagrafe> <richiesta versione="1.0"> <comunicazione dataOraRichiesta="2006-03-01T16:22:49" protocolloAnagrafe="00000000000000000321"> <causale> <tipoComunicazione>variazione</tipoComunicazione> <motivoComunicazione>1</motivoComunicazione> <dataValidita>2006-01-01</dataValidita> </causale> <generalita> <cognome>CAZODANI</cognome> <nome>MANUELE</nome> <luogoNascita> <comune> <nomeComune>Castel Gandolfo</nomeComune> <codiceComuneIstat>058022</codiceComuneIstat> <siglaProvinciaIstat>rm</siglaProvinciaIstat> </comune> </luogoNascita> <dataNascita>2006-03-01</dataNascita> <sesso>M</sesso> <cittadinanza> <descrizioneStato>Italia</descrizioneStato> <codiceStato>ITA</codiceStato> </cittadinanza> <statoCivile>1</statoCivile> </generalita> <iscrizioneAPR> <motivoIscrizione>1</motivoIscrizione> <dataIscrizioneAPR>2006-03-01</dataIscrizioneAPR> <flagResidenteDallaNascita>S</flagResidenteDallaNascita> </iscrizioneAPR> <indirizzo> <cap>93010</cap> <comune> <nomeComune>Castel Gandolfo</nomeComune> <codiceComuneIstat>058022</codiceComuneIstat> <siglaProvinciaIstat>rm</siglaProvinciaIstat> 25/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 26 di 37 </comune> <toponimo> <specie>via</specie> <denominazione>CANNOLI</denominazione> </toponimo> <numeroCivico> <numero>22</numero> </numeroCivico> </indirizzo> </comunicazione> <comunicazione dataOraRichiesta="2006-03-01T16:22:49" protocolloAnagrafe="00000000000000000321"> <causale> <tipoComunicazione>variazione</tipoComunicazione> <motivoComunicazione>1</motivoComunicazione> <dataValidita>2006-01-01</dataValidita> </causale> <generalita> <cognome>PELUSI</cognome> <nome>GIUSEPPE</nome> <luogoNascita> <comune> <nomeComune>Castel Gandolfo</nomeComune> <codiceComuneIstat>058022</codiceComuneIstat> <siglaProvinciaIstat>rm</siglaProvinciaIstat> </comune> </luogoNascita> <dataNascita>2006-03-01</dataNascita> <sesso>M</sesso> <cittadinanza> <descrizioneStato>Italia</descrizioneStato> <codiceStato>ITA</codiceStato> </cittadinanza> <statoCivile>1</statoCivile> </generalita> <iscrizioneAPR> <motivoIscrizione>1</motivoIscrizione> <dataIscrizioneAPR>2006-03-01</dataIscrizioneAPR> <flagResidenteDallaNascita>S</flagResidenteDallaNascita> </iscrizioneAPR> <indirizzo> <cap>93010</cap> <comune> <nomeComune>Castel Gandolfo</nomeComune> <codiceComuneIstat>058022</codiceComuneIstat> 26/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 27 di 37 <siglaProvinciaIstat>rm</siglaProvinciaIstat> </comune> <toponimo> <specie>via</specie> <denominazione>TORO</denominazione> </toponimo> <numeroCivico> <numero>33</numero> </numeroCivico> </indirizzo> </comunicazione> </richiesta> </richiestaSAIA> Le specifiche di produzione dei tracciati AP5 sono consultabili nel documento “INA-SAIA– Allegato tecnico 2– Struttura Dati AP5” . Le regole di validazione applicativa da seguire durante la compilazione di una richiesta da inviare con la versione 2 del client XML-SAIA sono consultabili nel documento “INASAIA–Allegato tecnico 3–Schema di validazione applicativa”. Questi ultimi file sono anch’essi disponibili sul sito della Direzione Centrale dei Servizi Demografici. 3.3 Funzionalità e tracciati per la versione 2.1.0.0 del client XMLSAIA La versione 2.1.0.0 del client permette la gestione del modello APR4 per i trasferimenti di residenza. Il trasferimento di residenza è iniziato dal comune di immigrazione che richiede al comune di provenienza del cittadino la cancellazione di quest’ultimo dall’anagrafe. Per effettuare la cancellazione il comune di immigrazione deve fornire dei dati del cittadino e dei familiari coinvolti nel trasferimento di residenza sulla base del modello APR4. Il comune di emigrazione, ricevuta la richiesta ed effettuati gli opportuni controlli, completa il modello APR4 ricevuto e lo restituisce al comune di immigrazione. Le due operazioni di invio e di completamento del modello avvengono attraverso i seguenti servizi forniti dal server SAIA: • • • • Invio modello APR4 Completamento modello APR4 Stato modello Presa in carico I servizi sono accessibili tramite richieste in formato XML trasmesse via HTTP. Le richieste XML devono essere valide ovvero devono rispettare una grammatica formalizzata attraverso alcuni file XML Schema illustrati di seguito nel paragrafo e devono superare i controlli di validazione applicativa. Ad ogni richiesta valida segue una risposta sincrona del SAIA secondo il seguente modello: • • • • Risposta Comunicazione APR4 – modello accettato / modello non accettato Risposta Comunicazione APR4 – modello accettato / modello non accettato Risposta Stato modello Risposta Presa in carico 27/37 SAIA Sistema di Accesso Interscambio Anagrafico • Revisione 2.1.1 15/10/2006 Pag. 28 di 37 Errore In caso di richiesta di invio o completamento non valida viene restituita una risposta di modello non accettato. Se la richiesta è mal formata il SAIA restituisce un messaggio di errore. Le strutture dei messaggi scambiati tra il client e il server per le comunicazioni APR4, richieste e risposte, insieme alle informazioni per la validazione applicativa sono descritte nei documento riportati nella tabella seguente: Struttura APR4 Titolo Dati Comunicazioni File INA-SAIA Struttura Comunicazioni APR4. doc Dati Descrizione Il documento fornisce una descrizione generale dei messaggi e delle strutture dati dettagliate nei documenti di specifica insieme alle regole di validazione applicativa 3.4 Funzionalità e tracciati per la versione 2.2.0.0 del client XMLSAIA La versione 2.2.0.0 del client XML-SAIA permette lo scambio delle informazioni anagrafiche tra i comuni. Il SAIA mette a disposizione dei comuni i messaggi per il trasporto delle richieste di consultazione dal comune di origine al comune di destinazione e delle risposte da quest’ultimo al primo. I messaggi sono definiti attraverso degli schema XML. L’invio della richiesta e la ricezione della risposta attraverso il SAIA prevedono lo scambio di messaggi tra i comuni coinvolti e il SAIA e tra il SAIA e l’INA. Il comune di origine della richiesta invia un messaggio al SAIA contenente una o più consultazioni riguardanti i cittadini di altri comuni. Il SAIA riceve la richiesta, verifica la validità delle comunicazioni e restituisce una risposta di accettazione per ciascuna di queste. Se le comunicazioni sono accettate, il SAIA restituisce nella risposta il numero di protocollo di ciascuna comunicazione ricevuta per permette al comune di recuperare successivamente la risposta del comune destinatario se disponibile. Se il comune di destinazione della singola comunicazione non è fornito il SAIA richiede all’INA l’informazione utilizzando i dati anagrafici del cittadino oggetto della consultazione. Un comune destinatario di una comunicazione di consultazione può riceverne la notifica inviando al SAIA una richiesta di stato code per il servizio di consultazione anagrafica. Successivamente può ottenere la richiesta stessa con la funzione di presa in carico delle comunicazioni di consultazione anagrafica. Una volta inoltrata la comunicazione al destinatario il SAIA aggiorna lo stato della stessa da accettata a presa in carico. Il comune destinatario popola la risposta alla richiesta di consultazione con i dati del cittadino, se disponibili, e invia i dati al SAIA attraverso una richiesta contenente la comunicazione di risposta. Il SAIA, ricevuta la comunicazione di risposta, aggiorna lo stato della consultazione da presa in carico a completata. Il comune originario della richiesta può a questo punto ottenere la risposta inviando una richiesta di presa in carico delle consultazioni anagrafiche. Prima ancora lo stesso comune può verificare lo stato delle comunicazioni inviando una richiesta di stato code per il servizio di consultazione anagrafica. Le richieste che possono essere inviate al SAIA nell’ambito del servizio di consultazione anagrafica sono dunque: • Interrogazione Anagrafe del comune di origine al comune destinatario 28/37 SAIA Sistema di Accesso Interscambio Anagrafico • • • Revisione 2.1.1 15/10/2006 Pag. 29 di 37 Risposta Anagrafe del comune destinatario al comune di origine Stato code delle comunicazioni di interrogazione e delle comunicazioni di risposta Presa in carico delle comunicazioni di interrogazione e delle comunicazioni di risposta Ad ogni richiesta il SAIA risponde con una risposta sincrona • • • • • Risposta Interrogazione Anagrafe – richiesta accettata / richiesta non accettata Risposta Anagrafe – richiesta accettata / richiesta non accettata Risposta Stato comunicazioni di consultazione Risposta Presa in carico comunicazioni di consultazione Errore In caso di richiesta di interrogazione o di risposta anagrafe non valida viene restituita una risposta di comunicazione non accettata. Se la richiesta è mal formata il SAIA restituisce un messaggio di errore. Le strutture dei messaggi scambiati tra il client e il server per le consultazioni anagrafiche, richieste e risposte, insieme alle informazioni per la validazione applicativa sono descritte nel documento riportato nella tabella seguente: Titolo Struttura Dati Anagrafica Consultazione File INA-SAIA Struttura Dati Consultazione Anagrafica.doc Descrizione Il documento fornisce una descrizione generale dei messaggi e delle strutture dati dettagliate nei documenti di specifica insieme alle regole di validazione applicativa 3.5 Funzionalità e tracciati per la versione 2.3.0.0 del client XMLSAIA La versione 2.3.0.0 del client XML-SAIA permette di allineare le anagrafi comunali con la base dati INA. I comuni possono inviare attraverso il servizio di popolamento del SAIA i dati anagrafici richiesti dall’INA riguardanti i propri cittadini residenti o emigrati all’estero o deceduti. I popolamenti sono inviati al SAIA utilizzando i messaggi basati sul modello AP5. I comuni, dopo aver inviato le comunicazioni contenenti i dati dei cittadini per i popolamenti nella base dati INA, possono verificare lo stato dei popolamenti e prendere in carico gli esiti dei popolamenti completati inviando al SAIA le richieste previste per il servizio: • • • Richiesta popolamento INA Richiesta stato code Richiesta presa in carico Le richieste sono trasmesse via http in formato XML. Le richieste XML devono essere valide ovvero devono rispettare una grammatica formalizzata con il linguaggio XML Schema definita sulla base del modello AP5. Ad ogni richiesta valida segue una risposta sincrona del SAIA secondo il seguente modello: • Risposta popolamento INA – modello accettato / modello non accettato 29/37 SAIA Sistema di Accesso Interscambio Anagrafico • • • Revisione 2.1.1 15/10/2006 Pag. 30 di 37 Risposta Stato modello Risposta Presa in carico Errore In caso di richiesta di invio o completamento non valida viene restituita una risposta di modello non accettato. Se la richiesta è mal formata il SAIA restituisce un messaggio di errore. Le strutture dei messaggi scambiati tra il client e il server per il popolamento INA, richieste e risposte, insieme alle informazioni per la validazione applicativa sono descritte nei documenti riportati nella tabella seguente: Titolo Struttura Dati Popolamento INA File INA-SAIA Struttura Popolamento INA.doc Dati Descrizione Il documento fornisce una descrizione generale dei messaggi e delle strutture dati dettagliate nei documenti di specifica indicati nei riferimenti 3.6 Funzionalità e tracciati per la versione 2.4.0.0 del client XMLSAIA La versione 2.4.0.0 del client XML-SAIA permette agli Enti di richiedere informazioni anagrafiche ai Comuni. Il SAIA mette a disposizione degli Enti i messaggi per il trasporto delle richieste di consultazione. I messaggi sono definiti attraverso schema XML. Questa funzionalità non differisce molto, nella struttura dei messaggi, rispetto alla funzionalità implementata per le consultazioni anagrafiche tra Comuni descritta nel paragrafo precedente. La maggiore differenza consiste nel fatto che gli Enti accedono al servizio tramite web services e solo i Comuni destinatari delle richieste di consultazione anagrafiche utilizzano il client XML-SAIA. L’Ente che richiede la consultazione anagrafica invia la richiesta attraverso un web service del SAIA contenente una o più consultazioni riguardanti i cittadini di uno o più Comuni. Il SAIA riceve la richiesta, verifica la validità delle comunicazioni e restituisce una risposta di accettazione per ciascuna di queste. Se le comunicazioni sono accettate, il SAIA restituisce nella risposta il numero di protocollo di ciascuna comunicazione ricevuta per permette all’Ente di recuperare successivamente la risposta del Comune destinatario se disponibile. Se il Comune di destinazione della singola comunicazione non è fornito il SAIA richiede all’INA l’informazione utilizzando i dati anagrafici del cittadino oggetto della consultazione. Un comune destinatario di una comunicazione di consultazione può riceverne la notifica inviando al SAIA una richiesta di stato code per il servizio di consultazione anagrafica. Successivamente può ottenere la richiesta stessa con la funzione di presa in carico delle comunicazioni di consultazione anagrafica. Una volta inoltrata la comunicazione al destinatario il SAIA aggiorna lo stato della stessa da accettata a presa in carico. Il Comune destinatario popola la risposta alla richiesta di consultazione con i dati del cittadino, se disponibili, e invia i dati al SAIA attraverso una richiesta contenente la comunicazione di risposta. Il SAIA, ricevuta la comunicazione di risposta, aggiorna lo stato della consultazione da presa in carico a completata. L’Ente può a questo punto ottenere la risposta utilizzando un web service per la presa in carico delle consultazioni anagrafiche. L’Ente può verificare lo stato delle comunicazioni utilizzando un altro web service per la richiesta di stato code. In caso di richiesta di interrogazione o di risposta anagrafe non valida per formato errato o a causa di informazioni mancanti il SAIA restituisce una risposta di comunicazione non accettata. Le 30/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 31 di 37 strutture dei messaggi scambiati per le consultazioni anagrafiche da Ente a Comune, richieste e risposte, insieme alle informazioni per la validazione applicativa sono descritte nel documento riportato nella tabella seguente: Titolo Struttura Dati Anagrafica Consultazione File INA-SAIA Struttura Dati Consultazione Anagrafica.doc Descrizione Il documento fornisce una descrizione generale dei messaggi e delle strutture dati dettagliate nei documenti di specifica insieme alle regole di validazione applicativa 3.7 Funzionalità e tracciati per la versione 2.5.0.0 del client XMLSAIA La versione 2.5.0.0 del client XML-SAIA permette ai Comuni di gestire le anomalie prodotte in seguito ad una richiesta di variazione anagrafica, in modalità automatica per alcuni casi limitati. Le anomalie gestite dal SAIA riguardano: 1) date della residenza di un cittadino dichiarate da due Comuni contradditorie 2) dati anagrafici diversi da quelli già registrati in INA forniti dallo stesso Comune o da un Comune diverso Un Comune riceve la notifica della presenza di un anomalia attraverso una richiesta di presa in carico e attraverso un servizio di notifica per posta elettronica indirizzato ad un utente del Comune registrato sul SAIA. Il Responsabile dell’Anagrafe Comunale invia una comunicazione per ciascuna anomalia pendente del tipo descritto precedentemente. • • • conferma i dati forniti durante la variazione anagrafica annulla la variazione anagrafica rettifica la variazione anagrafica fornendo nuovamente i dati anagrafici Il SAIA riceve le comunicazioni e dopo la validazione dei messaggi restituisce una risposta con l’esito della validazione. Se il Comune che ha originato l'anomalia sull'INA conferma i dati, il SAIA inoltra la notifica dell'anomalia al Comune che ha fornito i dati in possesso dell'INA. Quest'ultimo Comune può a sua volta inviare una comunicazione per: • • confermare i dati anagrafici forniti all'INA modificare i dati Il trattamento automatico di un'anomalia riguardante i dati anagrafici o la data di residenza di un cittadino di un Comune può essere interrotta da un operatore del Call Centre in qualsiasi momento, in seguito ad una richiesta di intervento del Comune che ha generato l'anomalia o di un Comune coinvolto. Le strutture dei messaggi scambiati per la gestione 31/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 32 di 37 delle anomalie, richieste e risposte, insieme alle informazioni per la validazione applicativa sono descritte nel documento riportato nella tabella seguente: Titolo Struttura Dati Gestione Anomalie File INA-SAIA Struttura Dati Gestione Anomalie.doc Descrizione Il documento fornisce una descrizione generale dei messaggi e delle strutture dati dettagliate nei documenti di specifica insieme alle regole di validazione applicativa 32/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 33 di 37 4 PREDISPOSIZIONE DEL FILE DI INPUT E LETTURA DEL FILE DI OUTPUT Per l’invio delle comunicazioni con l’uso di XML-SAIA è necessario predisporre il file contenente i tracciati delle comunicazioni da inviare nella directory specificata nel file di configurazione configuration.ini con il valore dell’attributo inputFile. I risultati dell’invio delle configurazioni saranno contenuti in un file delle risposte generato automaticamente dal client XML-SAIA alla fine del processo di invio, tale file sarà reperibile nella posizione specificata nel file configuration.ini per l’attributo outputFile. Per utilizzare i tracciati in formato testo, si deve impostare a “JJ” la variabile formatoDati nel file di configurazione (configuration.ini). Per utilizzare i tracciati in formato xml, si deve impostare a “XML-V1” la variabile formatoDati nel file di configurazione (configuration.ini). Per attivare la possibilità di impiegare file XML nel tracciato AP5 è necessario richiedere l’abilitazione tramite l’assistenza tecnica. 33/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 34 di 37 5 JAVA RUNTIME ENVIRONMENT (JRE) 5.1 Installazione JRE Il JRE, per le piattaforme Windows/GNU/Linux, è prelevabile gratuitamente dal sito Web della Sun Microsystem. Per spiegare come installare il software JRE, in questo documento è stata usata l’ultima versione disponibile al momento della stesura: la 1.4.2_09. Comunque qualunque JRE appartenente alla serie 1.4.* andrà bene al corretto funzionamento dell’applicazione XMLSAIA. 5.2 Installazione JRE su piattaforma Windows Dopo aver prelevato il software necessario, lanciamo l’installazione facendo doppio click sul file appena scaricato, in questo esempio il pacchetto : j2re-1_4_2_09-windows-i586-p.exe. Si inizia così con la procedura d’installazione guidata, che dopo pochi secondi presenta una schermata come quella di Figura 4.2-1, per l’accettazione del contratto di licenza d’uso. Figura 5.2-1 – Inizio della procedura di installazione guidata Dopo aver letto il contratto, se s’intende accettarlo fare click sul pulsante Si. Se non si accetta il contratto, non è possibile installare il JRE. 34/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 35 di 37 In seguito è richiesto con quale tipologia d’installazione procedere: Tipica (consigliata) Personalizzata (utente esperto) (Vedi Figura 4.2-2). Figura 5.2-2 – Scelta il tipo di installazione L’ultima schermata (Figura 4.2-3), indica la fine del processo di installazione del JRE. Figura 5.2-3 – Fine dell’installazione 35/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 36 di 37 5.3 Installazione JRE su piattaforma GNU/Linux Per installare il software JRE su un sistema GNU/Linux generico, è necessario aprire un terminale (può essere utile anche un terminale grafico per esempio xterm), e spostarsi dentro la cartella in cui il sistema ha “montato” il lettore ottico CD/DVD, per esempio “/mnt/cdrom” su Linux Red Hat o “/cdrom” su Debian: bash# cd /mnt/cdrom Copiare il file autoscompattante j2re-1_4_2_09-linux-i586.bin nella cartella in cui si vuole installare il software JRE, e spostarsi in tale cartella. bash# cp j2re-1_4_2_09-linux-i586.bin <cartella d’installazione> Spostarsi nella cartella in cui è stato copiato il file autoscompattante e digitare il seguente comando: ./j2re-1_4_2_09-linux-i586.bin, attenersi alle istruzione che verranno generate a video dal comando appena lanciato. E’ necessario accettare la licenza dettata dalla Sun Microsystems Al termine del processo di installazione, nella stessa cartella di destinazione dell’autoscompattante sarà presente un’ulteriore cartella, j2re-1_4_2_09, che costituisce la cartella di installazione del software JRE. Per rendere noto al sistema la presenza del software appena installato, è necessario aggiornare la variabile d’ambiente PATH, perché includa la cartella di installare del JRE. Quindi: Editare il file /etc/profile, con un edito qualsiasi, messo a disposizione dal sistema, per esempio vi: bash# vi /etc/profile All’interno del file appena editato è già presente la dichiarazione della variabile PATH, per esempio: PATH=“/bin:/sbin:/usr/bin:/usr/sbin/:/usr/X11R6/bin” Digitare “i” e spostarsi con i tasti freccia, subito sotto la dichiarazione della variabile appena descritta. Supponendo che la cartella di installazione del JRE, si trovi dentro la cartella /opt, scrivere: PATH=”$PATH:/opt/j2re-1_4_2_09/bin” Digitare il testo di escare <esc>, digitare in ordine la sequenza “:wq!” e digitare il tasto <return> per salvare le modifiche apportate e uscire dall’editor vi. 36/37 SAIA Sistema di Accesso Interscambio Anagrafico Revisione 2.1.1 15/10/2006 Pag. 37 di 37 A questo punto è necessario aggiornare le variabili d’ambiente del terminale usato fino a questo momento, quindi sarà necessario digitare il seguente comando: bash# source /etc/profile. 37/37