Gestione XML della Porta di Dominio OpenSPCoop


1. Introduzione
2. Hello World OpenSPCoop!
3. Configurazione XML della Porta di Dominio OpenSPCoop
3.1. Soggetto SPCoop
3.1.1. Attributi
3.1.2. Nested Element
3.1.3. Riferimenti
3.2. Porta Delegata
3.2.1. Attributi
3.2.2. Nested Element
3.2.3. Riferimenti
3.3. Porta Applicativa
3.3.1. Attributi
3.3.2. Nested Element
3.3.3. Riferimenti
3.4. Soggetto SPCoop Erogatore, Servizio e Azione
3.4.1. Attributi
3.4.2. Riferimenti
3.5. Servizio Applicativo
3.5.1. Attributi
3.5.2. Nested Element
3.5.3. Riferimenti
3.6. Invocazione Porta
3.6.1. Attributi
3.6.2. Nested Element
3.6.3. Riferimenti
3.7. Credenziali
3.7.1. Attributi
3.7.2. Riferimenti
3.8. Invocazione Servizio
3.8.1. Attributi
3.8.2. Nested Element
3.8.3. Riferimenti
3.9. Gestione Errore
3.9.1. Attributi
3.9.2. Nested Element
3.9.3. Riferimenti
3.10. Risposta Asincrona
3.11. SPCoop Property
3.11.1. Attributi
3.11.2. Riferimenti
3.12. Connettore
3.12.1. Attributi
3.12.2. Nested Element
3.12.3. Riferimenti
3.13. WS-Security
3.13.1. Attributi
3.13.2. Nested Element
3.13.3. Riferimenti
3.14. Validazione Contenuti Applicativi
3.14.1. Attributi
3.14.2. Riferimenti
3.15. Correlazione Applicativa
3.15.1. Attributi
3.15.2. Nested Element
3.15.3. Riferimenti
3.16. Configurazione della Porta di Dominio
3.16.1. Nested Element
3.16.2. Riferimenti
3.17. Configurazione politiche di Routing
3.17.1. Nested Element
3.17.2. Riferimenti
3.18. Accesso Registro dei Servizi
3.18.1. Nested Element
3.19. Validazione Buste E-Gov
3.19.1. Attributi
3.19.2. Riferimenti
3.20. Messaggi diagnostici
3.20.1. Attributi
3.20.2. Nested Element
3.21. Tracciamenti delle buste e-Gov
3.21.1. Attributi
3.21.2. Nested Element
4. Il Registro dei Servizi XML di OpenSPCoop
4.1. Accordo di Cooperazione
4.1.1. Attributi
4.1.2. Nested Element
4.1.3. Riferimenti
4.2. Accordo di Servizio
4.2.1. Attributi
4.2.2. Nested Element
4.2.3. Riferimenti
4.3. Azione di un accordo di Servizio
4.3.1. Attributi
4.3.2. Riferimenti
4.4. Port-Type
4.4.1. Attributi
4.4.2. Nested Element
4.4.3. Riferimenti
4.5. Azione (Operation) di un Port Type
4.5.1. Attributi
4.5.2. Nested Element
4.5.3. Riferimenti
4.6. Message
4.6.1. Attributi
4.6.2. Nested Element
4.6.3. Riferimenti
4.7. Porta di Dominio
4.7.1. Attributi
4.7.2. Riferimenti
4.8. Soggetto SPCoop
4.8.1. Attributi
4.8.2. Nested Element
4.8.3. Riferimenti
4.9. Servizio
4.9.1. Attributi
4.9.2. Nested Element
4.9.3. Riferimenti
4.10. Servizio Correlato
4.11. Differenziazione connettore per specifica Azione/Fruitore di un Servizio
4.11.1. Attributi
4.11.2. Nested Element
4.12. Fruitore
4.12.1. Attributi
4.12.2. Nested Element
4.12.3. Riferimenti
5. Esempi di utilizzo di OpenSPCoop
5.1. Scenario di Riferimento
5.2. Funzionalità di Cooperazione
5.2.1. Profilo di Collaborazione: OneWay
5.2.2. Profilo di Collaborazione: Sincrono
5.2.3. Profilo di Trasmissione: Consegna affidabile e senza duplicati
5.2.4. Scadenza temporale associata ad una busta eGov
5.2.5. WS-Security: Funzionalità Generali
5.2.6. WS-Security: Autorizzazione dei mittenti di una busta eGov
5.2.7. Profili di Collaborazione Asincroni
5.2.8. ID di Collaborazione
5.2.9. Consegna in Ordine
5.2.10. Cooperazione applicativa con SOAP With Attachments
5.2.11. Accordo di Servizio, Port-Types e operations
5.2.12. Profilo di gestione della busta e-Gov
5.2.13. Adeguamento degli accordi alle specifiche CNIPA
5.2.14. Dominio di cooperazione: accordi di cooperazione e servizi composti
5.2.15. Import/Export degli accordi nel registro dei servizi
5.3. Funzionalità di Integrazione
5.3.1. Autenticazione dei Servizi Applicativi
5.3.2. Autorizzazione dei Servizi Applicativi
5.3.3. Implementazioni del servizio Ricezione Contenuti Applicativi
5.3.4. Implementazioni del servizio Consegna Contenuti Applicativi
5.3.5. Propagazione delle informazioni eGov ai Servizi Applicativi
5.3.6. Riferimento per nome ai Servizi Applicativi
5.3.7. Imbustamento Contenuti Applicativi
5.3.8. Identificazione dinamica dei servizi erogati
5.3.9. Servizio di Message Box
5.3.10. Associazione di diversi Servizi Applicativi ad una stessa porta applicativa
5.3.11. Correlazione applicativa tra contenuti applicativi e id e-Gov
5.3.12. Validazione dei contenuti applicativi delle richieste di servizio e delle buste eGov
5.3.13. Header di Integrazione per i Servizi Applicativi
5.3.14. Modalità di trasmissione per un profilo oneway
5.3.15. Modalità di gestione Stateless/Stateful
5.4. Integrazione dei Servizi Applicativi
5.5. Funzionalità Avanzate
5.5.1. Gestione di più domini di servizi sulla stessa porta di dominio
5.5.2. Gestione avanzata dell’errore nell’invocazione di un Servizio Applicativo
5.5.3. Gestione avanzata dell’errore ritornato ad un Servizio Applicativo che invoca una Porta Delegata
5.5.4. Routing
5.5.5. Autorizzazione delle buste eGov in ingresso

