Guida alla programmazione e integrazione di servizi in OpenSPCoop2


1. Introduzione

La Porta di Dominio OpenSPCoop2 ha il compito di mediare le comunicazioni tra le applicazioni al fine di garantire il rispetto di un determinato protocollo di cooperazione applicativa. Le applicazioni che necessitano di effettuare comunicazioni secondo il protocollo di cooperazione devono interfacciarsi con la Porta di Dominio.

Le Porte di Dominio comunicano tra loro scambiandosi messaggi secondo il formato previsto dal protocollo di cooperazione adottato. In genere i messaggi scambiati tra le PdD contengono un header specifico che riporta i dati di protocollo. Tuttavia il formato di tali messaggi non è gestito nativamente dalle applicazioni, pertanto la PdD deve anche occuparsi di convertire i messaggi ricevuti dalle applicazioni.

Facendo riferimento a questa problematica, le funzionalità della Porta di Dominio possono essere suddivise in due gruppi:

  • Funzionalità di Cooperazione: tutto ciò che riguarda la comunicazione tra le Porte di Dominio nel rispetto del protocollo di cooperazione;

  • Funzionalità di Integrazione: tutto ciò che riguarda la comunicazione tra la Porta di Dominio e i Servizi Applicativi.

In questo documento ci occupiamo di descrivere i meccanismi, messi a disposizione da OpenSPCoop2, per rendere possibile l’integrazione dei Servizi Applicativi alla Porta di Dominio.

I componenti della PdD che gestiscono l’integrazione con i servizi applicativi vengono differenziati in due moduli distinti:

  • Porta Delegata: utilizzata come proxy dai servizi applicativi che vogliono fruire di un servizio. La configurazione di una porta delegata può essere effettuata tramite la PddConsole sulla base di quanto descritto nel Manuale di Gestione.

  • Porta Applicativa: gestisce la consegna dei contenuti applicativi presenti nei messaggi ricevuti dalla PdD. Dopo aver estratto il messaggio applicativo lo consegna al servizio applicativo destinatario secondo le impostazioni di integrazione che sono state fornite. Anche la porta applicativa può essere configurata tramite la PddConsole in accordo a quanto riportato sul Manuale di Gestione.

La configurazione delle porte delegate e applicative viene effettuata dal gestore della PdD in accordo a quelle che sono le modalità di integrazione che sono state implementate sui servizi applicativi. Le modalità di integrazione previste sono di due tipi:

  • Proxy Transparent: prevede che i servizi utilizzino le interfacce originarie del servizio per comunicare. In questo scenario il ruolo della PdD è per l’appunto quello di un proxy trasparente. Questa modalità di integrazione è molto più semplice ed elegante da utilizzare, e se ne suggerisce quindi l’uso tutte le volte che questo sia possibile.

  • Integration Manager: prevede che i servizi utilizzino le interfacce di un servizio appositamente esposto dalla PdD che permette di gestire l’integrazione mascherando la presenza del servizio originario.

Nel seguito di questa sezione descriviamo le modalità di utilizzo dei due approcci.