Release Notes di OpenSPCoop2


1. Novità di OpenSPCoop-v2 rispetto ad OpenSPCoop

OpenSPCoop-v2 è una completa reingegnerizzazione del software OpenSPCoop che recepisce gran parte delle esperienze maturate nei principali progetti di cooperazione applicativa in cui OpenSPCoop è stato impiegato.

Nel seguito elenchiamo le principali novità introdotte in OpenSPCoop-v2.

1.1. Protocollo di Cooperazione personalizzabile tramite plugin

A differenza di OpenSPCoop, abilitato ad operare esclusivamente secondo la logica del protocollo SPCoop, OpenSPCoop2 basa tutte le sue funzionalità su un’astrazione del protocollo di cooperazione applicativa. OpenSPCoop2 è così in grado di supportare un qualunque protocollo di cooperazione tramite la programmazione di specifici plugin, realizzati utilizzando un apposito Software Development Kit.

L’SDK include anche un package basic che funge da acceleratore per le implementazioni di nuovi plugin, mettendo a disposizione del programmatore interi moduli con logiche di default che possono essere estesi o semplicemente adattatti per l’implementazione di un nuovo protocollo.

Un’importante protocollo realizzato come plugin di OpenSPCoop-v2 è il protocollo PdC di Acquirente Unico, usato per la realizzazione della Porta di Comunicazione del SII, l’infrastruttura di cooperazione applicativa realizzata da Acquirente Unico per la gestione dei flussi informativi relativi ai mercati dell’energia elettrica e del gas.

1.2. Supporto Web Services Standard non-SPCoop

OpenSPCoop-v2 è in grado di gestire il routing di messaggi di Web Service standard (specifica SOAP 1.1 o 1.2), erogati o fruiti dal proprio dominio, grazie alla disponibilità di un plugin di protocollo trasparente. In questo caso la configurazione dei servizi è analoga a quella necessaria per SPCoop con l’unica differenza relativa al tipo utilizzato per la definizione del Soggetto. Questo dovrà essere un tipo abbinato al protocollo trasparente (per default il tipo PROXY). Per i servizi afferenti a tale Soggetto, non ci sarà quindi trasformazione del messaggio tramite le fasi di imbustamento/sbustamento SPCoop, ma la Porta di Dominio manterrà tutte le altre proprie possibili funzioni.

1.3. Configurazione dei servizi in modalità “Local Forward”

Per le configurazioni di servizi in loopback (cioè nei casi in cui fruitore ed erogatore siano gestiti dalla stessa Porta di Dominio) è stata aggiunta la possibilità di abilitare l’inoltro locale dalla porta delegata a quella applicativa saltando il processamento interno che la PdD attua per il protocollo di cooperazione gestito (imbustamento, tracciamento, ecc). Questa configurazione consente quindi di inviare un messaggio diretto dal fruitore all’erogatore sfruttando, a livello della PdD, i soli meccanismi disponibili nei componenti di integrazione (autenticazione, autorizzazione, ws-security, ecc).

1.4. Middleware di gestione SOAP basato su CXF

OpenSPCoop-v1 utilizza Axis come SOAP Engine, un progetto di grande valore storico, ma ormai non più supportato e non conforme quindi ai più recenti standard Web Services. In OpenSPCoop-v2 questo limite è stato superato adottando il software del progetto CXF.

1.5. Drastico miglioramento del supporto di WS-Security

OpenSPCoop utilizzava la libreria wss4j per supportare le funzionalità dello standard WS-Security. In OpenSPCoop2, oltre a wss4j, è stato introdotto l’uso del software SoapBox, già in uso nel progetto UltraUSB, del quale è stata effettuata una completa personalizzazione per gli scopi della cooperazione applicativa:

  • Firma/cifratura degli attachments.

  • Cifratura con chiave simmetrica.

  • Gestione delle Certificate Revocation List per la firma digitale.

  • Possibilità di definire Keystore dinamicamente determinati tramite informazioni di protocollo.

1.6. Arricchimento dei dati di tracciamento

Le informazioni inserite dalla Porta di Dominio nelle tracce sono state arricchite con ulteriori dati:

  • Identificativi delle Porte di Dominio mittente e destinataria.

  • Identificativo del Servizio Applicativo che ha prodotto e consegnato alla Porta di Dominio il messaggio.

  • Dump XML dell’intestazione di protocollo del messaggio gestito.

  • Informazioni di dettaglio riguardanti gli allegati al messaggio (mime-type, dimensioni, ecc.)

  • Informazioni di dettaglio estratte dai dati di sicurezza presenti nel messaggio (digest)

1.7. Nuove piattaforme RDBMS supportate: HSQL e SQLServer

Sono state ampliate le piattaforme database già supportate da OpenSPCoop (MySQL, PostgreSQL e Oracle), migliorando così le possibilità di integrazione del prodotto con gli ambienti standard preesistenti. Le nuove piattaforme supportate sono:

  • MS SQLServer (http://www.microsoft.com/sqlserver)

  • HSQLDB (http://hsqldb.org/)

1.8. Nuove versione supportate dell’Application Server

Sono state ampliate le piattaforme Application Server già supportate dall’installer binario di OpenSPCoop. Le nuove piattaforme supportate sono:

  • JBossAS 6.x

  • JBossAS 7.x

  • WildFly 8.x

  • Apache Tomcat