1. Introduzione

Questa guida documenta la sintassi, nel linguaggio XML, utilizzata per la gestione della Porta di Dominio e del Registro dei Servizi OpenSPCoop.

OpenSPCoop supporta per le configurazioni i seguenti repository:

  • Configurazione Porta di Dominio

    • Database Relazionale

    • File XML

  • Configurazione Registro dei Servizi

    • Database Relazionale

    • File XML

    • WEB/HTTP

    • UDDI

Nelle sezioni seguenti si farà riferimento esclusivamente alla metodologia XML, sia per quanto riguarda la Porta di Dominio che il Registro dei Servizi. Occorre però precisare che per i due componenti, sulla base delle specifiche esigenze, si possono adottare scelte metodologiche assolutamente indipendenti.

Al fine di rendere maggiormente incisiva la presentazione degli argomenti, introduciamo uno scenario d’uso esemplificativo, illustrato nella figura seguente, che mostra un tipico scenario d’interazione tra due servizi applicativi in accordo allo standard SPCoop. A questo stesso scenario faranno poi riferimento anche la maggior parte degli esempi d’uso mostrati nel resto di questa guida (vedi Sezione 5, «Esempi di utilizzo di OpenSPCoop»).

Scenario Introduttivo

Figura 1. Scenario Introduttivo


Nello scenario è possibile identificare un Sistema Informativo Locale che eroga uno specifico servizio applicativo. Il Sistema può essere contattato dall’esterno solo tramite la Porta Applicativa del servizio, presente sulla Porta di Dominio del proprio Dominio di Servizi. Sull’altro versante, il Sistema Informativo Locale che intende fruire del servizio può farlo tramite la Porta Delegata del servizio, presente sulla Porta di Dominio del proprio Dominio di Servizi.

Entrambe le Porte di Dominio dovranno condividere l’accesso a un Registro dei Servizi contenente l’elenco dei Soggetti abilitati alle comunicazioni SPCoop, l’elenco dei servizi erogati da ogni Soggetto e i relativi accordi di servizio.