Infrastruttura per la Cooperazione Applicativa - C.A.R.T. –

Transcript

Infrastruttura per la Cooperazione Applicativa - C.A.R.T. –
Versione al 02/12/2003
I n f r a st r u t t u r a p e r l a Co o p e r a z i o n e
Appl i c a t i v a
- C. A . R. T. –
Il Modello e l’Architettura
Rete Telematica Regionale Toscana
Infrastruttura per la Cooperazione Applicativa – CART________________________________________________________________________________________ _____________
Indice
1
INTRODUZIONE
4
2
IL MODELLO
6
Vista di insieme sulle diverse Macrocomponenti (layers)
2.1.1
Virtual service layer
2.1.2
Il Back End Service Layer
2.1.3
Front End service Layer
2.1.4
Modalità di cooperazione applicativa supportate
2.1.4.1 Cooperazione applicativa per eventi
2.1.4.2 Cooperazione per Richiesta di Servizio
2.1.5
Sicurezza
7
9
11
11
12
12
14
18
3
20
L’ARCHITETTURA
Aspetti generali
20
Front End Service Layer
22
Virtual Service Layer
22
Back End Service Layer
24
Architettura per la modalità Publish&Subscribe (EDA)
24
Architettura per la modalità richiesta di servizio (SOA)
26
I Nodi Applicativi Locali
3.1.1
Message Handler CA
3.1.2
Message Control CA
3.1.3
Proxy applicativo
3.1.4
Servizi di supporto allo sviluppo, monitoraggio e aggiornamento dei
Proxy Applicativi
29
32
32
33
Centro Regionale per l’Interoperabilità e la cooperazione
3.1.5
Framework CA
3.1.6
Registry di servizi
3.1.7
Servizio di Directory
3.1.8
Publish&Subscribe Broker
3.1.9
Aggiornamento software dei NAL
3.1.10 Monitoraggio
34
35
37
39
39
39
39
Rete Telematica Regionale Toscana
page 2/53
33
Infrastruttura per la Cooperazione Applicativa – CART________________________________________________________________________________________ _____________
3.1.11
Interfacce verso il mondo esterno
40
4
COOPERAZIONE APPLICATIVA CON ALTRI CODOMINI NON
E.TOSCANA
40
Modelli di cooperazione tra Centri Regionali di Interoperabilità e
Cooperazione
4.1.1
Cooperazione applicativa per eventi
4.1.2
Cooperazione applicativa per invocazione di servizio
42
43
46
Registry dei Servizi
4.1.3
Registry Primario
4.1.4
Rete di Registry e modalità di colloquio
4.1.4.1 Allineamento reciproco automatico
4.1.4.2 Comunicazione Publish & Subscribe
4.1.4.3 Federazione di Registry
48
48
49
49
50
51
Rete Telematica Regionale Toscana
page 3/53
Infrastruttura per la Cooperazione Applicativa – CART-
1
INTRODUZIONE
Il programma e.Toscana, quale intervento strutturato a supporto delle politiche di
sviluppo della società dell’informazione con particolare riferimento al settore dell’egovernment, prevede specifici interventi nel settore delle infrastrutture a supporto dei
processi di sviluppo dell’e-government e più in generale della società
dell’informazione.
Lo sviluppo di infrastrutture costituisce un elemento strategico in quanto queste
costituiscono condizioni abilitanti per lo sviluppo degli specifici progetti applicativi.
In particolare sono previsti interventi in relazione a:
Infrastrutture per il trasporto delle informazioni - costituite dall’offerta di mercato
dei carrier ( società che offrono o realizzano reti fisiche e cablaggi), degli ISP (Internet
Service Provider) e dalle iniziative autonome di cablaggio dei territori realizzate da
soggetti pubblici e privati.
Infrastrutture per la sicurezza nel trasporto delle informazioni - finalizzate ad
armonizzare le iniziative di trasmissione telematica dei dati, garantendo livelli di
servizio garantiti e di qualità, al fine di creare le premesse per un sempre maggiore
utilizzo delle reti anche in settori nei quali maggiormente è sentita l’esigenza di
sicurezza e fiducia.
Infrastrutture per la cooperazione applicativa dei sistemi informativi - finalizzate
a garantire la comunicazione e la interoperabilità delle applicazioni e dei sistemi
informatici, prerequisito indispensabile per l’attuazione della semplificazione
amministrativa, la riduzione dei tempi, l’aggiornamento delle basi di dati di interesse
pubblico e la circolarità, senza barriere tecnologiche, delle informazioni di interesse
condiviso.
Infrastrutture per l’autenticazione e l’accesso ai servizi e alle informazioni finalizzate alla diffusione di sistemi sicuri di riconoscimento telematico (certificati
digitali) e alla creazione di modalità attraverso le quali a chi accede in rete sia possibile
associare, nel rispetto della legge sulla privacy, i diritti di accesso e visibilità di classi di
informazioni e servizi.
Infrastrutture informative – finalizzate alla valorizzazione del patrimonio
informativo regionale attraverso tecnologie di knowledge management, alla
integrazione interno/esterno per la realizzazione dei servizi, alla estrazione di dati
rilevanti per la attività di governo
Rete Telematica Regionale Toscana
page 4/53
Infrastruttura per la Cooperazione Applicativa – CART-
Gli obiettivi che si intendono perseguire sono la realizzazione di:
a)
una infrastruttura di trasporto delle informazioni unitaria su tutto il territorio
regionale che colga pienamente le offerte di mercato e raccordi le iniziative
pubbliche di realizzazioni di reti, interconnettendole fra di loro tramite un
processo di accreditamento basato su livelli di servizio e fornendo uno o più
nodi di interconnessione.
b)
una infrastruttura per la sicurezza, che, implementata sulla infrastruttura di
trasporto dei dati, sia caratterizzata da una qualità idonea a garantire a tutti i
soggetti che la condividono, livelli di servizio adeguati ad estendere i concetto
della sicurezza dei singoli ad una sicurezza di sistema.
c)
una infrastruttura, articolata in funzioni centrali e locali, per la cooperazione
applicativa che abbatta le barriere tecnologiche rendendo possibile e naturale lo
scambio di informazioni e servizi fra i sistemi informativi di quelle
organizzazioni che condividono tale infrastruttura. La realizzazione di tale
infrastruttura garantirà inoltre la standardizzazione delle informazioni scambiate
fissandone anche i rispettivi livelli di qualità
d)
una infrastruttura per l’accesso autenticato e sicuro che consenta di
associare, attraverso l’utilizzo di strumenti di accesso certificati, al soggetto
che accede via rete, i servizi cui ha diritto o che può usufruire. Superando
quindi le difficoltà oggi presenti di interscambiabilità degli strumenti di accesso
(smart-card), di assenza di basamenti informativi che certifichino in maniera
sicura il “ruolo” dell’utente in rete.Il “ruolo” rappresentato dalle funzioni
esercitate (cittadino, avvocato, dirigente, medico..) ed il profilo rappresentato
dal livello di autorizzazione a svolgere specifiche azioni rispetto ad uno
specifico servizio rappresentano, gli elementi chiave per l’autenticazione e
l’accesso.
e)
Una infrastruttura informativa, intesa come insieme di procedure e standard
di trattamento, nonché dei modelli organizzativi per la loro gestione concordati
tra i soggetti interessati, capace di accrescere il valore d’uso dei patrimoni
informativi, di favorire la integrazione dei servizi e quindi il loro valore
aggiunto, di supportare l’azione di governo attraverso la disponibilità di uno
spettro ampio ma selettivo di informazioni
Il presente documento descrive l'infrastruttura per la cooperazione applicativa di
e.toscana.
Rete Telematica Regionale Toscana
page 5/53
Infrastruttura per la Cooperazione Applicativa – CART-
2
IL M ODELLO
La realizzazione dell'infrastruttura di cooperazione applicativa intende realizzare uno
degli obiettivi principali contenuti nel Piano di e-government, secondo il quale
l’interoperabilità è uno dei cardini per poter erogare servizi ai cittadini e alle imprese in
modo coeso e partecipato da parte di tutta la pubblica amministrazione evitando
duplicazioni di comunicazioni, mancato aggiornamento di situazioni, ritardi ecc...
In particolare si propone di:
•
•
•
•
•
•
Fornire un’Infrastruttura per lo sviluppo e la pubblicazione di Servizi che
facilitino la cooperazione delle Pubbliche Amministrazioni della Regione
Toscana.
Utilizzare una Architettura aperta, fondata su standard, dalle specifiche
complete e pubblicamente disponibili, in cui sia garantita la libertà di
implementazione da parte di tutti i produttori di software e hardware.
Garantire Scalabilità, cioè fornire la possibilità di applicazione della soluzione
proposta sia alle amministrazioni di ridotte dimensioni sia a quelle di grandi
dimensioni .
Garantire Flessibilità, capacità della soluzione di adattarsi alle esigenze e alla
struttura esistente presente all'interno delle amministrazioni, e di evolvere
assieme alle tecnologie che la compongono.
Garantire la Sicurezza, per l'autenticità, integrità, la non ripudiabilità e la
riservatezza dei dati scambiati.
Enfatizzare l'estremo valore delle informazioni create e gestite dalle
applicazioni esistenti, riducendo al minimo l'impatto e le modifiche su queste
ultime.
I benefici attesi dalla realizzazione di una infrastruttura regionale aperta alla
interoperabilità con altre realtà, sono perciò la realizzazione di una cooperazione tra i
sistemi informativi degli Enti della Regione Toscana che non interferisca con le scelte e
le specificità nell’ambito delle scelte nel settore dell’Informaion Tecnology (I.T.) delle
singole amministrazioni. Le specifiche di progetto e la loro realizzazione consentono di
estrapolare i meccanismi di l’interoperabilità dalle applicazioni o sistemi informativi
locali. La separazione fra contesti applicativi locali e servizi di cooperazione costituisce
uno dei principali benefici dell’architettura di cooperazione realizzata in quanto
consente di collocare a livello di rete tutte quelle funzioni indipendenti dal aprticoalre
contesto applicativo e finalizzate alla piena interoperabilità e cooperazione. Ogni
Applicazione vecchia o nuova dovrà pertanto preoccuparsi del collegamento alla
infrastruttura di cooperazione che garantirà ad essa tutti quei servizi necessari per
l’inserimento all’interno delal rete di applicazioni costituite da tutte quelle applicazioni
che a loro volta sono collegate all’infrastruttura. L’infrastruttura di cooperazione
applicativa consente di poter parlare di reti di applicazioni nell’ambito degli stessi
Rete Telematica Regionale Toscana
page 6/53
Infrastruttura per la Cooperazione Applicativa – CART-
paradigmi che si usa per le reti di computer nel mondo internet.
La Regione Toscana ha i questa logica disegnato ed implementato un sistema di
cooperazione applicativa (il Sistema di Cooperazione Applicativa eToscana) che
permette lo scambio d'informazione tra i diversi enti ed amministrazione pubbliche, sia
nella modalità di cooperazione per eventi sia nella modalità d'invocazione di servizi.
Il sistema di cooperazione applicativa eToscana è stato disegnato per evitare le criticità
delle soluzioni basate su approcci applicativi e/o proprietari.
Si segna dunque il passaggio da un approccio applicativo basato su un prodotto ad un
approccio per componenti, la cui integrazione è realizzata mediante l'adozione di
standard, centrando l'obiettivo fondamentale della indipendenza sia da specifici
produttori, sia da soluzioni realizzate ad hoc.
Nel disegnare le varie componenti che compongono il sistema si sono tenuti presenti
alcuni principi fondamentali che di seguito si illustrano e si declinano:
•
Fondamento sugli open standard ovvero tutto ciò che è stato e che
sarà realizzato deve essere conforme agli open standard
•
Fondamento sulla scelta multipiattaforma ovvero la soluzione deve
poter essere implementata su piattaforme diverse
•
La soluzione è potenzialmente distribuita su più layer fisici distinti
interoperanti mediante open standard
•
Speciale attenzione alla componente di sicurezza globale del sistema:
sicurezza applicativa, sicurezza di rete, sicurezza dei dati
VISTA DI INSIEME SULLE DIVERSE MACROCOMPONENTI (LAYERS)
Il Modello adottato per la realizzazione della cooperazione applicativa eToscana è
basata su una visione capace di contemplare le esigenze di innovazione.
La realizzazione di un nuovo rapporto tra le diverse amministrazioni si basa sulla
possibilità di realizzare un layer di intermediazione tra le richieste di queste e le
elaborazioni residenti sui sistemi informativi degli enti.
L’architettura coniuga nell’ambio di un sistema unitario le funzionalità tipiche della
cooperazione basata su eventi (Event Driven Architecture) e di quella orientata ai
servizi (Services Oriented Architecture) al fine di fornire molteplici soluzioni alle
diverse esigenze applicative e adattabilità alle diverse implementazioni di livello
regionale e interregionale.
SOA rappresenta la corretta tipologia di architettura (architecture pattern) per la
realizzazione di applicazioni interoperanti secondo la modalità “richiesta e risposta”
(request/reply) nell’ambito della quale è necessario un accoppiamento di tipo debole.
Tale architecture pattern risulta non utile ed è da evitare per comunicazioni di tipo
Rete Telematica Regionale Toscana
page 7/53
Infrastruttura per la Cooperazione Applicativa – CART-
asincrono del tipo one-way, sia punto punto che multipunto, per le quali l’architettura
EDA risulta più efficiente e robusta.
Il modello prefigura un sistema composto da un insieme di entità che interoperano
secondo una modalità ad accoppiamento debole (loosley-coopled), ovvero non
transazionale.
Le componenti basilari del modello definito sono:
Il Back End Service Layer che è deputato alla gestione del dato di produzione
all'interno del sistema informativo esistente.
I Sistemi Informativi Locali attuali si collocano quindi sotto lo strato di Back End
Service Layer e sono identificati nel presente documento con l’acronimo di SIL
Il Virtual Service Layer che implementa i meccanismi di cooperazione applicativa, si
compone di moduli di servizio e moduli di base.
Le caratteristiche proprie del Virtual Layer sono quelle di:
•
assicurare la disponibilità dei servizi esposti
•
fornire un ambiente transazionale e sicuro
•
garantire la 'quality of service' dei servizi esposti
•
prevenire attacchi quali ad esempio il 'denial of service'
Sono inoltre resi disponibili i servizi per:
• la gestione centralizzata delle risorse
•
la gestione dei dati, la persistenza degli eventi e la gestione dello stato
del processo;
•
la gestione della firma digitale dei documenti;
•
il monitoraggio applicativo e la software distribution
Fanno parte anche di questo layer le applicazioni d'integrazione centralizzate che
forniscono un'interfaccia verso il Front End Service Layer che costituisce il punto
d'ingresso dall'esterno.
Il Virtual Layer è il punto centrale di scambio e un aggregatore di servizi o
intermediario; in questa logica svolge tra gli altri compiti anche il ruolo di registry o
broker per mantenere la descrizione dei servizi che vengono erogati e di requestor
Nel ruolo di requestor garantisce la certezza della gestione della interfacciamento tra
le richieste e i servizi offerti.
L modello proposto è in grado di salvaguardare le autonomie dei singoli soggetti (ad
esempio comunale, provinciali o regionali) proponendo un sistema per sua natura
federato ma che colloca a livello di rete molte funzioni ottenendo vantaggi in termini di
standardizzazione, affidabilità e costo.
Rete Telematica Regionale Toscana
page 8/53
Infrastruttura per la Cooperazione Applicativa – CART-
2.1.1 VIRTUAL SERVICE LAYER
Il Virtual Service Layer rappresenta il cuore del sistema di cooperazione applicativa
eToscana.
Il VSL viene logicamente scomposto in una componente centralizzata (CRIC), e una
dislocata sul territorio (NAL).
Front End
Service
Layer
TIX
CRIC
DMZ
DMZ
NAL
SIL 1
SIL n
Ente 1
SIL 1
SIL n
NAL
SIL 1
Ente 2
SIL n
Ente n
Alla componente centralizzata è demandato il compito di garantire i servizi ai soggetti
della rete telematica regionale toscana e gli adeguati livelli di cooperazione ed
interoperabilità con le altre pubbliche amministrazioni del Paese attraverso
l’infrastruttura del Sistema Pubblico di Connettività cui è connessa la RTRT e gli altri
centri nazionali e regionali per la cooperazione e l’interoperabilità,,
I soggetti aderenti alla Rete telematica regionale e partecipanti al progetto eToscana in
modo singolo o associato disporranno di un sistema, denominato Nodo Applicativo
Locale (NAL), dedicato e finalizzato alla interazione con il Centro Regionale per la
Interoperabilità e la Cooperazione applicativa. Il nodo applicativo interagisce da un
lato con il centro regionale e dall’altro con i sistemi informativi locali del soggetto o
soggetti a cui garantisce i servizi di cooperazione applicativa.
La natura dei messaggi scambiati è varia, tuttavia il formato dei messaggi è XML
SOAP with attachment. L’elemento caratterizzante i messaggi per la cooperazione
applicativa è infatti la completa definizione del contenuto e del formato di codifica: la
Rete Telematica Regionale Toscana
page 9/53
Infrastruttura per la Cooperazione Applicativa – CART-
busta eToscana.
Il NAL rappresenta la componente di disaccoppiamento fra i sistemi locali e la
infrastruttura di cooperazione applicativa offrendo servizi standard dal punto di vista
sia sistemistica che applicativo.
Al fine del raggiungimento di tali obiettivi la componente NAL si compone a sua volta
di un framework di cooperazione applicativa (Framework CA) che assicura i servizi di
base e di una o più componenti che si occupano del livello applicativo della
cooperazione, tali componenti vengono individuate con il termine Proxy Applicativo.
Ogni sistema informativo locale o contesto applicativo comunicherà con l’infrastruttura
di cooperazione applicativa attraverso un proxy applicativo utilizzando i servizi di base
messi a disposizione dalla componente framework CA.
Il Framework CA al fine di assolvere ai suoi compiti prevede oltre alla componente
allocata nel NAL anche una componente allocata sul CRIC.
Usando come riferimento il modello affermatosi con internet il NAL svolge
nell’ambito delle reti di applicazioni quello che un router assicura nel contesto delle reti
di computer. Le applicazioni grazie ai servizi assicurati con modalità standard dal
NAL interoperano e cooperano con un livello di astrazione garantito, rispetto alle
problematiche di rete che sarebbe ro altrimenti rappresentate dal dover conoscere dove
una applicazione risiede, quale modalità di cooperazione utilizza, quali siano i formati
dei dati accettati e scambiati, quali livelli di sicurezza sono implementati, ecc..
Il CRIC stesso rappresenta una componente che può prevedere a livello di rete una o
più istanze sulla base di considerazioni quali assicurare una gestione di un condominio
di applicazioni di enti federati sotto il profilo organizzativo, efficienza del sistema, ecc..
Oltre alle componenti specifiche del CRIC e del NAL finalizzate alla cooperazione
applicativa, si rende necessario assicurare all’interno del modello proposto alcune
funzionalità trasversali, quali:
r
Sicurezza La gestione delle politiche di sicurezza legate allo scambio dei dati e
alla cooperazione tra i vari domini presuppone per ogni richiesta :
•
L’identificazione dei soggetti che richiedono i servizi
•
L’autenticazione della provenienza delle richieste
•
L’autorizzazione selettiva all’accesso ai servizi in base al richiedente
•
Il mantenimento della privatezza delle informazioni scambiate sulla rete
•
La garanzia dell’autenticità, dell’integrità e della non ripudiabilità delle
informazioni scambiate
•
Il mantenimento di un file di log con la registrazione degli accessi ai
servizi
Per garantire questo dovranno essere sempre utilizzati meccanismi di sicurezza quali la
firma digitale, la comunicazione su canali con protocollo SSL con autenticazione
Rete Telematica Regionale Toscana
page 10/53
Infrastruttura per la Cooperazione Applicativa – CART-
attraverso certificato digitale.
Per quest’ultimo tipo di servizio il modello proposto prevede l’utilizzo
dell’infrastruttura per la gestione dei certificati digitali di sicurezza e di firma (Public
Key Infrastructure) della RTRT.
q
Aggiornamento software
q
Monitoraggio
q
Gestione degli errori e logging
2.1.2 IL BACK END SERVICE LAYER
Il Back End Service Layer è il layer che consente la comunicazione tra il Back Office
,inteso come l’insieme delle applicazioni che debbono entrare nel sistema di
cooperazione applicativa e il Virtual Service Layer .
Nel Back Office coesistono mondi applicativi e piattaforme diversificate che
tipicamente non espongono livelli di interoperabilità nativi. Alla soluzione di questa
problematica risponde la Porta di Dominio. Infatti la Porta di Dominio svolge il ruolo
di omogeneizzatore dei vari sistemi presenti nell'Ente, fornendo la capacità di rendere
trasparente il tipo di applicativo utilizzato e la sua tecnologia di base.
L'esposizione di interfacce standard pubbliche sulla porta di dominio consente inoltre
l'evoluzione dei sistemi informativi esistenti nel back office fornendo ad ogni
implementatore una modalità standard di connessione.
Fanno parte di questa interfaccia i componenti che permettono alla porta di dominio di
colloquiare con il Back Office, vale a dire prendere e spedire dati da questo al back
office.
2.1.3 FRONT END SERVICE LAYER
Il Front End service Layer, nell’architettura proposta, è il livello di esposizione dei
servizi sviluppati verso gli utenti 'umani' o verso le eventuali applicazioni del mondo
esterno al condominio rapresentato da tutti gli enti toscan e non appartenenti alla Rete
Telematica Regionale Toscana.
Le funzionalità di competenza di questo layer possono sostanzialmente essere
raggruppate in due tipologie:
r
Esposizione
r
Aggregazione
Il FSL, è immaginabile come un insieme di componenti che interagiscono sia con il
VSL che con alcuni servizi Trasversali (autenticazione e profiling, firma digitale, etc…)
L’interazione con il VSL è rappresentata dai componenti denominati “portlet” e
dall’invocazione di Servlet, che sono in grado di accettare su protocollo HTTP
parametri generati dall’interazione di un utente o da un altro sistema e inoltrarli verso il
Rete Telematica Regionale Toscana
page 11/53
Infrastruttura per la Cooperazione Applicativa – CART-
componente di business addetto all’elaborazione.
L’accesso al FSL avviene attraverso un’interfaccia Utente tipica dei portali
Multicanale, quindi con il supporto di molteplici device d’accesso.
Il punto di contatto con untente/sistema (Service Interface) avviene esclusivamente a
livello di VSL attraverso le Porte di Dominio con tecnologia Web Service (SOAP).
Per la gestione di tutti quegli elementi che attengono alla Human Interface in questo
layer verranno collocati componenti e strumenti che consentiranno di gestire gli aspetti
legati alla usabilità e alla navigazione dell’accesso ai servizi, al deploy di nuovi servizi,
alla personalizzazione, alla pubblicazione di nuovi contenuti.
2.1.4 MODALITÀ DI COOPERAZIONE APPLICATIVA SUPPORTATE
Il modello di cooperazione applicativa di e.Toscana prevede le seguenti due modalità:
•
cooperazione per eventi (EDA)
•
invocazione di servizi (SOA)
Nell’ambito della modalità di cooperazione per eventi viene garantita l'identità del
pubblicatore e dei sottoscrittori, così come l'integrità dei dati mentre per le richieste di
servizio sono state previste due diverse tipologie :
a) Interrogazione: richiesta che non determina alcuna modifica sul Dominio
servente
b) Transazione: richiesta che determina una variazione applicativa su un
qualche oggetto del Dominio servente
2.1.4.1 Cooperazione applicativa per eventi
In tale modello la segnalazione o notifica di evento ha lo scopo di informare
dell’evento le applicazioni di uno o più domini destinatari che, sulla base del significato
del messaggio associato all’evento, producono un cambiamento permanente del valore
di propri oggetti applicativi. In questo modello cooperano domini che pubblicano o
notificano eventi e domini che sottoscrivono eventi. Gli attori di questo sistema sono: i
domini pubblicanti, quelli sottoscrittori ed il gestore del servizio di P&S.
Rete Telematica Regionale Toscana
page 12/53
Infrastruttura per la Cooperazione Applicativa – CART-
Porta Applicativa
Riceve Notifiche
Porta Delegata
Pubblica Evento
Gestore
Eventi
Porta Applicativa
Riceve Notifiche
In questa tipologia di cooperazione, a fronte di una precedente registrazione nel
sistema di gestione eventi come dominio pubblicante e come dominio sottoscrittore, il
messaggio viene formato dal sistema informatico presso il dominio pubblicante e viene
inviato dalla porta delegata presso il sistema di gestione eventi. Il sistema di gestione
eventi quindi notificherà (con il protocollo dichiarato al momento della sottoscrizione)
sulla porta applicativa del dominio sottoscrittore l’esistenza di un nuovo evento.
Si tratta di un meccanismo di tipo Event Driven. Il pubblicatore non indirizza il
messaggio a nessuno. Il consumatore recupera i messaggi a lui indirizzati in base a
regole definite nella fase di subscribe (rule-based routing), in base al loro contenuto
(content-based) o in base a informazione contenute nell’header (subject-based).
Sono possibili più soluzioni. Per esempio, il consumatore può restare in attesa degli
eventi inviati su iniziativa del gestore (logica push); può interrogare il gestore circa
l’arrivo di nuovi eventi a lui destinati (polling); può interrogare il gestore circa l’arrivo
di determinati tipi di eventi (polling selettivo); può segnalare al gestore la propria
disponibilità a ricevere gli eventi a lui destinati (push sollecitato), oppure a ricevere
solo certi tipi di eventi (push sollecitato e selettivo); ecc.
I sistemi di messaging possono operare secondo due modalità diverse per l'invio e la
ricezione dei messaggi:
•
point-to-point: il messaggio può avere uno o più destinatari, ma, una
volta inviato alla coda (queue) corrispondente, viene recuperato dal
primo che vi si collega, e poi cancellato.
•
publish & subscribe: il messaggio non contiene indicazioni circa i suoi
destinatari ma è semplicemente inviato rispetto ad un obiettivo (Topic), e
viene ricevuto da tutti i sottoscrittori per quell’obiettivo che si sono
registrati prima dell'invio.
Lo schema, rappresentato nell'immagine riportata sotto, mette in risalto la parte di
Rete Telematica Regionale Toscana
page 13/53
Infrastruttura per la Cooperazione Applicativa – CART-
soluzione comune a tutte le amministrazioni locali, presentando come unico punto di
aggancio con i singoli sistemi lo scambio del messaggio SOAP conforme alla
implementazione di e.Toscana (busta di e.Toscana) del formato busta di
"eGovernment". Così, in un processo di pubblicazione in cui il NAL 'A' sia
pubblicatore e il NAL 'B' sottoscrittore, l'oggetto "envelope" rappresenta in un caso
l'input del sistema descritto, e nell'altro l'output.
2.1.4.2 Cooperazione per Richiesta di Servizio
Il modello proposto si basa su un'architettura altamente distribuita e orientata ai
servizi, indicata in letteratura come SOA, Service Oriented Architecture. Ogni
servizio facente parte di questo 'ecosistema' può comunicare direttamente con un
gruppo di processi o funzioni, oppure può partecipare in un processo di business più
complesso che coinvolge altri servizi, denotato con il nome di coreografia.
Rete Telematica Regionale Toscana
page 14/53
Infrastruttura per la Cooperazione Applicativa – CART-
Service
Registry
Find
Service
Requestor
Publish
Bind
Service
Provider
Un SOA può essere utilizzato sia attraverso Internet, sia privatamente all'interno di una
singola componente applicativa e anche tra un insieme finito di soggetti prestabiliti.
Nel modello SOA vengono distinti un service platform e un service provider.
Per service platform si intende un ambiente utilizzato per ospitare uno o più servizi.
Questo può includere uno o più SOAP server, zero o più broker, i servizi di sicurezza
e transazionali utilizzati dai servizi ospitati ed altri sistemi di infrastruttura.
Un service provider è il middleware utilizzato, ad esempio un ORB, un MOM o un
application server J2EE.
SOA rappresenta un nuovo approccio, utilizzato per pubblicare ed esporre i servizi
autoconsistenti che sono ospitati su una piattaforma. Questi servizi, normalmente,
presentano caratteristiche di tipo 'enterprise' quali sicurezza, transazionalità, pooling,
clustering e batch processing. I servizi in se stessi non forniscono queste possibilità
infrastrutturali, ma semplicemente espongono le interfacce che lo fanno.
La Service Oriented Architecture offre l'opportunità agli intermediari di costruire nuovi
servizi aggregandone altri. Il nuovo servizio non fornisce nuovo valore di per sé, ma
raggruppa i servizi che vengono forniti da altri, nel nostro caso sia dal front end sia dal
back office.
I provider sono centri di 'business process', ossia espongono i servizi accedendo ad un
insieme di applicazioni in grado di eseguire un intero processo di business. Le
caratteristiche proprie di un provider, che si propone come aggregatore di servizi,
sono:
•
assicurare la disponibilità dei servizi esposti
•
fornire un ambiente transazionale e sicuro
Rete Telematica Regionale Toscana
page 15/53
Infrastruttura per la Cooperazione Applicativa – CART-
I componenti del SOA sono i servizi. Ogni servizio è composto da due parti:
•
Service. L'implementazione del servizio. Il requisito chiave del servizio è che deve
essere ospitato all'interno di un service platform e fornito da un service provider.
•
Service description. L'interfaccia del servizio. L'interfaccia viene espressa in XML
e descrive in modo astratto tipi di dati, operazioni, binding su protocolli di trasporto
e locazioni di rete.
Il SOA è basato sulle interazioni tra 3 ruoli: un provider, un registry o broker e un
requestor.
Il provider è il possessore del servizio e decide come il servizio viene esposto. Il
servizio può essere implementato con un protocollo sincrono di tipo richiesta/risposta,
o può ricevere messaggi e spedire risposte asincrone. Il servizio può essere acceduto
tramite diverse tecnologie tra cui 'SOAP over HTTP' o 'ebXML Message Service'.
Il registry gestisce il repository delle informazioni sui providers. Tali informazioni
possono includere dati di identificazione così come dati di descrizione del business.
Normalmente un registry fornisce possibilità di ricerca e classificazione delle
informazioni. I registry risolvono un problema molto concreto: permettono di ricercare
un servizio e quindi di trovare la sua interfaccia programmatica.
Il requestor è un business che scopre e invoca servizi o inizia un'interazione con un
provider. Tale ruolo può essere ricoperto sia da una persona che utilizza un web
browser, sia da entità software senza interfaccia utente, come, ad esempio un altro
servizio.
Publishing
I provider pubblicano le informazioni o i metadati sui servizi in un repository e le
rendono disponibili tramite un registry server. Il meccanismo utilizzato viene chiamato
'dynamic discovery'. La descrizione dei servizi viene pubblicata in modo
programmatico utilizzando un insieme specializzato di API. Le interfacce fornite dai
registry server sono conformi a specifiche predefinite, come ad esempio UDDI .
Finding
I requestor trovano la descrizione di un servizio utilizzando un registry. Il meccanismo
utilizzato viene chiamato 'service location'. La ricerca viene effettuata
programmaticamente, utilizzando un insieme specializzato di API. Le query di ricerca
sono formattate secondo un determinato standard XML e trasmesse utilizzando un
protocollo specifico, come ad esempio SOAP.
Binding
Il binding è ciò che un'applicazione effettua quando usa una descrizione del servizio
per creare un messaggio da spedire al provider. La descrizione di un servizio è
formattata in un determinato standard XML (quasi tutti i linguaggi di definizione dei
processi di business, ossia BPML, XLANG e WSFL, sono basati su WSDL) e
specifica il protocollo di trasporto (per esempio HTTP) e tutto ciò che serve ad un
Rete Telematica Regionale Toscana
page 16/53
Infrastruttura per la Cooperazione Applicativa – CART-
requestor per utilizzare un servizio.
L'implementazione delle Richieste di Servizio nella Cooperazione Applicativa di
e.Toscana si basa sui “Web Services Document Style” per i seguenti motivi:
•
L'utilizzo dei Web Services permette un tipo di comunicazione “loosely-coupled”
tra sistemi eterogenei, specialmente quelli che si sono evoluti nel tempo.
•
L'esposizione di servizi esistenti, tramite Web Service, permette l'utilizzo da una
grande varietà di client web-enabled aumentando l'interoperabilità tra piattaforme
eterogenee.
•
I modelli di interazione dei Web Service si possono mappare sui “Profili di
Collaborazione” dalla Cooperazione Applicativa
•
Un vantaggio chiave nell'utilizzo dei Web Services è l'abilità di comunicare
richieste e messaggi attraverso i firewalls comunemente configurati per
permettere il solo passaggio del protocollo http.
2.1.4.3 Modelli di processing dei Web Service
Per “modello di processing” si intende la modalità in cui come un Web Service
processa le richieste lato server. I modelli si possono dividere in “RPC style” e
“Document style”.
RPC style
Tale modello è guidato da una serie di chiamate ai metodi di business.
Queste chiamate applicano la logica del servizio ad un insieme di business
object che contengono le informazioni necessarie per processare la
richiesta. I metodi e i parametri invocati sul servizio si mappano
direttamente ad una specifica logica di business.
Document style
In questo modello la logica di business è mantenuta separata dal
contenuto del documento. Il servizio riceve un documento XML e non
comporta alcun legame specifico alla logica di business da applicare. Non
c'è nessun mapping diretto tra la richiesta e la logica di business, ossia sul
servizio non viene invocato alcun metodo specifico. Il Web Service
applica la sua business logic al documento XML il cui contenuto
determina il flusso del processo.
2.1.4.4 Modelli di interaction dei Web Service
Per “modello di interaction” si intende come un client invoca e usa un Web Service. I
m
odelli si possono dividere in sincroni e asincroni.
Nel modello sincrono, i consumer invocano una richiesta sul servizio e sospendono la
Rete Telematica Regionale Toscana
page 17/53
Infrastruttura per la Cooperazione Applicativa – CART-
loro esecuzione in attesa della risposta.
Nel modello asincrono, i consumer spediscono una richiesta al servizio e
successivamente continuano la loro esecuzione senza aspettare l'arrivo di una risposta.
Il servizio elabora la richiesta e restituisce la risposta in un altro momento. Il consumer
riceve la risposta e procede con la sua elaborazione. La richiesta del consumer viene
spedita come messaggio. Il Web Service riceve il documento e ne effettua il parsing
per determinare come processare la richiesta.
Naturalmente la maggior parte dei Web Services utilizzano un mix dei modelli appena
elencati. La differenza sostanziale tra i due modelli di processing riguarda la
dipendanza dal protocollo XML (trasparente nel caso dei Web Service RPC style, dato
che viene gestita dalla piattaforma) e dalla definizione delle interfacce del servizio
(trasparente nel caso dei WebService Document style, dato che il workflow è definito
nel contenuto del documento).
2.1.5 SICUREZZA
In base ai requisiti di alto livello espressi nella Cooperazione Applicativa, definiti nel
documento “Rete Nazionale Architettura Applicativa Linee Guida Prima edizione 6
novembre 2001” e all'analisi dell'ambiente Amministrazione Locale sono stati
individuati i seguenti requisiti non funzionali relativi alla sicurezza:
1. I messaggi comunicati tra NAL e CRIC non possono essere osservati da terzi
mentre viaggiano sulla rete.
2. Il nodo applicativo che riceve i messaggi è in grado di determinare da chi
proviene il messaggio verificando che il mittente sia chi sostiene di essere.
3. Il nodo applicativo che riceve i messaggi è in grado di accertare che i dati
trasmessi non siano stati alterati.
Il requisito non funzionale 1 viene risolto utilizzando i protocolli di trasporto
HTTPS/SSL. I nodi applicativi (CRIC e NAL) su cui viaggiano i messaggi non
modificano il dato in modo sostanziale e non utilizzano altri fornitori di servizio per
comunicarli. Questa caratteristica permette di scartare l'idea di cifrare a livello di
messaggio: il beneficio guadagnato nell'utilizzo della crittografia per cifrare tutto o la
parte di un messaggio SOAP non è abbastanza per giustificare il costo e la complessità
di sviluppo della struttura necessaria.
I requisiti non funzionali 2 e 3 vengono risolti utilizzando la firma e i certificati digitali.
Quando si utilizza questo approccio, il nodo applicativo che invia il messaggio deve
posseder un certificato digitale firmato da una Certification Authority. Il mittente
utilizza il certificato per asserire la propria identità e firma digitalmente il messaggio
SOAP in modo che la propria identità e l'integrità del messaggio possa essere
verificata. Una volta ricevuto, il messaggio viene memorizzato con un timestamp
associato. A questo punto la firma digitale può essere validata. Il processo di
validazione assicura che il messaggio proviene dal mittente e verifica che il contenuto
del messaggio non sia stato modificato da quando è stato firmato dal mittente. Il log
Rete Telematica Regionale Toscana
page 18/53
Infrastruttura per la Cooperazione Applicativa – CART-
del messaggio SOAP viene utilizzato dal ricevente per scopi di non ripudio.
Rete Telematica Regionale Toscana
page 19/53
Infrastruttura per la Cooperazione Applicativa – CART-
3
L’ARCHITETTURA
Lo scopo di questo documento è presentare e descrivere l'architettura che realizza il
modello descritto nel precedente capitolo.
ASPETTI GENERALI
Il raggiungimento del requisito di interoperabilità si basa sulla definizione di un insieme
di componenti architetturali che vanno a realizzare i layer di intermediazione tra le
pubbliche amministrazioni e tra le amministrazioni e il cittadino/utente, al fine di
realizzare uno scambio di informazioni senza soluzioni basate su approcci applicativi
e/o proprietari, così come definito nel modello descritto nel precedente capitolo.
L’architettura proposta non impone la creazione di soluzioni basate su specifici
prodotti adattati alle necessità della comunicazione tra le pubbliche amministrazioni
ma, partendo da queste, identifica componenti architetturali che implementino
tecnologie e protocolli standard di mercato, naturalmente multipiattaforma.
Si segna dunque il passaggio da un approccio applicativo basato su un prodotto ad un
approccio per componenti, la cui integrazione è realizzata mediante l'adozione di
standard, centrando l'obiettivo fondamentale della indipendenza da specifici produttori
e da soluzioni realizzate ad hoc.
Questa impostazione ha reso Java, ed in particolare J2EE, la piattaforma di riferimento
che consente di impostare la soluzione come framework piuttosto che come prodotto,
lasciando alla scelta delle singole amministrazioni la selezione dei prodotti specifici.
Nel disegnare le varie componenti che consentono la realizzazione di un sistema
capace di rendere i servizi fondamentali per la completa erogazione dei servizi al
cittadino si sono tenuti presenti alcuni principi fondamentali qui di seguito illustrati:
•
Conformità agli open standard
•
La soluzione deve poter essere implementata su piattaforme diverse
(Microsoft, Unix, Linux)
•
La soluzione deve essere potenzialmente distribuita su più layer fisici distinti
interoperanti mediante open standard
•
La soluzione deve poter essere installata su prodotti commerciali o “open
Source” diversi, con il minimo costo di porting o di modifiche strutturali
Tali considerazioni, unite ai principi di scalabilità e affidabilità hanno condotto alla
scelta della piattaforma Java.
L'architettura proposta è un sistema composto da un insieme di entità che interoperano
secondo una modalità ad accoppiamento lasco (loosley-coopled),ovvero non
transazionale.
Tale capacità di comunicazione, basata sulla trasmissione dei messaggi, è implementata
Rete Telematica Regionale Toscana
page 20/53
Infrastruttura per la Cooperazione Applicativa – CART-
in forma assolutamente naturale disponendo della tecnologia J2EE che offre una
collaudata esperienza di interoperabilità.
La struttura di tale architettura viene decsritta sulla base delle componenti individuate
dal modello:
•
Il Front End Service Layer
•
Il Virtual Service Layer
•
Il Back End Service Layer
Queste tre componenti sono tra di loro complementari e allo stesso tempo, sono viste
come elementi di uno stack fortemente disaccoppiato sia tecnologicamente che dal
punto di vista della distribuzione fisica delle risorse.
L'implementazione dei suddetti layer da un punto di vista architetturale è rappresentata
nello schema seguente.
FRONT END
SERVICE
LAYER
Interfaccia
UDDI
C
R
I
C
ebXML
Directory
Server
P&S
Broker
RDBMS
Servizi
applicativi
centrali
Registrydei servizi
Application
Server
J2EE
http/
SOAP
Server
Gateway
verso altri
Centri
Servizi
Servizio di monitoraggio Cruscotto di
applicazioni
amministrazione
Servizio di distribuzione
software
VIRTUAL
SERVICE
LAYER
Framework Cooperazione Applicativa
Framework Cooperazione
Applicativa
Proxy
Applicativo
E
N
T
I
L
O
C
A
L
I
SIL
Proxy
Applicativo
SIL
Framework Cooperazione
Applicativa
Proxy
Applicativo
Proxy
Applicativo
SIL
SIL
BACK END
SERVICE
LAYER
Tali componenti operative consentono la realizzazione di una infrastruttura cooperante
Rete Telematica Regionale Toscana
page 21/53
Infrastruttura per la Cooperazione Applicativa – CART-
in cui ciascun layer può svolgere il ruolo del provider secondo i dettami della Event
Driven Architecture e della Services Oriented Architecture.
FRONT END SERVICE LAYER
Il Front End service Layer, nell’architettura proposta, è il livello di esposizione dei
servizi sviluppati all’interno del progetto verso gli utenti 'umani' o verso le eventuali
applicazioni del mondo esterno al CART.
Le funzionalità di competenza di questo layer possono sostanzialmente essere
raggruppate in due tipologie:
•
Esposizione
•
Aggregazione
Il FSL, è immaginabile come un insieme di componenti che interagiscono sia con il
VSL che con alcuni servizi Trasversali (autenticazione e profiling, firma digitale, etc…)
L’interazione con il VSL è rappresentata dai componenti denominati “portlet” e
dall’invocazione di Servlet, che sono in grado di accettare su protocollo HTTP
parametri generati dall’interazione di un utente o da un altro sistema e inoltrarli verso il
componente di business addetto all’elaborazione.
L’accesso al FSL avviene attraverso un’interfaccia Utente tipica dei portali
Multicanale, quindi con il supporto di molteplici device d’accesso.
Il punto di contatto con untente/sistema (Service Interface) avviene esclusivamente a
livello di VSL attraverso le Porte di Dominio con tecnologia Web Service (SOAP).
Per la gestione di tutti quegli elementi che attengono alla Human Interface in questo
layer verranno collocati componenti e strumenti che consentiranno di gestire gli aspetti
legati alla usabilità e alla navigazione dell’accesso ai servizi, al deploy di nuovi servizi,
alla personalizzazione, alla pubblicazione di nuovi contenuti.
VIRTUAL SERVICE LAYER
Questo strato rappresenta il cuore del sistema informativo della nostra soluzione
poiché in questo layer si dispone di una componente capace di trasformare le richieste
provenienti dal front end (Human Interface / Service Interface) in azioni e processi
comprensibili dalle componenti applicative residenti nei backend.
Il Virtual Service Layer rappresenta un middleware che assume la componente di
provider quando le richieste provengono dal front end e il ruolo di requestor quando
si rivolge al backend.
L’utilizzo delle Porte di Dominio, consente l’interazione con domini diversi
Rete Telematica Regionale Toscana
page 22/53
Infrastruttura per la Cooperazione Applicativa – CART-
(cooperazione applicativa) e l’interazione con lo strato di Back End Service Layer.
La porta di dominio basa lo scambio di messaggi o attraverso le API JMS, qualora il
Back End Service Layer sia dotato di un broker JMS che supporti HTTP, oppure
direttamente con scambio di messaggi SOAP sincroni. Questo garantirà ancora una
volta il più basso livello di accoppiamento e la massima interoperabilità dei sistemi.
Il VSL è aperto verso sistemi applicativi esterni realizzati con tecnologia non Java.
L'uso di SOAP su HTTP permette a qualunque altra piattaforma hardware/software di
implementare servizi di backend e, viceversa, di sfruttare i servizi offerti dal VSL. Tutti
i servizi base integrati nel VSL, infatti, sono esposti agli enti esterni come web-services
mediati dalla cosiddetta Porta di Dominio.
Per organizzare l'accesso ai servizi di backend da parte del VSL, la loro descrizione
sarà registrata nel repository ebXML.
Il BSL dovrà interporre dei listener realizzati attraverso servlet per implementare verso
il VSL i protocolli prima esposti, che costituiscono la Porta di Dominio.
Grazie all'utilizzo di un'architettura J2EE, i servizi forniti da un provider possono
soddisfare alcune caratteristiche che permettono all'architettura di evolvere in un
ambiente di distributed computing basato sulla tecnologia Internet:
r
efficienza nell'effettuazione del servizio
r
scalabilità per gestire un grande volume di richieste
r
supporto al versioning e alla 'online self-reparation'
r
supporto come parte del workflow
r
alta affidabilità
Il VSL è un aggregatore di servizi o intermediario. Questo svolge tra gli altri compiti
anche il ruolo di registry e broker per mantenere la descrizione dei servizi che vengono
erogati.
Il VSL svolge anche il ruolo di requestor. Nel ruolo di requestor il VSL, garantisce la
certezza della gestione della interfacciamento tra le richieste utente e i servizi offerti
dal sistema informativo esistente.
Lo stesso ruolo è assunto anche dal Back End Service Layer nei confronti dei servizi
del Backend implementati a livello delle singole amministrazioni.
Il VSL rappresenta il punto centrale di scambio e le funzionalità che svolge possono
essere erogate da un ente che opera come intermediario.
Il modello della infrastruttura di cooperazione applicativa di e.toscana prevede il
Centro Regionale per l'Interoperabilità e la Cooperazione (CRIC) ed il Nodo
Applicativo Locale (NAL).
Rete Telematica Regionale Toscana
page 23/53
Infrastruttura per la Cooperazione Applicativa – CART-
BACK END SERVICE LAYER
Il backend svolge le funzioni di trattamento dei dati e servizi che devono essere
scambiatie per questo sono rese disponibili tre tipi di interfacce:
Upload/download Il back boffice quando ha dei dati che devono essere spediti
usa un’applicazione Web presente sulla porta di dominio per scaricare i dati
sulla porta di dominio stessa
Message Listener Viene usato in questo caso una tipologia di Enterprise Java
Bean, il Message Driver Bean, che è in grado di ricevere e processare messaggi
spediti da un client applicativo, da un componente Web, da un’applicazione
JMS o da un sistema che non utilizza tecnologia J2EE.
Code di messaggi In questo caso il backend, quando deve inviare dei dati, li
invia attraverso un messaggio JMS su una coda della porta di dominio
ARCHITETTURA PER LA MODALITÀ PUBLISH&SUBSCRIBE (EDA)
La Cooperazione Applicativa ad eventi si basa sullo scambio asincrono di messaggi tra
Domini diversi.
In un sistema di messaging ad invocazione asincrona i partecipanti non devono restare
connessi in attesa di una risposta dal destinatario, ma possono limitarsi ad inviare il
messaggio affidandolo ad un'infrastruttura di servizio (Framework CA) che ha il
compito di gestirne la consegna rendendola affidabile nonché indipendente dai vincoli
che si avrebbero se i soggetti interessati dovessero comunicare direttamente tra loro
per lo scambio di informazioni.
I sistemi di messaging possono operare secondo due modalità diverse per l'invio e la
ricezione dei messaggi:
•
point-to-point: il messaggio può avere uno o più destinatari, ma, una volta
inviato alla coda (queue) corrispondente, viene recuperato dal primo che vi si
collega, e poi cancellato.
•
publish&subscribe: il messaggio non contiene indicazioni circa i suoi destinatari
ma è semplicemente inviato su un certo topic, e viene ricevuto da tutti i
sottoscrittori di quel topic che si sono registrati prima dell'invio.
La soluzione proposta utilizza un modello di gestione dei messaggi di tipo “publish &
subscribe”, data la necessità di diffondere gli eventi di variazione a tutte le
amministrazioni e gli enti interessati.
Lo schema, rappresentato nell'immagine seguente, mette in risalto la parte di soluzione
comune a tutte le amministrazioni locali, presentando come unico punto di aggancio
con i singoli sistemi lo scambio del messaggio SOAP conforme al formato busta di
"eToscana" (nell'immagine, "eToscana envelope"). Così, in un processo di
pubblicazione in cui il NAL 'A' sia pubblicatore e il NAL 'B' sottoscrittore, l'oggetto
"eToscana envelope" rappresenta in un caso l'input del sistema descritto, e nell'altro
Rete Telematica Regionale Toscana
page 24/53
Infrastruttura per la Cooperazione Applicativa – CART-
l'output.
Work flow descritto dal Deploy Diagram
Analizzando la figura sopra riportata, definiamo il nodo NAL 'A' come pubblicatore e il
NAL 'B' come sottoscrittore allo stesso evento. Il nodo NAL 'A', tramite il
componente “Message Control CA” reperisce la busta di “eToscana”, controlla il
mittente tramite la firma digitale (autenticazione), verifica se il mittente ha il ruolo per
pubblicare il relativo evento (autorizzazione) andando a reperire le informazioni sul
repository presente sul CRIC, valida il formato del messaggio SOAP secondo la busta
di "eToscana" e risponde al componente “Message Handler CA” se ogni passo è
andato a buon fine. Nel caso in cui ogni controllo eseguito dal “Message Control CA”
sia andato a buon fine, il componente “Message Handler CA” incapsula la busta di
“eToscana” in un messaggio JMS, si collega al componente “JMS Provider” del CRIC
autenticandosi e spedisce (relazione di “communicates”) al CRIC il messaggio. Il
componente “JMS Provider”, che avrà il compito di gestire i messaggi tra il NAL 'A' e
'B', riceve il messaggio JMS e si occupa di spedirlo (relazione "communicates") al
NAL 'B'. Il componente "Message Handler CA" del NAL 'B', una volta ricevuto il
messaggio JMS, traccia l'avvenuta ricezione, estrae la busta di “eToscana” dal
messaggio JMS e la consegna al relativo “Message Control CA”. Quest'ultimo ne
valida il formato, inserisce al suo interno gli identificativi dei sottoscrittori al relativo
evento, reperendoli sul repository del CRIC, e la rende disponibile al sistema con cui
si integrerà.
Rete Telematica Regionale Toscana
page 25/53
Infrastruttura per la Cooperazione Applicativa – CART-
Il colloquio con il Framework CA presente sul CRIC avviene in modalità JMS sicuro o
anche via SOAP su https con caratteristiche di sicurezza e affidabilità.
ARCHITETTURA PER LA MODALITÀ RICHIESTA DI SERVIZIO (SOA)
L'architettura generale, scelta dal modello per l'implementazione delle Richieste di
Servizio, si basa essenzialmente sul modello Document Style.
In questo modello la logica di business è mantenuta separata dal contenuto del
documento. Il servizio riceve un documento XML e non comporta alcun legame
specifico alla logica di business da applicare. Non c'è nessun mapping diretto tra la
richiesta e la logica di business, ossia sul servizio non viene invocato alcun metodo
specifico. Il Web Service applica la sua business logic al documento XML il cui
contenuto determina il flusso del processo.
Il software Framework CA è comunque in grado di supportare il modello RPC Style
sincrono, nel caso i requisiti o i vincoli dell'ambiente operativo lo permettano.
Framework CA utilizza un insieme di tool e di API Java standard costruite
appositamente per questo modello.
Il modello RPC Style sincrono è guidato da una serie di chiamate ai metodi di business.
Queste chiamate applicano la logica del servizio ad un insieme di business object che
contengono le informazioni necessarie per processare la richiesta. I metodi e i
parametri invocati sul servizio si mappano direttamente ad una specifica logica di
business.
Riguardo ai modelli di interazione dei Web service sono possibili due modelli:
q
Modello sincrono, in cui i consumer invocano una richiesta di servizio e
sospendono la loro esecuzione in attesa della risposta
q
Modello asincrono, in cui i consumer spediscono una richiesta al servizio e
successivamente continuano la loro esecuzione senza aspettare l’arrivo della
risposta. Il servente elabora la richiesta e restituisce la risposta in un secondo
momento.
Il software Framework CA supporta entrambi i modelli di interazione. In questo modo
è possibile scegliere la modalità a seconda del tipo di servizio richiesto: sincrona
quando il servizio è in grado di processare la richiesta in tempo reale o quando il
consumer necessita una immediata risposta a seguito di un richiesta; asincrona quando
il consumer non vuole attendere il completamento dell'elaborazione della richiesta in
quanto potrebbe comportare un'attesa troppo lunga.
La modalità asincrona spesso si scontra con il fatto che il consumer del servizio non è
in grado di poter ricevere la risposta dal servizio. Per questo motivo, il Framework
CA, è in grado di supportare due differenti modalità di interazione asincrona,
denominate simmetrica e asimmetrica.
Rete Telematica Regionale Toscana
page 26/53
Infrastruttura per la Cooperazione Applicativa – CART-
Nella modalità di interazione asincrona simmetrica, il consumer è esso stesso un Web
Service, quindi il servizio richiesto è in grado di svolgere il ruolo di consumer per
quanto rigurada il risultato della richiesta originale. La correlazione tra richiesta e
risposta avviene attraverso l'ID del messaggio.
Nella modalità di interazione asincrona asimmetrica, il consumer che ha invocato il
servizio controlla periodicamente lo stato della richiesta utilizzando l'ID del messaggio,
fornito al momento della richiesta. (Questa modalità è conosciuta anche con il nome di
polling). Solo dopo il completamento della richiesta, il consumer è in grado di
recuperare la risposta.
Nello scenario illustrato di seguito, un'applicazione sul SIL1(x) chiede al Proxy
applicativo presente sul NAL X un servizio esposto dal SIL3(y) ed esposto sul NAL
Y.
Il proxy applicativo comunica questa richiesta alla Porta di dominio del NAL X.
La porta di dominio del NAL X accede al CRIC ed effettua la richiesta di servizio.
Il CRIC accede al Registry al fine di individuare la locazione del servizio richiesto e le
sue modalità di invocazione.
Sull'XML registry presente nel CRIC è descritto il servizio richiesto, la sua interfaccia
e la sua locazione (il servizio è collocato, ad esempio, sul NAL Y).
La componente applicativa Web Service Orchestrator presente sul CRIC comunica,
dopo aver reperito le informazioni suddette necessarie alla comunicazione, con la porta
di dominio del NAL Y.
Questa si rivolge al Proxy applicativo del NAL Y che si occuperà di accedere al
database presente sul SIL 3(Y) (o eventualmente esportato sul NAL Y) ed
estrapolarne l'informazione richiesta.
Nel flusso di ritorno, il Proxy applicativo restituisce il valore alla porta di dominio che
lo comunica al Web service orchestrator sul CRIC, il quale si occupa di fornire
l'informazione al proxy applicativo del NAL X.
Infine il Proxy applicativo del NAL X restituisce, al SIL1(x) che aveva innescato la
richiesta iniziale, l'informazione richiesta.
CRIC
Web Service
orchestrator
XML
Registry
2
3
NAL X
NAL Y
4
Proxy
applicativo
Proxy
applicativo
5
1
Rete Telematica
SIL1(x)
SIL 2(x)
DB
Regionale Toscana
SIL 3(y)
page 27/53
Infrastruttura per la Cooperazione Applicativa – CART-
I Nodi Applicativi Locali contengono la componente del Framework che implementa la
Porta Di Dominio (Delegata e Applicativa) e i Proxy Applicativi specifici per il tipo di
applicazione. Nel caso in cui il SIL non sia in grado di implementare un particolare tipo
di servizio, il NAL può farsi carico di fornire un provider del servizio per quel
determinato SIL tramite normalizzazione dei dati o altre tecniche specifiche per quel
dominio applicativo.
Il Sistema Informativo Locale contiene il consumer ed eventualmente il provider di un
servizio. Entrambi questi componenti devono essere in grado di comunicare con un
proxy applicativo (presente sul NAL) in un modo specifico al dominio applicativo.
La componente Framework CA presente sui NAL implementa la Porta di Dominio. E'
in grado di:
•
accettare richieste/risposte, nel formato standard definito, provenienti dal proxy
applicativo e di inviarle in modo reliable al CRIC
•
accettare richieste/risposte, nel formato standard definito, provenienti dal CRIC
e di inviarle in modo reliable al proxy applicativo corrispondente.
•
effettuare il lookup dell'endpoint fisico della Porta Di Dominio, utilizzando il
registry & repository XML presente sul CRIC
La componente Framework CA sul Centro Regionale svolge il ruolo di registry e
repository XML (le due tipologie attualmente supportate sono UDDI ed ebXML).
Tale componente viene utilizzata in design-time dai tool di sviluppo per ricercare la
descrizione delle interfacce dei servizi (WSDL o schema XML) e in run-time dai
componenti del Framework CA presenti sui NAL per determinare l'endpoint del
servizio.
Rete Telematica Regionale Toscana
page 28/53
Infrastruttura per la Cooperazione Applicativa – CART-
CRIC
Framework CA
XML Registry/Repository
NAL X
Proxy
applicativo
Framework CA
NAL Y
Framework CA
Proxy
applicativo
Ente locale1 -SIL
Consumer
Work flow descritto dal Deploy Diagram
L'applicazione residente sul SIL richiede al suo Proxy applicativo di riferimento
presente sul NAL X la sua richiesta in formato XML. Il proxy applicativo imbusta la
richiesta in un messaggio conforme alla busta e-toscana e redirige la richiesta alla
componente Framework CA (Porta di Dominio) presente sul NAL. Quest'ultimo la
invia alla componente Framework CA presente sul CRIC il quale contiene al proprio
interno una componente di Web Service orchestrator in grado di:
•
inviare e ricevere le richieste di servizio da parte delle porte di dominio dei NAL
•
inviare e ricevere le risposte da parte delle porte di dominio dei NAL
Questa effetta il lookup del servizio sul registry presente sul CRIC e effettua la
richiesta al Framework CA presente sul NAL Y il quale a sua volta passa la richiesta
al proxy applicativo che si occuperà di elaborare la richiesta e ritornare i dati di
risposta al Framework che li ripasserà a sua volta al Web Service orchestrator e
quindi al NAL X che ha effettuato la richiesta.
I N ODI APPLICATIVI LOCALI
Le componenti di accesso ai servizi di interoperabilità e cooperazione devono essere
Rete Telematica Regionale Toscana
page 29/53
Infrastruttura per la Cooperazione Applicativa – CART-
definite in modo standard per tutti gli Enti connessi alla rete. Tali componenti vengono
rese disponibili su un Server dedicato denominato Nodo Applicativo Locale (NAL). Il
NAL svolge quindi la funzione di Porta di Dominio per ciascun ente connesso
direttamente alla rete, includendo sia le funzioni di Porta Delegata che di Porta
Applicativa.
La funzione principale del NAL è quella di ricevere e spedire messaggi al fine di
rendere disponibili i propri servizi. Le due funzioni di spedizione e ricezione messaggi
implicano che la porta sia in grado di:
•
Ricevere e pre-elaborare i messaggi in arrivo per il Sistema Informativo
Locale
•
Creare i messaggi da spedire verso l’esterno
•
Fornire servizi di supporto alla cooperazione (es. log dello stato della
comunicazione) e gestire funzionalità di sicurezza, protocollazione ecc.
Il NAL agisce quindi sia come client, quando riceve informazioni e servizi, sia come
server, quando fornisce informazioni e servizi.
La natura dei messaggi scambiati è varia, tuttavia il formato dei messaggi è XML:
l’elemento caratterizzante i messaggi per la cooperazione applicativa è infatti la
completa definizione del contenuto e del formato di codifica.
La struttura dei messaggi dovrà essere definita secondo un formato standard che
costituirà la busta e-toscana.
Rete Telematica Regionale Toscana
page 30/53
Infrastruttura per la Cooperazione Applicativa – CART-
“Message Handler CA” è il componente che si occupa della
pubblicazione e ricezione degli eventi nel formato “busta di
eToscana” verso e dal CRIC.
L’interfaccia verso il CRIC, in particolare verso il Framework CA, avviene attraverso il
componente Message Handler CA che ingloba al suo interno il componente Message
Control CA.
Il NAL è quindi costituito da una parte infrastrutturale comune a tutti sulla quale si
installano i diversi proxy applicativi, specifici per ogni diversa applicazione, i quali
presentano una interfaccia verso il Framework della Cooperazione Applicativa
presente sul CRIC e una verso il Sistema Informativo Locale dell’Ente.
I componenti software che implementano la soluzione proposta per la gestione degli
eventi di Cooperazione Applicativa e delle richieste di servizio sono:
•
Package per interfaccia verso il CRIC
•
Message Handler CA e Message Control CA che si basano su:
•
•
API JMS per la gestione dei servizi di comunicazione JMS
•
API JAXM/JAXRPC/JAXP per la gestione dei messaggi XML
•
SOAP with Attachments API for Java (SAAJ)
•
API per la gestione della firma e della sicurezza
Proxy Applicativo si basa su
4. Package Message Handler per la formattazione secondo lo
Rete Telematica Regionale Toscana
page 31/53
Infrastruttura per la Cooperazione Applicativa – CART-
standard della busta e-toscana e l’invio e/o la ricezione del
messaggio
5. API JDBC per l’interfacciamento verso l’RDBMS
•
Package per interfaccia verso il Sistema Informativo Locale che può usare ( a
seconda delle diverse modalità)
•
API JAXR-JAXRPC nel caso in cui l’interfaccia sia un Web service
•
API JMS nel caso in cui l’interfaccia sia ottenuta tramite code del JMS
Provider fornito dall’Application Server presente sul NAL
•
Servizi di supporto allo sviluppo e alla gestione dei Proxy Applicativi
3.1.1 MESSAGE HANDLER CA
Questo componente software permette sia la pubblicazione e la ricezione degli eventi
secondo gli standard determinati dalla cooperazione applicativa sia la richiesta di
servizio. In particolare tale componente implementa la funzione di collaborazione della
porta di dominio.
La funzione di cooperazione ad eventi viene realizzata pubblicando e ricevendo
messaggi conformi alla “busta di eToscana” in modalità asincrona e affidabile come
specificato dall'architettura proposta.
La funzione di richiesta di servizio viene effettuata inviando la richiesta imbustata
secondo il formato conforme alla busta di eToscana.
Questo componente espone un’interfaccia utilizzabile dai Proxy applicativi per
l’imbustamento secondo la busta e-toscana e l’invio e/o la ricezione degli eventi e delle
richieste di servizio.
3.1.2 MESSAGE CONTROL CA
Il Message Handler internamente usa un package denominato Message Control CA al
quale sono demandate le funzionalità che garantiscono la sicurezza delle transazioni
nella gestione degli eventi di Cooperazione Applicativa:
1. Protezione del canale. Il canale di comunicazione tra NAL e CRIC deve
essere protetto tramite encryption.
2. Validazione. I messaggi conformi alla busta di eToscana vengono validati. La
validazione avviene in due punti: prima di essere inviati al CRIC e, una volta
ricevuti dal CRIC, prima di essere inviati al SIL.
3. Autenticazione. I messaggi conformi alla busta di eToscana, inviati e ricevuti
tra i NAL, conterranno la firma digitale in modo da poter effettuare
l'autenticazione del mittente e di accertare che i dati trasmessi non vengano
alterati.
4. Autorizzazione. I messaggi conformi alla busta di eToscana, inviati e ricevuti
Rete Telematica Regionale Toscana
page 32/53
Infrastruttura per la Cooperazione Applicativa – CART-
tra i NAL, dovranno, una volta autenticati, verificare le rispettive
autorizzazioni. Le informazioni di autorizzazione sono contenute nel
repository del CRIC. Il controllo di autorizzazione avviene: prima di inviare il
messaggio al CRIC, verificando il mittente, e prima di inviare il messaggio al
SIL, verificando il ricevente.
Tali funzionalità non sono rilasciate dal Message Handler ai Proxy applicativi ma sono
al servizio del Message Handler.
3.1.3 PROXY APPLICATIVO
Per ogni applicazione che deve parlare in questo contesto di cooperazione applicativa
dovrà essere installato sul NAL un componente software denominato Proxy
applicativo.
Compito del proxy applicativo è, nel caso di un NAL pubblicatore di une evento,
quello di ricevere i dati dal Sistema Informativo Locale, validarli, imbustarli secondo la
busta e-toscana e passarli poi al componente Message Handler per l’invio sul CRIC.
Analogamente, nel caso di un NAL sottoscrittore di un evento, riceve l’evento dal
Message Handler e lo invia al Sistema Informativo Locale destinatario del messaggio.
Il Proxy è un'applicazione Java sviluppata con le API Java 2 Platform Standard Edition
che usa le funzionalità messe a disposizione dal Message Handler per l’imbustamento e
l’invio e/o ricezione degli eventi, usa le API standard per la propria logica applicativa e
l’interfacciamento verso l’RDBMS (API JDBC) e presenta un’interfaccia verso il
Sistema Informativo locale in modo da poter ricevere i dati necessari per la
pubblicazione dell’evento e da poter inviare l’evento ricevuto dal CRIC.
In base alle capacità dei singoli Sistemi Informativi locali si possono ipotizzare diverse
modalità di colloquio:
1. File Upload su https. Il S.I. Locale prepara i dati in formato XML ed
effettua una POST su https sul NAL per passare i file preparati.
2. Web services. I proxy applicativi presenti sul NAL espongono il
servizio di ricezione dati sotto forma di Web service che viene
invocato dal Sistema Informativo Locale
3. JMS Provider. In questo caso il S.I.L., quando deve inviare dei dati, li
invia attraverso un messaggio SOAP su http su una coda sul NAL da
dove viene passato al proxy applicativo. Lo stesso meccanismo al
contrario viene seguito nel caso in cui il S.I.L. debba ricevere i dati.
3.1.4 SERVIZI DI SUPPORTO ALLO SVILUPPO, MONITORAGGIO E
AGGIORNAMENTO DEI PROXY APPLICATIVI
Per lo sviluppo e la gestione dei Proxy applicativi sul NAL sono presenti :
•
API JMS per la gestione dei servizi di comunicazione JMS
•
HTTP Server
Rete Telematica Regionale Toscana
page 33/53
Infrastruttura per la Cooperazione Applicativa – CART•
API JAXM/JAX-RPC per la gestione dei messaggi XML
•
API per la gestione della firma e della sicurezza
•
API JDBC per l’interfaccia verso il database
•
RDBMS Contiene copie dei dati oggetto della cooperazione applicativa e garantisce
la persistenza degli eventi oggetto della cooperazione applicativa.
•
Application Server J2EE
•
Provider JMS Componente che permette il colloquio con il sistema informativo
locale attraverso code di messaggi. Nel caso in cui si decida di mettere un
Application Server J2EE compliant sul NAL questo contiene già al suo interno
un’implementazione di un JMS provider.
Sul NAL sono presenti anche Servizi di gestione remota che consentono di monitorare
e gestire i NAL in remoto da un centro di gestione regionale permettendo anche
l’aggiornamento del software presente sui NAL.
CENTRO REGIONALE PER L ’INTEROPERABILITÀ E LA COOPERAZIONE
Il modello architetturale che si è stato realizzato attraverso il progetto eToscana
prevede la attivazione di un centro regionale per la interoperabilità e la cooperazione
(CRIC) cui è demandato il compito di garantire i servizi ai soggetti della rete
telematica regionale toscana e gli adeguati livelli di cooperazione ed interoperabilità
con le altre pubbliche amministrazioni del Paese attraverso l’infrastruttura della Rete
nazionale cui è connessa la RTRT e gli altri centri nazionali e regionali per la
cooperazione e l’interoperabilità.
I soggetti aderenti alla Rete telematica regionale e partecipanti al progetto eToscana in
modo singolo o associato disporranno di un sistema, denominato Nodo Applicativo
Locale (NAL), dedicato e finalizzato alla interazione con il centro regionale per la
interoperabilità e la cooperazione applicativa. Il nodo applicativo interagisce da un lato
con il centro regionale e dall’altro con i sistemi informativi locali del soggetto o
soggetti a cui garantisce i servizi di cooperazione applicativa.
Vediamo a questo punto in dettaglio i componenti sul CRIC necessari per la
realizzazione dei diversi tipi di cooperazione.
Rete Telematica Regionale Toscana
page 34/53
Infrastruttura per la Cooperazione Applicativa – CART-
UDDI
ebXML
Directory
Server
http/
SOAP
Server
P&S
Broker
Servizi
applicativi
centrali
Registry dei servizi
Application
Server
Servizio di monitoraggio
applicazioni
Cruscotto di
amministrazione
RDBMS
Gateway
verso altri
Centri
Servizi
Gateway
verso altri
Enti
Servizio di distribuzione
software
Il CRIC è un Centro Servizi Regionale che ospita i servizi di rete comuni e condivisi da
più amministrazioni che saranno di supporto alla cooperazione applicativa:
r
Framework per la Cooperazione Applicativa
•
JMS Provider
•
RDBMS
•
Diretcory Server
•
Cruscotto di amministrazione del Framework
r
Registry dei servizi
r
Servizi di Directory accessibili via LDAP
r
Servizi Applicativi centrali, cioè la componente centrale di servizi applicativi
che prevedono un punto centrale di coordinamento o di accesso
r
Servizi di Web server
r
Servizi per la distribuzione, l’aggiornamento e il monitoraggio delle
componenti software remote sui NAL
r
Cruscotto di amministrazione di sistema
r
Gateway verso altri Centri Servizi e/o verso altri Enti
Questo centro può essere replicato e distribuito a livello sub-regionale (per esempio a
livello provinciale) per rispondere a requisiti di efficienza e di prestazioni.
3.1.5 FRAMEWORK CA
Il Framework per la cooperazione applicativa ha il compito di gestire la consegna dei
messaggi rendendola affidabile e indipendente dai vincoli che si avrebbero se i soggetti
Rete Telematica Regionale Toscana
page 35/53
Infrastruttura per la Cooperazione Applicativa – CART-
interessati dovessero comunicare direttamente tra loro per lo scambio di informazioni.
Il “Framework Ca” contiene i componenti:
r
Componente JMS Provider in modalità “Publish & Subscribe”. Questo si
occupa della autenticazione da parte dei NAL, della ricezione dei messaggi
JMS spediti dal NAL e della spedizione dei relativi messaggi ai NAL
sottoscrittori dell’evento
r
Componente Configuration Manager CA che fornisce la funzionalità di
amministrazione per l’assegnazione dei ruoli ai diversi NAL
r
Componente Repository che contiene i dati persistenti necessari allo
svolgimento delle funzionalità sopra descritte. Questo repository può essere un
Directory Sever o un RDBMS
r
Componente Registry dei Servizi necessaria per la cooperazione di tipo
sincrono
Il software “Framework CA” consente la cooperazione applicativa tra i sistemi
informativi degli Enti della Regione Toscana. Tale software interagisce con il
componente Message Handler presente sui NAL.
Il “Framework CA”, in seguito alla ricezione di ogni messaggio da parte del NAL, si fa
carico di effettuare tutti i controlli e le verifiche necessarie al proseguimento della
pubblicazione. Quindi,in caso di esito positivo, inoltra il messaggio ai NAL e quindi ai
SIL sottoscrittori del corrispondente evento. L'individuazione dei NAL e del o dei SIL
sottoscrittori avviene tramite un apposito repository in cui sono contenute le
informazioni di instradamento.
Il sistema proposto è fornito delle seguenti funzionalità:
•
Ricezione e instradamento dei messaggi pubblicati dai componenti software
presenti sul NAL.
•
Autenticazione. Il sistema verifica l'identità del componente software presente sul
NAL che deve inviare il messaggio.
•
Autorizzazione. Il sistema verifica che i componenti software presenti sul NAL
siano autorizzati a pubblicare o ricevere il messaggio in base alle informazioni
contenute in una ACL (Access Control List).
•
Gestione del messaggio. Il sistema, in caso di esito negativo, in una delle fasi di
autenticazione e autorizzazione dovrà inviare un messaggio di risposta al
pubblicatore dell'evento. Nel caso in cui tutti i controlli abbiano esito positivo, il
sistema processerà il messaggio instradandolo verso i componenti software
sottoscrittori dell'evento corrispondente presenti sui NAL.
•
Funzioni di amministrazione relative alla assegnazione e gestione dei ruoli di
pubblicatore e sottoscrittore dei SIL (e quindi dei NAL corrispondenti). Il
sistema fornisce un'interfaccia attraverso la quale l'amministratore registra i SIL
nel ruolo di pubblicatori e/o sottoscrittori. Ogni registrazione conterrà
Rete Telematica Regionale Toscana
page 36/53
Infrastruttura per la Cooperazione Applicativa – CART-
l'identificativo del SIL, il ruolo (pubblicatore o sottoscrittore), il tipo di evento e
il periodo di attivazione.
•
Gestione delle problematiche relative alla sicurezza. Oltre a effettuare le verifiche
necessarie per l'autenticazione e l'autorizzazione, il sistema garantisce che il
messaggio sia protetto mediante crittografia. A questo scopo viene utilizzato un
canale protetto per la trasmissione dei messaggi.
I componenti software utilizzati per implementare la soluzione proposta sono:
u
u
Broker (Provider JMS):
•
Ricezione messaggi
•
Autenticazione
•
Autorizzazione
•
Gestione del messaggio
•
Consegna messaggi
•
Sicurezza
Configuration Manager CA
u
u
Configurazione degli Enti SIL coinvolti nella cooperazione
Repository utilizzato dal sistema per reperire le informazioni necessarie alla
autenticazione e amministrazione dei ruoli degli Enti SIL.
3.1.6 REGISTRY DI SERVIZI
Il registry ebXML 2.0 registra servizi e documenti. La tipologia di servizi e documenti
è personalizzabile.
Il registry fornisce il supporto per pubblicare e ricercare i servizi amministrativi in rete,
poiché è costituito da un elenco consultabile di descrizioni di servizi fornite dalle
rispettive amministrazioni fornitrici . Dal punto di vista degli utilizzatori del registry,
essi ricercano il servizio e, una volta ottenuti i dettagli tecnici, possono iniziare la
comunicazione.
Dato che fornisce una interfaccia di accesso, il registry si comporta esso stesso come
un servizio di rete, questa volta relativo alla pubblicazione e ricerca di altri servizi.
In un’architettura di tipo SOA (Service Oriented Architecture) per il registry si
definiscono un certo numero di operazioni fondamentali :
Publish I provider pubblicano le informazioni sui servizi in un repository e le rendono
disponibili tramite il registry. Il meccanismo utilizzato è chiamato dynamic discovery.
Le interfacce fornite dai registry server sono conformi alle specifiche UDDI o ebXML.
L’utilizzo delle API JAXR (Java API for XML Registry) permette di operare in
Rete Telematica Regionale Toscana
page 37/53
Infrastruttura per la Cooperazione Applicativa – CART-
maniera uniforme e standard sui differenti tipi di registry.
Find: interrogazione del Repository da parte di un Web Service Client per localizzare
il servizio. Il meccanismo utilizzato è il service location. La ricerca si effettua sempre
attraverso le API JAXR. Le query di ricerca sono formattate secondo un determinato
standard XML e trasmesse utilizzando SOAP o ebXML Message Service.
Bind: negoziazione da parte di un Service Client con un Service Repository e un
Service Provider, per l'utilizzo del servizio. E’ il processo che un’applicazione effettua
quando usa la descrizione del servizio per creare un messaggio da spedire al provider.
La descrizione è formattata in uno standard XML, usando dei linguaggi basati su
WSDL.
Il Registry deve avere inoltre le seguenti caratteristiche:
•
REPOSITORY DOCUMENTALE. Il contenuto del Registry può
essere costituito da schemi XML, documenti, descrizione di processi,
modelli UML, informazioni circa gli attori e anche componenti software.
•
GESTIONE DELLA SICUREZZA. Gli utenti del repository devono
poter gestire chi ha accesso alle loro informazioni, devono poter
impostare differenti livelli di accesso, identificando chi può leggere,
modificare o cancellare i dati.
•
SERVIZI DI QUERY. Fornisce funzioni di ricerca dei servizi, dei
documenti e degli oggetti memorizzati.
•
GESTIONE DELLE VERSIONI. Il controllo delle versioni permette
che gli utenti conservino traccia delle versioni successive dello stesso
documento, evitando che possano essere soprascritte versioni precedenti
del documento.
•
CHECK-IN/CHECK-OUT. Gestione di accessi concorrenti in lettura e
aggiornamento multipli sullo stesso documento. Quando un utente
esamina un documento, l'aggiornamento deve essere impedito da parte
di altri utenti, ma deve essere possibile leggere la versione corrente
La specifica UDDI non fornisce la funzionalità di repository documentale, cosa invece
che viene fornita dalle specifiche ebXML (Electronic Business XML ).
Con un registry ebXML avrei entrambe le funzionalità ma per compatibilità anche con
il mondo esterno che usa UDDI la cosa migliore è averli entrambi e usare UDDI per i
servizi e un registry ebXML che consente anche la pubblicazione e la condivisione di
documenti XML che formalizzano non solo l’interfaccia del servizio proposto da una
Pubblica Amministrazione ma anche l’eventuale successione di scambi tra gli
interlocutori
Il registry deve essere comprendere inoltre le seguenti funzionalità:
•
Possibilità per un’amministrazione di iscriversi al registro come publisher
e/o subscriber di un evento
Rete Telematica Regionale Toscana
page 38/53
Infrastruttura per la Cooperazione Applicativa – CART•
•
Gestione della pubblicazione di un servizio:
ˆ
Gestione del repository (insert, find, delete)
ˆ
Gestione della definizione del file WSDL
ˆ
Bind dell’amministrazione locale al servizio
ˆ
Verifica della specifica del servizio inserita nel registry con l’effettiva
implementazione del servizio stesso sia nel caso di servizio sincrono
che nel caso dei servizi asincroni (P&S)
Interfaccia per la definizione eventi/servizi. Un nodo locale o centrale
definisce l’evento, crea la coda e crea i requisiti
3.1.7 SERVIZIO DI DIRECTORY
All’interno del CRIC è presente un servizio di Directory accessibile via LDAP.
Contiene le informazioni relative agli utenti attori della cooperazione applicativa. Sono
inoltre presenti le informazioni relative al ruolo che l’utente riveste in base al quale può
o meno accedere a determinati servizi
3.1.8 PUBLISH&SUBSCRIBE BROKER
Le funzionalità del broker Sun ONE Message Queue, provider JMS presente sul
CRIC, sono:
•
Ricezione messaggi
•
Autenticazione
•
Autorizzazione
•
Gestione del messaggio
•
Consegna messaggi
•
Sicurezza
3.1.9 AGGIORNAMENTO SOFTWARE DEI NAL
L’aggiornamento delle componenti software sui NAL avviene attraverso la rete ed è
gestito da un cruscotto di controllo residente sul CRIC. Tale cruscotto permette di
visualizzare le versioni e i moduli presenti su ciascun NAL, di monitorarne le
funzionalità principali, di aggiornare la versione del software.
3.1.10 MONITORAGGIO
Similmente a quanto accade per l'aggiornamento software, così anche lo stato di un
processo amministrativo viene sottoposto a monitoraggio mediante un cruscotto di
controllo presente sul CRIC. Dalla lettura delle informazioni di log e dall'utilizzo delle
Rete Telematica Regionale Toscana
page 39/53
Infrastruttura per la Cooperazione Applicativa – CART-
specifiche di processo amministrativo, il sottosistema e' in grado di fornire all'operatore
le indicazioni circa le amministrazioni coinvolte, le fasi già concluse del processo e le
eventuali condizioni di errore.
3.1.11 INTERFACCE VERSO IL MONDO ESTERNO
Sul CRIC saranno realizzate delle applicazioni che permetteranno agli Enti dotati di
NAL di colloquiare sia con altri Centri di Cooperazione Applicativa dotati di un NAL
che segua gli stessi standard di CART sia con altri Enti e a volte con i cittadini dotati di
un personal Computer. Rientrano in quest'ultima categoria per esempio i medici che
devono prelevare i referti dei propri pazienti pubblicati dalle Aziende Sanitarie
attraverso l'architettura di CART.
Dal momento che il singolo utente non può sottoscrivere eventi, verranno realizzate
delle applicazioni sul CRIC che si sottoscriverranno a questi eventi e li depositeranno
in un apposito repository a cui il singolo PC si collegherà e, previa autenticazione,
preleverà i messaggi a lui destinati.
Le interfacce che verranno messe a disposizione in questi casi saranno Web Services
che permetteranno di inviare e/o ricevere dati e/o eventi.
La comunicazione tra i NAL avviene sempre attraverso i CRIC in entrambe le modalità
di notifica eventi e richiesta di servizio. Il CRIC svolgerà quindi il ruolo di nodo
centrale nella comunicazione, sia per l'erogazione di Web Service sia per la gestione di
eventi.
4
COOPERAZIONE APPLICATIVA CON ALTRI CODOMINI NON E .TOSCANA
L'architettura di riferimento per il sistema di interoperabilità con altri domini non
e.Toscana è basata su una federazione di Centri Regionali nei quali vengono gestiti i
Registry dei servizi. In questa vengono proposti due possibili scenari: il Registry
Primario e i Registry Federati.
Il processo di attuazione di tale modello può prevedere una prima fase nella quale si
attua un Registry Primario, creato con l'intento di eliminare le ridondanze esistenti tra i
Registry attuali e di fornire un mezzo per poter giungere in modo graduale, ma
scalabile, ad uno scenario “misto” in cui avremmo uno o più Registry Primari federati
tra loro.
I repository primari federati agiscono come repository per amministrazioni che non
intendano realizzare in tempi brevi un repository proprio.
Gli scenari descritti sono confortati dalla piena completezza degli standard definiti e
dalla fattibilità tecnologica essendo basati sulla disponibilità di interfacce pubbliche
nell'ambito del registry UDDI e nell'ambito del registry/repository ebXML, che
Rete Telematica Regionale Toscana
page 40/53
Infrastruttura per la Cooperazione Applicativa – CART-
consentono l'interoperabiltà tra i registri/repository secondo le due più classiche
modalità di interazione tra due sistemi, quella del Publish&Subscribe e quella HTTP
request-response.1
Di seguito vengono descritti tecnologicamente tali scenari secondo una puntuale
visione tecnologica che consente di definire, ad un consistente livello di disegno logico,
l'architettura che realizza il modello di Cooperazione Applicativa interregionale.
La soluzione scelta contempla i due modelli architetturali Service Oriented e Event
Driver (SOA e EDA), applicati ai due scenari previsti dalla cooperazione applicativa
interregionale.
Rete Telematica Regionale Toscana
page 41/53
Infrastruttura per la Cooperazione Applicativa – CART-
MODELLI DI COOPERAZIONE
COOPERAZIONE
TRA
CENTRI
DI INTEROPERABILITÀ E
Il modello proposto consente la costituzione di più Centri per l'Interoperabilità e la
Cooperazione Applicativa che costituiscono i punti di contatto fra i diversi aggregati
di soggetti che condividono una stessa infrastruttura.
Secondo tale modello, i Centri di territori diversi potranno interoperare attraverso le
modalità di notifica di eventi o di invocazione di servizio, così come i nodi applicativi
di una stessa Regione ad esempio cooperano tra loro.
Gli Enti che utilizzano una comune infrastruttura di Cooperazione Applicativa
realizzano le proprie Porte di Dominio attraverso un Nodo Applicativo (il concetto di
Nodo Applicativo è un'astrazione, può essere implementato da uno specifico server o
attraverso l'adeguamento di sistemi interni all'Ente stesso).
La comunicazione tra Nodi Applicativi di aggregati diversi, avviene sempre attraverso i
Centri in entrambe le modalità di notifica eventi e richiesta di servizio. Il Centro di ogni
aggregazione svolgerà quindi il ruolo di nodo centrale nella comunicazione, sia per
l'erogazione di Web Service sia per la gestione di eventi. Nello scenario di richiesta di
servizio, in un esempio di infrastrutture regionali diverse, il Nodo Applicativo 1 della
Regione A richiederà il servizio al CRIC della propria Regione, che si occuperà di
richiedere il servizio al CRIC della Regione B che esporrà il servizio implementato dal
Nodo Applicativo 2.
Rete Telematica Regionale Toscana
page 42/53
Infrastruttura per la Cooperazione Applicativa – CART-
Nodo
applicativo 1
Nodo
applicativo 2
REG
Primario
Nodo
applicativo n
Nodo
applicativo 1
SOAP/HTTP
Nodo
applicativo 2
CRIC
Regione B
CRIC
Regione A
Nodo
applicativo n
Reg b
Reg a
SOAP/HTTP
Nodo
applicativo 1
Nodo
applicativo 2
CRIC
Regione C
Nodo
applicativo n
Reg c
“Nota: Nella trattazione che segue faremo riferimento per semplicità ad aggregazioni
di enti o soggetti facenti parti di territori regionali diversi ma il modello consente
ovviamente aggregazioni sia subregionali che sovraregionali.”
Le modalità di cooperazione tra Regioni o territori diversi avverranno attraverso i
meccanismi di notifica eventi e richiesta di servizio.
Per entrambe le modalità sarà possibile comunicare tramite la combinazione dei due
capisaldi:
• un Registry in cui sono contenute le informazioni sui servizi disponibili, siano essi di
pubblicazione/sottoscrizione eventi, siano essi Web Services
• l'invio e la ricezione di un messaggio SOAP su HTTP, sia esso usato per
pubblicazione/sottoscrizione eventi, sia esso contenente richieste di servizio
4.1.1 COOPERAZIONE APPLICATIVA PER EVENTI
La Cooperazione Applicativa ad eventi si basa sullo scambio asincrono di messaggi tra
Domini diversi.
In un sistema di messaging ad invocazione asincrona i partecipanti non devono restare
connessi in attesa di una risposta dal destinatario, ma possono limitarsi ad inviare il
Rete Telematica Regionale Toscana
page 43/53
Infrastruttura per la Cooperazione Applicativa – CART-
messaggio affidandolo ad un'infrastruttura di servizio che ha il compito di gestirne la
consegna rendendola affidabile nonché indipendente dai vincoli che si avrebbero se i
soggetti interessati dovessero comunicare direttamente tra loro per lo scambio di
informazioni.
Nello scenario rappresentato nella figura seguente, la Regione A dispone di un CRIC
dotato di un sistema di P&S (la cui tecnologia dipende dalla piattaforma scelta dalla
Regione) e un SOAP Service per esporre i servizi pubblicati sulla coda del motore di
MQ, come Web Service.
La Regione B effettua un discovery sul Registry Primario o sul Registry Federato del
servizio a cui è interessata, reperendo informazioni su di esso (quali la Regione
erogatrice del servizio e la modalità di invocazione dello stesso), indipendentemente
dalla natura del servzio, (notifica evento piuttosto che web service).
La Regione B invia una richiesta HTTP al SOAP Service, per esempio di
sottoscrizione ad un evento, presente sul CRIC della Regione A (erogatrice del
servizio).
La Regione A, attraverso il suo sistema di P&S, per esempio un Message Broker
J2EE, prenderà in carico la richiesta e la gestirà secondo le regole interne al suo CRIC.
Alla pubblicazione dell'evento ( al quale si era sottoscritta la Regione B) da parte della
Regione A, sarà inviato un messaggio SOAP su HTTP alla Regione B, la quale sarà in
grado di riceverlo tramite il suo SOAP Service, gestendone poi l'invio agli opportuni
nodi applivativi, attraverso il meccanismo prescelto.
Rete Telematica Regionale Toscana
page 44/53
Infrastruttura per la Cooperazione Applicativa – CART-
Nodo
applicativo 1
Nodo
applicativo 2
REG
Primario
Nodo
applicativo n
Nodo
applicativo 1
Nodo
applicativo 2
Reg b
SOAP/HTTP
CRIC
Regione A
CRIC
Regione B
Nodo
applicativo n
SOAP Service
SOAP Service
Sistema
P&S
Reg a
SOAP/HTTP
Nodo
applicativo 1
Nodo
applicativo 2
Reg c
CRIC
Regione C
SOAP Service
Sistema
P&S
Rete Telematica Regionale Toscana
page 45/53
Nodo
applicativo n
Infrastruttura per la Cooperazione Applicativa – CART-
4.1.2 COOPERAZIONE APPLICATIVA PER INVOCAZIONE DI SERVIZIO
Il “modello di interaction” attraverso cui un client invoca e usa un Web Service può
essere sincrono e asincrono.
Nodo
applicativo 1
Nodo
applicativo 2
REG
Primario
Nodo
applicativo n
Nodo
applicativo 1
Nodo
applicativo n
Reg b
SOAP/HTTP
CRIC
Regione B
CRIC
Regione A
SOAP Service
Nodo
applicativo 2
SOAP Service
Reg a
SOAP/HTTP
Nodo
applicativo 1
Nodo
applicativo 2
Reg c
CRIC
Regione C
Nodo
applicativo n
SOAP Service
Sistema
P&S
Nello scenario rappresentato in figura, la Regione A dispone di un CRIC dotato di un
SOAP Service per inviare e ricevere servizi di tipo sincrono, tramite messaggi SOAP
su HTTP.
La Regione B effettua un discovery sul Registry Primario o sul Registry Federato del
servizio a cui è interessata, reperendo informazioni su di esso (quali la Regione
erogatrice del servizio e la modalità di invocazione dello stesso), indipendentemente
dalla natura del servzio, (notifica evento piuttosto che web service).
La Regione B invia una richiesta HTTP al SOAP Service, per esempio di richiesta
sincrona (ad esempio un'interrogazione), presente sul CRIC della Regione A
(erogatrice del servizio).
La Regione A, attraverso il suo SOAP Service, prenderà in carico la richiesta e la
gestirà secondo le regole interne al suo CRIC.
Rete Telematica Regionale Toscana
page 46/53
Infrastruttura per la Cooperazione Applicativa – CART-
Qualora le informazioni richieste alla Regione A non risiedano sul suo CRIC, il CRIC
effettuerà una richiesta sincrona di servizio al suo nodo applivativo di competenza, una
volta ricevuta la risposta la reindirizzerà al CRIC richiedente della Regione B.
La descrizione di un Web Service consiste in una descrizione WSDL e degli schemi
XML referenziati dalla descrizione del servizio.
La pubblicazione del Web Service viene fatta su un “XML registry” utilizzando le API
JAXR che permettono la pubblicazione e la ricerca delle descrizione. Attualmente
JAXR è in grado di supportare gli standard UDDI ed ebXML.
Sul CRIC esiste una componente software che svolge il ruolo di registry e repository
XML (le due tipologie proposte sono UDDI ed ebXML). Tale componente viene
utilizzata a design-time dai tool di sviluppo per ricercare la descrizione delle interfacce
dei servizi (WSDL o schema XML) e a run-time dai componenti software presenti sui
centri per determinare l'endpoint del servizio.
Questi modelli di cooperazione interregionale sono perseguibili grazie all'introduzione,
in uno dei CRIC delle Regioni coinvolte nella cooperazione, di un Registry
centralizzato, atto esclusivamente a contenere la descrizione dei servizi che ogni
Regione mette a disposizione delle altre.
Saranno poi i CRIC di ogni Regione ad instaurare la comunicazione tra loro,
richiedendo o meno, conformemente alla tipologia di servizio richiesto o evento
invocato, l'innescarsi di una comunicazione interna alla Regione con il nodo applivativo
di competenza del servizio/evento.
Rete Telematica Regionale Toscana
page 47/53
Infrastruttura per la Cooperazione Applicativa – CART-
REGISTRY DEI SERVIZI
Il Registry dei servizi costituisce il cuore del sistema di interoperabilità interregionale e
per la sua implementazione è possibile ipotizzare due scenari: Registry Primario e
Rete di Registry.
I due scenari non sono mutuamente esclusivi ma anzi si può prevedere una prima fase
nella quale si attua un unico Registry Primario, creato con l'intento di eliminare le
ridondanze esistenti tra i Registry attuali e successivamente estendere il modello ad
uno scenario “misto” in cui avremmo più Registry Primari in rete.
4.1.3 REGISTRY PRIMARIO
In questo capitolo viene descritto lo scenario di interazione interregionale che prevede
l'utilizzo di un Registry Primario. Le funzionalità di Registry Primario possono essere
ospitate all'interno di uno dei CRIC attualmente attivi.
All'interno del registry primario sono contenute le descrizioni dei servizi, siano essi di
tipo notifica evento o richiesta di servizio, che le Regioni mettono a disposizione
nell'ambito del sistema di cooperazione ed, eventualmente, gli schema XML relativi, ad
esempio, alle specifiche della busta di egovernment. Ad esso accederanno i CRIC
Regionali al fine di reperire i dettagli sui servizi da invocare, secondo le modalità
descritte nel capitolo 0.
Un registry XML è un'infrastruttura che abilita la costruzione, il deploy e il discovery
di Web services ed eventi. Rappresenta una terza parte neutrale che facilita interazioni
business-to-business in modalità dinamica, a runtime e loosely coupled. Un registry è
reso disponibile alle organizzazioni come risorsa condivisa, spesso sotto la forma di un
servizio web-based.
Le specifiche dei registry XML includono:
• Lo standard ebXML Registry/Repository, sponsorizzato dall'Organization for the
Advancement of Structured Information Standards (OASIS) e dal United Nations
Centre for the Facilitation of Procedures and Practices in Administration,
Commerce and Transport (U.N./CEFACT)
• Il progetto Universal Description, Discovery, and Integration (UDDI), realizzato da
un consorzio di vendor
Un registry provider è un'implementazione di un business registry che aderisce alle
specifiche dei registry XML.
Il registry fornisce il supporto per pubblicare e ricercare i servizi amministrativi in rete,
poiché è costituito da un elenco consultabile di descrizioni di servizi fornite dalle
rispettive amministrazioni fornitrici. Dal punto di vista degli utilizzatori del registry,
essi ricercano il servizio e, una volta ottenuti i dettagli tecnici, possono iniziare la
comunicazione.
Dato che fornisce una interfaccia di accesso, il registry si comporta esso stesso come
Rete Telematica Regionale Toscana
page 48/53
Infrastruttura per la Cooperazione Applicativa – CART-
un servizio di rete, questa volta relativo alla pubblicazione e ricerca di altri servizi.
4.1.4 RETE DI REGISTRY E MODALITÀ DI COLLOQUIO
L'interoperabilità e le interazioni tra i registry possono avvenire attraverso tre modalità
incrementali (anche oggetto di un progetto nel U.S. Federal CIO Council’s XML Web
Services Working Group).
4.1.4.1 Allineamento reciproco automatico
In questa modalità è prevista una capacità di allineamento reciproco automatico in cui
ogni registry (UDDI ed ebXML) può raggiungere l'altro registry per accedere ad un
oggetto (per esempio la descrizione di un Web Service) che risiede su quest'altro tipo
di registry. Ciò è possibile senza l'aggiunta di meccanismi di middleware,
semplicemente utilizzando le caratteristiche esistenti dei registry coinvolti.
Uno scenario possibile consiste in un ente che possiede un registry ebXML contenente
le descrizioni dei servizi che l'ente riesce ad erogare, per esempio documenti WSDL
relativi a tali servizi o indicazioni sulle code di messaggi, pubblicatori e sottoscrittori e
in un secondo ente che possiede il registry UDDI che, tramite il meccanismo di
allineamento automatico accede alla descrizione dell'evento o del Web Service
contenuta nell'ebXML, registrando un record di quella descrizione nel suo registry
Regione A
Regione B
effettivo
UDDI
reale
Documento WSDL
Informazioni code
ebXML Registry
UDDI e accede al registry ebXML, quando necessario.
Rete Telematica Regionale Toscana
page 49/53
Infrastruttura per la Cooperazione Applicativa – CART-
Il risultato finale consiste in un accesso da parte della Regione A alle informazioni sulle
code o al documento WSDL che è registrato nel registry ebXML – comunque il
risultato effettivo è come se la Regione A accedesse direttamente al registry ebXML.
Nella maggior parte dei casi ciò implica un accesso read-only alle informazioni e ai
documento da parte del registry UDDI.
4.1.4.2 Comunicazione Publish & Subscribe
Questa seconda modalità aggiunge alla precedente la capacità di mantenere
rappresentazioni locali di oggetti in ogni registry, con oggetti duplicati tra registry. Un
amministratore di registry può preferire questo approccio al fine di possedere maggior
controllo sulla descrizione del servizio (evento o web service che sia).
Cosa accade però se viene effettuata una modifica ad un oggetto? Come si può
notificare una modifica al registry che possiede una rappresentazione locale
dell'oggetto originario? In questa situazione la modalità publish/subscribe può essere
valutata.
Un cambiamento alla descrizione di un evento o di un Web Service all'interno di un
registry UDDI scatena automaticamente una notifica di tipo publish/subscribe non solo
agli altri registry UDDI che conservano una loro rappresentazione locale di quella
descrizione, ma anche ai registry ebXML coinvolti (lo stesso concetto risulta valido
nella direzione inversa ebXML registry-to-UDDI registry).
Regione A
Regione B
Documento WSDL
Informazioni code
Documento WSDL
Notifiche Publish&Subscribe
UDDI
Informazioni code
ebXML Registry
Rete Telematica Regionale Toscana
page 50/53
Infrastruttura per la Cooperazione Applicativa – CART-
Ogni ente conserva la propria versione delle informazioni sulle code e documento
WSDL nel suo registry. Una versione viene designata al ruolo di versione master,
mentre le altre vengono considerate repliche. Se la versione master è oggetto di
modifiche, tutti i registry aventi le repliche, a prescindere dal tipo di registry,
riceveranno una notifica di tale evento. A quel punto, gli utenti/amministratori del
registry decideranno l'operazione appropriata da compiere (inglobare gli aggiornamenti
o non considerarli).
4.1.4.3 Federazione di Registry
L'ultima modalità consiste in una federazione di registry, in cui i registry coinvolti
possono essere di tipo UDDI ed ebXML e le operazioni sui registry possono avvenire
in modo trasparente al tipo di registry.
Le seguenti operazioni sui registry possono essere effettuate:
• Seamless Query: la possibilità di cercare un oggetto in qualsiasi registry della
federazione, a prescindere dal tipo di registry
• Seamless Synchronization: la sincronizzazione di oggetti tra tutti i registry della
federazione, a prescindere dal tipo di registry, per esempio una modifica su un
oggetto in un registry può scatenare notifiche publish/subscribe a tutti gli altri
registry, a prescindere dal tipo di registry
• Seamless Relocation: la riallocazione di oggetti da un registry nella federazione
ad un altro, a prescindere dal tipo di registry
ebXML
UDDI
UDDI
ebXML
ebXML
Rete Telematica Regionale Toscana
page 51/53
Infrastruttura per la Cooperazione Applicativa – CART-
Rete Telematica Regionale Toscana
page 52/53
Infrastruttura per la Cooperazione Applicativa – CART-
Acronimi e Abbreviazioni
•
Framework CA (Framework di Cooperazione Applicativa) : componente software
presente sul CRIC e sul NAL.
•
CRIC: Centro Regionale per l'Interoperabilità e la Cooperazione Applicativa
•
NAL: Nodo Applicativo Locale
•
SIL: Sistema Informativo Locale
•
Proxy Anagrafe CA: componente software presente sul NAL.
•
Configuration Manager CA: componente software presente sul CRIC
•
Repository: componente software presente sul CRIC
•
JMS Provider: componente software presente sul CRIC
•
busta di eToscana = messaggio SOAP costruito secondo le specifiche definite nel
documento "D10.2-DefinizioneBusta e-Toscana"
•
HTTP: Hyper Text Transfer Protocol
•
HTTPS: HTTP con supporto della sicurezza
Rete Telematica Regionale Toscana
page 53/53