Cooperazione applicativa

Da WikiPA.

Cosa è

La cooperazione applicativa in generale attiene alla capacita di un’applicazione di far uso - nel corso del suo processo elaborativo - di un’informazione elaborata da un’altra applicazione, attraverso l'interoperabilità dei sistemi informativi sottostanti.

Cooperazione e interoperabilità, quindi, non sono concetti disgiunti e neanche dei sinonimi. Usati congiuntamente definiscono una specifica capacità di due o più sistemi informativi connessi in rete di disporre automaticamente, per le proprie finalità applicative, dei dati che sono producibili e/o acquisibili attraverso il processo elaborativo delle applicazioni operanti in altri sistemi informativi (è questo il caso, ad esempio, di un applicativo sanitario che può richiedere i dati anagrafici di un cittadino, al sistema di anagrafe civile del comune di residenza del cittadino).

Il programma della Commissione europea IDABC (Interoperable Delivery of european e-government services to public Administrations, Businesses and Citizens) definisce univocamente l'interoperabilità come la capacità dei sistemi tecnologici di informazione e comunicazione (ICT), come pure dei processi operativi che essi supportano, di scambiare dati e permettere la distribuzione dell’informazione e della conoscenza […].

Questa distinzione tipicamente italiana, consente infatti di definire un modello di architettura concettuale (SPCoop) che garantisce l'interoperabilità tra sistemi informativi diversi, per erogare servizi integrati agli utenti. Infatti, ciascun sistema informativo può differenziarsi in genere dall’altro per le scelte implementative sottostanti (linguaggio di programmazione e formato dei dati). Nel panorama della Pubblica amministrazione italiana la presenza di una molteplicità di soluzioni architetturali per la cooperazione applicativa ha indotto la scelta di una soluzione infrastrutturale unica che, da un lato, preserva l’autonomia delle scelte delle amministrazioni e che, dall'altro, consente ai diversi sistemi di interoperare fra loro per erogare servizi integrati agli utenti. L’interoperabilità fra amministrazioni, infatti, non può che svilupparsi sulla base di standard omogenei e condivisi in modo tale che siano identificati i servizi ed i dati che ogni amministrazione decide di rendere disponibili sulla rete. Poiché lo scambio di dati e servizi delle amministrazioni avviene tra entità di pari livello, lo scopo dell’architettura SPCoop di cooperazione applicativa è, appunto, quello di permettere l’integrazione dei processi e dei dati di amministrazioni diverse. Nella fattispecie, SPCoop definisce un’infrastruttura tecnologica di “interfaccia” con cui i diversi sistemi/organizzazioni “presentano” e “scambiano” i propri dati e servizi. La definizione di questa infrastruttura (i cui elementi tecnologici principali sono stati individuati nella Porta di Dominio e nella busta di e-Gov) consente di organizzare un vero e proprio backbone di interscambio e di cooperazione per i dati ed i servizi delle diverse amministrazioni.

Sistema Pubblico di Cooperazione - SPCoop

Il Sistema Pubblico di Cooperazione rappresenta il modello concettuale ed architetturale della cooperazione applicativa tra differenti Amministrazioni e/o soggetti pubblici italiani. Esso è organizzato in modo che:

  • supporti una modalità di erogazione del servizio articolata per adempimenti e procedimenti che derivano da dettati normativi o da compiti istituzionali;
  • sia paritetico fra tutti i soggetti cooperanti;
  • sia indipendente dagli assetti organizzativi dei soggetti cooperanti;
  • ciascun soggetto cooperante abbia la responsabilità dei servizi erogati e dei dati forniti;
  • ciascun soggetto sia autonomo nella gestione dei propri sistemi e nella definizione ed attuazione delle politiche di sicurezza del proprio sistema informativo;
  • ciascun soggetto sia responsabile delle autorizzazioni per l’accesso ai propri dati e/o servizi […].

