Guida alla programmazione e integrazione di servizi in OpenSPCoop


1. Introduzione

Nella specifica SPCoop, un dominio è definito come il confine di responsabilità di un ente o soggetto amministrativo e racchiude al suo interno tutte le applicazioni da esso gestite.

Il confine applicativo del Dominio è rappresentato dalla Porta di Dominio (PdD), attraverso la quale devono transitare tutte le comunicazioni da e verso il dominio.

Le Porte di Dominio si parlano tra di loro scambiandosi richieste e risposte in un formato parte della specifica SPCoop, denominato busta eGov. Tuttavia il formato della busta non è parlato nativamente dalle applicazioni, pertanto la Porta di Dominio deve anche occuparsi di convertire le richieste applicative nel formato busta eGov.

Facendo riferimento a questa problematica, i compiti della Porta di Dominio vengono solitamente classificati in due componenti:

  • il componente di cooperazione che riguarda la comunicazione tra le Porte di Dominio;

  • il componente di integrazione che riguarda la comunicazione tra i Servizi Applicativi dell’Ente e la Porta di Dominio.

Il componente di integrazione si differenzia a sua volta in due diversi moduli: la porta delegata e la porta applicativa. In particolare la porta delegata è utilizzata come proxy per l’accesso al servizio destinazione e configurabile attraverso l’apposita interfaccia web come descritto nel documento “Manuale Gestione”, mentre la porta applicativa deve essere in grado di gestire la consegna dei contenuti delle buste eGov ricevute al corrispondente servizio applicativo interno al dominio destinazione.

Una volta predisposta l’infrastruttura di cooperazione, configurando adeguatamente Registro dei Servizi e Porte di Dominio, i Servizi Applicativi interni al dominio di un Soggetto possono essere abilitati ad interagire con le Porte Delegate e le Porte Applicative definite sulla propria Porta di Dominio.

Ci sono due modalità che è possibile utilizzare per la programmazione dei Servizi Applicativi: la modalità trasparente (Sezione 2, «Modalità d’integrazione trasparente») e il servizio di IntegrationManager (Sezione 3, «Modalità d’integrazione tramite il servizio di IntegrationManager»). La modalità trasparente è molto più semplice ed elegante da utilizzare, e se ne suggerisce quindi l’uso tutte le volte che questo sia possibile. Nel seguito di questa sezione vediamo come utilizzare le due modalità.