Release Notes di OpenSPCoop2


1. Versione 2.2.1

In questa sezione sono descritte le principali nuove funzionalità e i problemi risolti nella versione 2.2.1 di OpenSPCoop. Per un elenco dettagliato dei problemi risolti e per maggiori dettagli sulle funzionalità si può invece far riferimento al file ChangeLog di questa versione.

1.1. Evoluzioni – Porta di Dominio

Sono state apportate le seguenti modifiche alla porta di dominio

  • Diagnostica Generale; perfezionati i messaggi diagnostici emessi dalla Porta per quanto concerne:

    • analisi del messaggio in ingresso

    • processo di autenticazione

    • processo di autorizzazione

    • validazione dei contenuti

    • message security

    • processamento mtom

    Per ogni funzionalità sopra elencata viene emesso un messaggio diagnostico di livello lowDebug, se la funzionalità è in stato disabilitato, per segnalarlo. Se la funzionalità è invece abilitata viene emesso un messaggio diagnostico di livello infoIntegration che indica “funzionalità in corso …” e successivamente un ulteriore messaggio diagnostico per segnalare l’esito “funzionalità completata”, di livello infoIntegration, se non occorrono errori o un diagnostico di livello errorIntegration se viene rilevato un errore. Ogni diagnostico contiene anche il tipo di operazione che viene effettuata (ad es. il tipo di autenticazione basic/ssl, il tipo di message security signature/encrypt …)

  • Diagnostica relativa alla risoluzione del nome di un host; in presenza di un problema di risoluzione del nome dell’host durante la fase di consegna di un messaggio applicativo o di inoltro di una busta, veniva generato un messaggio generico non abbastanza esemplificativo della problematica. Ad esempio utilizzando una url di consegna ‘http://serverDemo/servicè si otteneva il diagnostico:

    • Errore avvenuto durante la consegna HTTP: serverDemo

    Con la nuova diagnostica si otterrà invece il seguente messaggio:

    • Errore avvenuto durante la consegna HTTP: unknown host ‘serverDemò

  • Dump binario nei servizi in ingresso; aggiunta la possibilità di configurare un dump binario dei dati ‘RAW’ che vengono scambiati nei servizi in ingresso sulla Porta Delegata e Porta Applicativa. La configurazione (attivabile nella sezione Configurazione in modalità avanzata della pddconsole) permette di abilitare il dump in maniera selettiva sui due canali (PD o PA). I dati ‘RAW’ vengono registrati su un file di log dedicato al canale:

    • Canale PD: openspcoop2_dumpBinarioPD.log

    • Canale PA: openspcoop2_dumpBinarioPA.log

  • Envelope SOAP senza Fault su errore trasporto; una risposta ben formata (envelope SOAP senza Fault) presente in un http-body di una risposta insieme ad un codice di trasporto 500 non è compatibile con quanto indicato nel basic profile (R1111, (http://www.ws-i.org/profiles/basicprofile-1.1.html#HTTP_Success_Status_Codes). Tale comportamento non veniva segnalato in alcun modo dalla PdD a parte la segnalazione del diagnostico di errore per quanto concere l’errore di trasporto. Questo provocava confusione, poiché si vedeva nei diagnostici un errore di consegna ma poi la transazione terminava correttamente. Con il fix è stato aggiunto un diagnostico che evidenzia il comportamento anomalo. Inoltre è attivabile tramite opzione su file di proprietà la possibilità di far terminare in errore le transazioni che presentano questo caso anomalo. Per backward compatibility è rimasto il comportamento di non far terminare con errore la transazione, ma però viene sollevato un opportuno diagnostico.

  • WS-Security; Implementata una nuova classe ‘org.openspcoop2.security.utils.ExternalPWCallback’ con la funzione di PWCallback nel contesto WSSecurity, che legge la password dinamicamente da un file. Il file da utilizzare può essere indicato nella configurazione openspcoop2.properties tramite la proprietà ‘org.openspcoop2.pdd.messageSecurity.externalPWCallback.propertiesFilè. Per default il file di properties è atteso in /etc/openspcoop2/wssPassword.properties.

1.2. Miglioramenti alla Console di Gestione

Sono state apportate le seguenti modifiche alla pddConsole:

  • Informazioni di Runtime; rinominata la sezione ‘Configurazione Sistemà in ‘Runtimè e aggiunto un collegamento diretto sul menù a sinistra della console. Questa sezione visualizza le informazioni sull’ambiente runtime della PdD, accedendo alle informazioni JMX di ogni singolo nodo. Estese le informazioni visualizzate in modo da poter conoscere anche le connessioni http in uscita attivate dal modulo InoltroBuste, le connessioni http in uscita attivate dal modulo ConsegnaContenutiApplicativi, le connessioni attive verso il database, e le connessioni attive verso il broker jms. Inoltre in questa sezione è possibile modificare il livello di logging della PdD senza doverla riavviare.

  • Personalizzazione del Titolo e Favicon; aggiunta la possiblità di personalizzare il titolo visualizzato sulla console, attraverso una proprietà nel file di configurazione ‘console.properties’ che indica il titolo da visualizzare. È stata inoltre aggiunta una favicon associata alla pddConsole.

1.3. Identificativi Protocollo Trasparente

Identificativi della Richiesta e della Risposta; reso parametrico la generazione degli identificativi della richiesta e della risposta sul protocollo trasparente. La proprietà ‘org.openspcoop2.protocol.trasparente.id.uuid’ nel file trasparente.properties pilota tale gestione. In caso la proprietà sia abilitata vengono generati sempre nuovi UUID. Altrimenti gli identificativi vengono generati con il formato ‘yyyyMMddHHmmssSSS-uuidDellaTransazione[-response]’. Il default è impostato per la generazione di identificativi come nuovi UUID.

1.4. Bug Fix

Sono state apportati i seguenti bug fix:

  • Creazione Accordo Parte Comune con wsdl contenente parte Implementativa; quando si procedeva alla creazione di un accordo di servizio parte comune utilizzando un wsdl che conteneva la parte implementativa (Binding e Service), la creazione andava in errore. L’errore segnalava impropriamente che il wsdl dichiarava più volte uno stesso portType.

  • Nuova versione di un Accordo Parte Comune Quando veniva registrata una nuova versione di un accordo di servizio parte comune, non era possibile attivarla attraverso un accordo di servizio parte specifica senza prima eliminare la parte specifica che implementava la vecchia versione. L’attivazione di una nuova parte specifica che implementava la nuova versione della parte comune non era possibile soprattuto se il nome del port-type rimaneva invariato, poiché non è permesso creare più di un servizio con stesso tipo e nome erogato dallo stesso soggetto identificato anch’esso con tipo e nome. Per continuare a soddisfare il vincolo di unicità tipo/nome servizio e tipo/nome soggetto, ma poter gestire il versionamento degli accordi di servizio parte comune, è stata aggiunta la possibilità di modificare la versione della parte comune implementata da un accordo di servizio parte specifica. Con questa nuova funzionalità si potrà censire tutte le versioni dell’accordo di servizio parte comune sul registro e modificare di volta in volta la parte specifica aggiornandola rispetto all’ultima versione della parte comune (o ritornando indietro ad una precedente versione).

  • Modifica Accordo Parte Comune; la modifica di un servizio interno ad un accordo di servizio parte comune, creato a partire dal caricamento tramite wsdl, provocava un errore SQL (FK constraint violated). Il problema è stato risolto.

  • Eliminazione di un’azione da un servizio di un Accordo Parte Comune; non era possibile eliminare le azioni definite in un servizio di un accordo parte comune. Se si selezionava un’azione e poi “Rimuovi selezionati”, l’azione rimaneva presente senza segnalare alcun problema.

  • Creazione di un Accordo Parte Specifica; durante la creazione di un accordo parte specifica, se non viene indicato un servizio applicativo erogatore viene adesso segnalato un messaggio di errore. Il workflow di creazione di un accordo parte specifica erogato da un soggetto operativo sulla PdD, richiede una creazione precedente del servizio applicativo erogatore.

  • Nome PA generata automaticamente; alla creazione di un accordo parte specifica veniva generata una Porta Applicativa con un nome che non rispettava la convenzione indicata nei manuali, se l’utente sceglieva prima un servizio e poi cambiava accordo parte comune.

  • Eliminazione Accordo Parte Specifica; corretto problema che non consentiva l’eliminazione di un’accordo di servizio parte specifica se il tipo di database era Oracle.

  • Informazioni visualizzate nell’elenco dei Servizi Applicativi; nella visualizzazione in modalità avanzata non veniva riportata la tipologia del servizio applicativo nell’elenco

  • Ricerca nell’elenco dei Servizi Applicativi; la funzionalità di ricerca all’interno dell’elenco dei servizi applicativi (in presenza di un numero maggiore di 10 elementi) non memorizzava l’ultima ricerca effettuata, in caso l’operazione di filtro avvenisse come prima operazione effettuata dopo il login.

  • Message Security; se venivano create delle regole di message-security sulla richiesta o sulla risposta di una PD o PA, e successivamente lo stato veniva riportato a disabilitato, l’header WSSecurity veniva comunque generato dalla PdD. L’unica maniera per non far generare l’header era quello di eliminare tutte le proprietà precedentemente inserite, quando lo stato era ancora abilitato. La risoluzione del problema ha comportato che la PdD riconosca correttamente lo stato ‘disabilitatò.

  • Internet Explorer; su Internet Explorer 10 dopo aver effettuato il login su pddConsole veniva fornito un menù laterale con una formattazione scorretta. Selezionando uno qualsiasi dei link presenti sul menu la formattazione si correggeva.

  • Connettore custom; La gestione dell’opzione di debug, utilizzabile con l’interfaccia avanzata, non veniva correttamente gestita. L’indicazione di debug veniva ulteriormente aggiunta tra le proprietà custom oltre che impostata sul connettore. Sono inoltre stati sistemati bug minori relativi alle breadcump visualizzate.

  • Connettore custom su Internet Explorer; la modifica di un Connettore di un Servizio Applicativo per impostare il tipo custom non funzionava in InternetExplore 11.

  • Importazione Archivi; Aggiunta funzionalità di download del resoconto di una importazione. È stato inoltre aggiunto supporto per l’eliminazione degli oggetti presenti in un package precedentemente caricato.