SPCoop si basa sui seguenti principi ed elementi infrastrutturali:

  1. tecnologie e standard di cooperazione;
  2. ambiti di responsabilità e dominio di cooperazione;
  3. accordi di servizio e di cooperazione;
  4. ervizi infrastrutturali di interoperabilità, cooperazione e accesso (SICA;
  5. porta di dominio e busta di e-gov.

Tecnologie e standard di cooperazione

I servizi applicativi vengono erogati/fruiti attraverso tecnologie e standard indicati genericamente come web service. Questi rappresentano la soluzione effettiva proposta dal mercato per l’interoperabilità dei sistemi applicativi eterogenei, attraverso cui è possibile esportare una qualsiasi funzionalità, operante su una qualsiasi piattaforma, affinché venga invocata remotamente. Il vantaggio di queste tecnologie è nella vasta opera di standardizzazione che vede coinvolti differenti comitati a livello internazionale (W3C ed OASIS) e trova supporto da parte di tutti i maggiori fornitori di ICT del settore.

Ambito di responsabilità e dominio di cooperazione

Ciascun amministrazione cooperante mantiene la responsabilità dei servizi da essa erogati e dei dati forniti attraverso tali servizi, dando luogo ad un singolo "Dominio" di servizi applicativi. Ciò consente il disaccoppiamento tra i vari soggetti cooperanti, mantenendo nel loro ambito di responsabilità gli elementi di propria competenza. Pertanto, viene definito il concetto di “dominio di applicazione di cooperazione” che introduce la formalizzazione della volontà di associarsi di diversi soggetti, per cooperare nella informatizzazione di un insieme di procedimenti amministrativi pertinenti […]. Il dominio di cooperazione si regge su un fondamento normativo rappresentato dall’intesa tra le parti (accordo di cooperazione) che:

  • definisce l’ambito dei procedimenti amministrativi su cui operare;
  • contempla tutti i necessari accordi di servizio per la realizzazione di ciascun processo applicativo interdominio;
  • registra (pubblica e qualifica) i servizi disponibili in un registro pubblico dei servizi infrastrutturali e di accesso denominato “SICA”;
  • riporta le politiche di sicurezza e di qualità vincolanti per i servizi applicativi oggetto di cooperazione;
  • definisce le misure tecnologiche da utilizzare per garantire requisiti di sicurezza e di qualità e per supportare la piena automazione dei procedimenti afferenti il dominio stesso; cioè:
  * definisce il monitoraggio dei livelli di qualità sui servizi applicativi e di cooperazione del dominio, tenendo traccia degli scambi;
  * gestisce e definisce i ruoli se utilizzati in fase di autenticazione ed abilitazione agli accessi.

Accordi di servizio e di cooperazione

Un servizio applicativo opera sulla base di accordi tra almeno due soggetti (erogatore fruitore), accordi che hanno un fondamento normativo/istituzionale oltre che tecnico. Tali accordi devono essere formalizzati in maniera tale che su di essi si possa operare in modo (semi-)automatico a supporto del ciclo di sviluppo e di esercizio dei servizi stessi. La formalizzazione dell’accordo viene indicata come "Accordo di Servizio", ed è basata su linguaggio XML. L’Accordo di servizio è la descrizione formale dei servizi applicativi e definisce le prestazioni del servizio e le modalità di erogazione/fruizione in termini di:

  • interfaccia del servizio, intesa come insieme di operazioni offerte dal servizio;
  • punti d’accesso (endpoint) presso cui effettivamente il servizio è dispiegato;
  • protocollo conversazionale;
  • livelli di qualità del servizio garantiti (SLA);
  • requisiti e caratteristiche di sicurezza del servizio;
  • descrizione della semantica del servizio e della semantica dell‘informazione veicolata dal servizio.

In particolare, un Accordo di servizio si compone di due parti, quella comune e quella specifica:

  1. la prima può contenere oltre alle specifiche di interfaccia (WSDL) e di conversazione (WSBL) anche altri documenti come allegati (documenti non formali di interesse per l'Accordo di Servizio in un qualsiasi formato) e specifice semiformali (XML, UML, HTML o anche in linguaggio naturale).
  2. la seconda invece può contenere oltre alle specifiche dei porti di accesso (WSDL) anche altri documenti come allegati(documenti non formali di interesse per l'Accordo di Servizio in un qualsiasi formato), specifice semiformali (XML, UML, HTML o anche in linguaggio naturale), specifiche dei livelli di qualità del servizio SLA (WS-Agreement e WSLA), e specifiche di sicurezza associata al servizio e redatte mediante WS-Policy o in linguaggio naturale.

Il servizio erogato dal un Dominio è, analogamente agli altri servizi, descritto attraverso un Accordo di Servizio, che però in questo caso è affiancato da una specifica che descrive come le varie amministrazioni componenti concorrono al servizio composto finale. Tale documento viene indicato come Accordo di Cooperazione, ed è trasparente rispetto ai fruitori del servizio composto, mentre ha utilità interna al Dominio di Cooperazione. Viene così definito un modo per distinguere tra servizi la cui responsabilità è di esclusiva pertinenza di un singolo dominio/amministrazione, e servizi che invece sarebbero sotto la responsabilità di più domini/amministrazioni, per i quali un’amministrazione assume (per legge, per delega concordata dagli altri, ecc.) la responsabilità complessiva. Un modello così complesso, richiede la definizione di differenti elementi condivisi, sia in termini di specifiche che di componenti software di supporto. Pertanto, nel modello è presente un ulteriore componente architetturale, denominato SICA (Servizi di Interoperabilità, Cooperazione ed Accesso), che offre una serie di servizi e componenti software infrastrutturali (non riconducibili a nessuna amministrazione specifica), il cui obiettivo è di mediare e supportare la cooperazione tra le amministrazioni.

Una volta formalizzati gli Accordi di Servizio e sviluppate le applicazioni interessate da tali accordi, la cooperazione in termini di erogazione e fruizione di servizi applicativi avviene attraverso la Porta di Dominio.

Porta di dominio e busta di e-gov

Le amministrazioni cooperano attraverso l’erogazione e la fruizione di servizi applicativi; tali servizi vengono offerti dalla singola amministrazione attraverso un unico elemento (logico) del proprio sistema informativo denominato Porta di Dominio. Questo l'elemento infrastrutturale interfaccia logicamente l'amministrazione e quindi lo specifico dominio di cooperazione sul Sistema Pubblico di Connettività e Cooperazione (SPC) e consente la cooperazione con le altre PA in qualità di erogatore o fruitore di servizi. La porta di dominio, cioè, consente all'amministrazione di esporre i propri servizi nel SPC e di fruire dei servizi esposti da altre amministrazioni. Pertanto, a seconda che la Porta svolga la funzione di fruitore o erogatore di servizio può essere chiamata porta applicativa o delegata; ma in ogni caso rappresenta un unico elemento infrastrutturale. La fruizione dei servizi applicativi avviene attraverso lo scambio di messaggi applicativi, secondo il formato definito nel documento di specifica della busta di e-Gov che rappresenta il protocollo applicativo utilizzato per invocare i servizi applicativi presenti in SPCoop. Tecnicamente "Busta e-Gov" rappresenta una estensione del protocollo standard SOAP, sviluppata specificatamente per le esigenze di SPCoop. La "Busta e-Gov" risulta logicamente suddivisa in due parti: una che contiene le informazioni infrastrutturali e l’altra che veicola il contenuto applicativo del servizio oggetto dell’interazione, questo sia per mantenere totalmente autonome le Amministrazioni nella definizione del contenuto applicativo sia per uniformare le informazioni necessarie alla gestione dello scambio in modalità sicura e affidabile.

Per consentire la corretta identificazione e gestione dei servizi, dei soggetti coinvolti e delle relative porte di dominio, l'architettura Spcoop ha reso disponibili opportuni Servizi infrastrutturali per la cooperazione applicativa brevemente detti SICA.

Servizi Infrastrutturali di Interoperabilità, Cooperazione e Accesso

Le regole tecniche definiscono i SICA come “l'insieme delle regole, dei servizi e delle infrastrutture condivise che abilitano l'interoperabilità e la cooperazione applicativa fra le Amministrazioni e l'accesso ai servizi applicativi da queste sviluppati e resi disponibili sul SPC”. Il compito dei SICA, che sono centralizzati e indipendenti dalle singole amministrazioni, è quello di mantenere una serie di registri che vengono interrogati dalle porte di dominio per l’elaborazione dei messaggi applicativi. Dal punto di vista funzionale, i servizi SICA offrono i seguenti servizi:

  • servizi di registro SICA che offrono le funzionalità a supporto della gestione completa del ciclo di vita degli Accordi di Servizio e degli Accordi di Cooperazione;
  • servizio di catalogo schemi e ontologie, quale repository che raccoglie i modelli concettuali (ontologie) e gli schemi dati (XML schema) attraverso cui descrivere i servizi applicativi ed effettuare ricerche basate sui concetti;
  • servizio indice dei soggetti che mette a disposizione una serie di funzionalità atte a gestire la rubrica degli utenti e operatori della PA;
  • servizi a supporto del processo di qualificazione delle Porte di Dominio e del Registro Secondario a supporto delle Amministrazioni che intendono procedere alla qualificazione della Porta di dominio per erogare/fruire di servizi in ambito Spcoop e del Registro Sica secondario al fine di testarne la sincronizzazione con il registro SICA Generale;
  • servizio di certificazione e di Gestione Federata delle Identità Digitali che mette a disposizione specifiche funzionalità di identity ed access management previste dal Sistema.

Bibliografia

  • CNIPA, Sistema Pubblico di Cooperazione: Organizzazione, 2004.
  • CNIPA, Sistema pubblico di cooperazione: Accordo di servizio, 2005.
  • CNIPA, Sistema pubblico di cooperazione: quadro tecnico d'insieme, 2005.
  • CISIS, Interoperabilità e Cooperazione Applicativa tra le Regioni italiane. Due anni di lavoro, 2008.
  • CNIPA, Introduzione ai Servizi Infrastrutturali di Interoperabilità, Cooperazione e Accesso. SICA, 2009.

Voci correlate

  • CAD
  • Interoperabilità
  • Identità digitali
  • Service level agreement
  • Cooperazione interistituzionale
  • Cooperazione multilivello
  • Ontologie
  • Semantica
  • SPC
  • SOAP
  • XML
  • Web service
  • WSDL
  • WSBL


Collegamenti esterni