Registro Imprese
Lo scenario descrive i web Services di accesso all’Archivio di sintesi delle imprese esposti dal CART.
Per le istruzioni in merito alla fruizione del servizio di accesso al Registro Imprese contattare CART ( cartdesk@regione.toscana.it ) richiedendo la configurazione utente per il servizio ParixGate-RI ed il certificato client.
Registro Imprese – web Services di accesso PARIXGATE
Nella nuova release del servizio di accesso è prevista autenticazione tramite certificato client.
Il documento ha l’obiettivo di descrivere le funzioni della componente PARIX-GATE, per la distribuzione in rete dei dati presenti nell’archivio locale PARIX-DB in formato XML, e consentire quindi ad una Pubblica Amministrazione la condivisione e la cooperazione applicativa con i sistemi informativi di altre Pubbliche Amministrazioni locali.
Di seguito vengono elencate tutte le componenti PARIX
PARIX, Piattaforma di Accesso al Registro Imprese in formato XML, consente di realizzare un sistema informativo che integra i dati di impresa presenti nel Registro Imprese Nazionale con i dati di impresa registrati in altri sistemi locali (es: SUAP, SIL, finanziamenti, …) o di georeferenziazione territoriale, o anche con altri dati di impresa a disposizione dalle Pubbliche Amministrazioni o Enti centrali (es: INPS, INAIL, …).
PARIX – Archivio Registro Imprese Locale – si propone articolato in più moduli. Le prime due componenti (DATI e DB) sono un prerequisito per ogni componente successiva (WEB, GATE, STORICO, Elenchi, …):
- PARIX-DATI: i datiestratti dal Registro Imprese Nazionale, cioè una copia sincronizzata dei dati delle imprese che operano in una precisa area geografica distribuita su file in formato XML.
InfoCamere garantisce l’invio degli aggiornamenti dei dati con periodicità concordata, la manutenzione correttiva del software e la manutenzione “evolutiva” resasi eventualmente necessaria a causa di modifiche normative alla struttura dati del Registro Imprese.
- PARIX-DB: l’ “Archivio Registro Imprese Locale” (prerequisito PARIX-DATI) un database per accogliere i dati PARIX, basato su Oracle 9i oppure DB2 con le relative procedure di impianto e aggiornamento dati per costituire la base dati d’impresa di riferimento integrabile con le altre fonti dati d’impresa di carattere locale a disposizione della P.A..
- PARIX-WEB: l’ “applicazione di consultazione via WEB” (prerequisiti PARIX-DATI e PARIX-DB), per consentire ad ogni attore umano (impiegato P.A.) di interrogare con un semplice browser in rete i dati PARIX
- PARIX-Elenchi: la possibilità di costruire elenchi di imprese tematici per valutare le consistenze, le distribuzioni dati e quindi effettuare valutazioni di natura statistica. Gli elenchi sono esportabili in formato CSV o RTF per poter essere elaborati da altri software specifici.La modalità in cui la componente è fruibile è via Web da applicativo ParixWeb
- PARIX-GATE: il “gateway” e la “porta applicativa” della P.A. (prerequisiti PARIX-DATI e PARIX-DB) per distribuire in rete i dati PARIX in formato XML e consentire la condivisione e cooperazione applicativa con i sistemi informativi di altre P.A. Locali.
- PARIX-Commercio: riproduce, limitatamente alla Regione di interesse, l’Osservatorio al Commercio con le modalità e specifiche simili a quello elaborato per il MAP (estrazioni dati a livello statistico confrontabili anno per anno).
I dati sono richiedibili da Web Services
- PARIX-STORICO: storicizzazione delle variazioni dei dati anagrafici d’impresa, di importanza strategica come: denominazione o ragione sociale, natura giuridica, indirizzo della sede, attività, etc. e notifica dell’avvenuta variazione.
A partire da PARIX sono ipotizzabili ulteriori estensioni o personalizzazioni applicative nate da eventuali esigenze specifiche della P.A.
Web-Services di Accesso
La componente PARIX-GATE realizzata consente l’accesso al database PARIX-DB via web services mediante un insieme di operazioni che implementano le ricerche su PARIX-DB e forniscono gli output descritti in dettaglio nei capitoli successivi.
E’ da precisare che i flussi che alimentano il PARIX-DB riguardano le imprese che hanno sedi legali in regione e nazionali e unità locali in regione.
Verrà fornita la sede legale fuori regione solo se l’impresa ha almeno una unità locale in regione.
Il PARIX-GATE offre due funzionalità rivolte ad interrogare il DB CSET,
quindi i dati del commercio. Il DB di PARIX è quello che viene in seguito indicato con DRIS.Il DBCSET non appartiene a PARIX-DB. La procedura PARIX-DB aggiorna le tabelle del DB DRIS
Di seguito si illustra una semplice ipotesi di utilizzo di PARIX-GATE nella progettazione di un modello dati di una impresa.
Il Registro delle Imprese è l’archivio ufficiale delle camere di commercio italiane che contiene tutte le principali informazioni relative ad un’impresa (denominazione,statuto,amministratori,sede,eventuali procedure in corso,ecc.).
Il Repertorio economico amministrativo (REA) è una banca dati pubblica che ha lo scopo di integrare i dati del Registro Imprese con informazioni di carattere economico,statistico e amministrativo (attività esercitata , numeri addetti, unità locali,direttori tecnici,ecc.)
In questa ipotesi, il contesto di riferimento è un modello che rappresenta l’impatto territoriale di una impresa, pertanto rappresenta la posizione geografica, lo spazio occupato, il traffico veicolare indotto, i rifiuti prodotti, etc. Inoltre nel modello può essere incluso un riferimento ai dati dell’impresa riportati nel Registro delle Imprese. (Dove PARIX-DB è una copia locale – provinciale o regionale- del Registro delle Imprese Nazionale).
Nell’ipotesi di un modello dati, sviluppato secondo il paradigma object oriented, WSReference è un oggetto che permette di includere i dati del Registro delle Imprese (presenti in PARIX-DB) mediante l’utilizzo di PARIX-GATE. In tale modello una WSReference contiene il numero REA (Repertorio Economico Amministrativo) e implementa un metodo “getValue” che utilizza il servizio DettaglioImpresa di PARIX-GATE, per estrarre da PARIX-DB i dati in formato XML dell’impresa che ha lo stesso numero REA della WSReference.
Tale modello, rappresenta un’impresa dal punto di vista territoriale, la WSReference rappresenta i dati legali amministrativi dell’impresa e pertanto non devono essere rappresentati in modo esplicito dal modello e di conseguenza non devono essere memorizzati nel record o oggetto che rappresenta l’impresa nel database (copia da database a database e successivi controlli e aggiornamenti).
In fase di accordo di servizio con una PA (soggetto delegato) che voglia avvalersi dei servizi, il soggetto dovrà essere opportunamente censito nelle tabelle di amministrazione del DB e verranno fornite le credenziali (username,password) da fornire attraverso i messaggi di input delle varie operazioni.
Attori
- Regione Toscana: Ente distributore e gestore dei web services di accesso
- Ente Locale: fruitore dei web services messi a disposizione dall’ente distributore
I parametri di input di ciascuna operazione non sono definiti dalla struttura di uno schema ma sono direttamente dichiarati all’interno del file wsdl parixgate.wsdl attraverso la porzione di messaggio del tipo :
NomeMessaggioInputRequest
dove NomeMessaggio varia di volta in volta in funzione dell’operazione che l’ha in ingresso; es: RicercaImpresePerCodiceFiscaleRequest, RicercaImpresePerDenominazioneRequest, etc.
NomeMessaggioInputRequest è composto da più parti (i parametri in ingresso) tra i quali figurano sempre “user”, “password” dell’utente che effettua la richiesta, preventivamente censito nelle tabelle gestionali di PARIX-DB. Il parametro “switch_control”da utilizzarsi come switch al parixgate nazionale scatenerà a seconda o meno dell’attribuzione di un valore i seguenti comportamenti:
- switch_control = “diretto” → accesso diretto al servizio nazionale
- switch_control = “no” → non passa mai dal servizio nazionale anche se abilitato
- switch_control = spazio o stringa vuota (comportamento attuale) → passa dal servizio locale e se non produce risultati interroga il nazionale se abilitato.
Nella rappresentazione di ciascuna operazione attraverso i vari sotto-paragrafi che si susseguiranno adottiamo la convenzione di indicare il paramentro di input attraverso il corrispondente NomeMessaggioInputRequest seguito dai parametri di cui si compone inclusi tra parentesi, fatta eccezione di “user”, “password” che omettiamo per semplicità essendo presenti in tutte le operazioni.
Es : RicercaImpreseNonCessatePerCodiceFiscaleRequest (codice_fiscale, switch_control).
I parametri di output di ciascuna operazione sono invece definiti dalla struttura di un DTD schema descritto all’interno di un opportuno file allegato alla presente RFC.
Nella rappresentazione di ciascuna operazione attraverso i vari sotto-paragrafi che si susseguiranno adottiamo la convenzione di indicare il paramentro di output attraverso
NomeMessaggioOutputResponse
dove NomeMessaggio varia di volta in volta in funzione dell’operazione che l’ha in uscita, adottando la stessa nomenclautura utilizzata nel file wsdl.
Es : RicercaImpresePerCodiceFiscaleResponse
A ciascun elemento NomeMessaggioOutputResponse corrisponderà un corrispondente sotto-paragrafo in cui sarà referenziato lo schema che racchiude la sua definizione oltre alle informazioni necessarie per comprenderne la sua struttura con eventualmente i rimandi ad altri sotto-paragrafi in cui sono eventualmente descritte parti comune.
Non sono previsti attachment né in input né in output. Tutte le operazioni sono formalizzate all’interno di parixgate.wsdl.
Ricerche Impresa
Sono previsti alcuni servizi di ricerca, che tipicamente forniscono risposte “multiple”. Si tratta di:
- Ricerca impresa per codice fiscale;
- Ricerca imprese per parole della denominazione;
- Ricerca imprese in cui una persona assume delle cariche;
- Ricerca imprese variate in dato intervallo temporale espresso in giorni e in una data provincia.
- Ricerca procedure concorsuali in cui una impresa è coinvolta per sigla provincia sede e numero REA sede
Queste ricerche danno luogo ad una risposta che potenzialmente può indicare più imprese e/o più posizioni della stessa impresa intendendo per posizione di una impresa la sua iscrizione presso una CCIAA provinciale ( Camere di Commercio Industria Artigianato e Agricoltura) . I termini “posizione”e “Iscrizione REA” di un’impresa sono da considerarsi equivalenti.
Par facilitare la comprensione delle note esplicative apposte in corrispondenza delle varie operazioni si evidenzia che un’impresa può essere iscritta presso più CCIAA provinciali; ogni iscrizione REA di un’impresa è giustificata dalla presenza di almeno una sua unità locale dislocata nel territorio della provincia di competenza.
Un’impresa può anche avere più unità locali nella stessa o in altre province (impresa plurilocalizzata); nel caso in cui l’impresa abbia più unità locali che ricadono sotto la stessa provincia queste danno origine ad un’unica iscrizione in CCIAA. La sede di un’impresa (sede legale) è unica, fa capo ad una sola provincia di iscrizione e viene definita convenzionalmente come unità locale numero 0.
Le eventuali diverse posizioni che caratterizzano un’ impresa sono memorizzate in DB schema DRIS in corrispondenza della tabella IMPRESA. La coppia di valori corrispondenti alle colonne CCIAA_REGZ (riservata al codice della provincia ) e N_ISCRIZIONE_REA (numero di iscrizione nel registro REA) nella tabella IMPRESA individua univocamente una iscrizione REA di un’impresa presso una provincia; le colonne N_REA_SEDE , SGL_PRV_SEDE sono utilizzate per indicare rispettivamente il numero REA e la provincia della Iscrizione REA corrispondente alla sede legale dell’impresa, pertanto più iscrizioni REA che fanno capo alla stessa impresa saranno tutte caratterizzate dagli stessi valori in tale colonna. Quella riga in cui si verificheranno le uguaglianze :
CCIAA_REGZ= SGL_PRV_SEDE
N_ISCRIZIONE_REA= N_REA_SEDE
individua nella tabella IMPRESA l’iscrizione corrispondente alla sede legale .
Le diverse Unità Locali di un’impresa distribuite sul territorio nazionale, che per quanto detto possono essere presenti in numero maggiore di uno anche nell’ambito di una stessa provincia, sono memorizzate in corrispondenza della tabella UNITA_LOCALE. Tutte le Unità locali dislocate nell’area di una specifica provincia potranno essere ottenute impostando in corrispondenza della coppia di colonne FK_REA_CCIAA_REGZ, FK_REA_N_REA presenti in UNITA_LOCALE i valori che individuano la iscrizione REA dell’impresa presso quella provincia. La colonna PRO_LOCALIZZAZIONE conterrà il progressivo numerico che individua una specifica Unità locale dell’impresa nella provincia con la convenzione che la presenza del valore 0 individua la sede legale mentre le altre Unità locali saranno caratterizzate da PRO_LOCALIZZAZIONE > 0.
Nel caso di imprese plurilocalizzate in fase di ricerca si avrà che:
- se le unità locali dell’Impresa, compresa la sede legale, sono tutte dislocate sul territorio di Regione Toscana queste saranno tutte restituite
- se la sede legale è dislocata in Regione Toscana e sussistono Unità locali, dislocate o meno in Regione Toscana, saranno restituite, oltre alla sede legale, solo le unità locali, eventualmente presenti, che insistono sul territorio Toscano
- se la sede legale NON è dislocata in Regione Toscana e sussistono Unità locali dislocate o meno in Regione Toscana, sarà comunque restituita la sede legale e solo le unità locali eventualmente presenti che insistono sul territorio Toscano
Per ogni impresa nella lista ottenuta in risposta sono fornite unicamente le informazioni essenziali. Dovrebbero infatti servire solo per identificare la posizione di interesse che può essere poi raggiunta tramite gli altri servizi di dettaglio. La “chiave” per raggiungere le posizioni univocamente allo scopo di ottenere il dettaglio è formata dagli estremi di iscrizione alla CCIAA (“sigla provincia CCIAA” e “numero REA”).
Registro Imprese – tracciati di Scheda Complessa
N.B. l’API è in fase di aggiornamento.
Regione Toscana, attraverso un servizio offerto da Infocamere, dispone di informazioni riguardanti il Registro Imprese ed in particolare la struttura dati detta “Scheda Complessa”.
Le informazioni vengono estratte periodicamente da un database attraverso specifiche procedure approntate e certificate da Infocamere.
I tracciati di SchedaCompessa vengono generati dal sistema informativo centrale di Regione Toscana nei primi giorni di ogni mese.
Le informazioni sono salvate in file compressi in formato ZIP catalogati per data di generazione e per Provincia. I file sono organizzati in uno specifico repository su filesystem dal quale il servizio preleva le informazioni necessarie a fornire le risposte alle interrogazioni che i client effettuano.
Il servizio permette quindi di conoscere la data dell’ultimo tracciato disponibile per ogni provincia e di effettuarne lo scaricamento.
Poiché i file da scaricare possono avere dimensioni elevate vengono suddivisi in porzioni più piccole il cui scaricamento comporta minori problemi di sovraccarico sull’infrastruttura Cart e di timeout in caso di lentezza della rete nel trasferimento dei dati.
Ad esempio il file 20110201SchedaComplessaDatiPI.zip di dimensione 9,1 Mb potrà essere suddiviso in parti di 5 Mb, ottenendo due file:
20110201SchedaComplessaDatiPI.zip.part.000 (di 5 Mb)
20110201SchedaComplessaDatiPI.zip.part.001 (di 4,1 Mb)
Il client, una volta scaricate tutte le parti, dovrà semplicemente concatenarle per ottenere il file completo.
Le invocazioni al servizio di scaricamento dei file restituiscono un body XML che contiene i metadati utili ad interpretare e ricomporre correttamente i file e un allegato binario che contiene la porzione di file relativa.
L’allegato è riportato secondo le specifiche SOAP with Attachment e ne viene indicato il nome negli header “Content-Type” (parametro ‘name’) e “Content-Disposition” (parametro ‘filename’).
Attori
Gli attori coinvolti nell’utilizzo del servizio RegistroImprese sono:
- Regione Toscana, come erogatore del servizio e quindi come soggetto che rende disponibili le informazioni,
- Enti Locali del territorio toscano come fruitori del servizio, ovvero come client che interrogano il servizio ed effettuano il download dei dati messi a disposizione.
Nome operazione: getDataUltimaSchedaComplessa
Classificazione: request/replay
Descrizione: restituisce al client la data di riferimento dell’ultima generazione dei dati relativamente alla provincia passata come parametro; grazie a questa informazione il client decide se effettuare l’allineamento o meno
- input: getDataUltimaSchedaComplessa
- output: getDataUltimaSchedaComplessaResponse
Nome operazione: getSchedaComplessa
Classificazione: request/replay
Descrizione: restituisce un bean di metadati e un allegato MIME secondo le specifiche SOAP with Attachments. Il file sarà relativo alla provincia passata come argomento. La parte del file restituita sarà quella richiesta come argomento. I metadati riporteranno le seguenti informazioni:
- data creazione dei dati
- nome del file completo
- nome del file parte allegato
- numero parte in allegato
- numero parti totali
- dimensione del file parte allegato
- dimensione del file completo
- input: getSchedaComplessa
- output: getSchedaComplessaResponse
- output:
- formato: binario;
- nome file: header “Content-Type” (parametro ‘name’) e header “Content-Disposition” (parametro ‘filename’).
File WSDL: registroimprese.wsdl
Si rimanda alla documentazione specifica (in allegato alle API) per approfondimenti:
- PARIX GATE – ManualeUtente_REGTOS_v2
- PARIX_SchedaComplessa_ConPec