PDD Developer Guide. Versione 1.0 del 25/08/2009

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PDD Developer Guide. Versione 1.0 del 25/08/2009"

Transcript

1 PDD Developer Guide Versione 1.0 del 25/08/2009

2 Sommario 1 Introduzione Contesto Obiettivo Riferimenti Porta di Dominio Porta di Dominio Spicca Porte delegate Configurazione Trattamenti Porte applicative Configurazione Impostazione proprietà associate Trattamenti OpenPDD Porta delegata Profili simmetrici Profili asimmetrici Porta applicativa I messaggi scambiati dalle Porte Di Dominio Eccezioni IProxy EProxy Gestione trattamenti (Handlers) Creazione nuovo trattamento Configurazione Configurazione Piattaforma Servizi Registro SPICCA Utilizzo Servizio SicaInquiryOperations Utilizzo Servizio SicaPublishOperations RegSPICCA Type PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 2

3 IL CONTENUTO DEL PRESENTE DOCUMENTO PUÒ ESSERE RIPRODOTTO, IN TOTO O IN PARTE, PER TUTTI GLI SCOPI FUNZIONALI ALL ADESIONE AL SISTEMA SPICCA DI REGIONE CAMPANIA ED È ESCLUSO L UTILIZZO A FINI DI LUCRO. PER L UTILIZZO DI QUANTO DI SEGUITO RIPORTATO SI DOVRÀ, IN TUTTI I CASI, CITARE COME FONTE IL PRESENTE DOCUMENTO. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 3

4 1 Introduzione Questo documento descrive come sviluppare e configurare servizi nell ambito della Porta di Dominio Spicca (di seguito PDD). Il medesimo è stato realizzato in collaborazione con Vitrociset S.p.a. in quanto ditta aggiudicataria dell appalto concorso per la realizzazione del Sistema Regionale per la Cooperazione Applicativa in Sicurezza della Regione Campania. 1.1 Contesto Il presente documento si inserisce nell ambito della documentazione relativa al progetto PDD e costituisce la guida per lo sviluppatore in ambito Porta di Dominio. Per una descrizione dettagliata dell architettura della Porta di Dominio vedi [1]. 1.2 Obiettivo Obiettivo del presente documento è quello di mettere a disposizione dello sviluppatore le informazioni per garantire al medesimo le conoscenze della PDD al fine di realizzare l interfacciamento tra essa ed il SIL (Sistema Informativo Locale). 1.3 Riferimenti [1] PDD SPICCA: Architettura del software [2] PDD SPICCA: Manuale di installazione e configurazione 1.4 Porta di Dominio La PDD Spicca, così come previsto nel modello SPCoop, é un componente software che funge da adattatore fra due reti: il SPC e la rete di Regione Campania. Mentre SPC, di seguito indicata come rete nazionale, interconnette tutti gli enti pubblici, la rete regionale raggruppa sistemi server, PC, servizi e, più in generale, risorse interne. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 4

5 Una generica PDD, così come previsto dal modello SPCoop, consente ad una PA che espone i propri servizi di comunicare con altre PA condividendo ed adottando gli stessi protocolli (in primis busta e Gov). Ogni ente é in grado di fungere sia da «erogatore» che da «fruitore» di uno specifico servizio. É quindi facile comprendere che la PDD è un componente a due facce: quella esterna deve aderire ad un set di standard per consentire l'interoperabilità con le PDD di altre PA (busta e Gov), mentre quella interna é dipendente dalle modalità di interconnessione con le risorse interne A seconda che una data PDD svolga il ruolo di «erogatore» o di «fruitore» viene chiamata, rispettivamente «Porta Applicativa» o «Porta Delegata». Seguendo un paradigma meglio noto al lettore tecnico, la PDD viene chiamata Porta Delegata quando agisce come client e Porta Applicativa come server. Le comunicazioni attraverso la rete nazionale avvengono sempre fra Porte Delegate e Porte Applicative. La «Cooperazione Applicativa» (la logica che abilita applicazioni e infrastrutture diverse ad interagire) prevede che ogni Porta Di Dominio sia logicamente suddivisa in una componente di «Cooperazione» ed una di «Integrazione»: la prima, rivolta verso l'esterno della PDD, é incaricata delle comunicazioni fra Porte Di Dominio, mentre la seconda interagisce con la logica e l'architettura dell'infrastruttura che deve servire. 2 Porta di Dominio Spicca La PDD Spicca, così come indicato in precedenza, permette la comunicazione tra servizi web secondo determinate modalità. Le componenti principali che entrano in gioco sono la porta delegata ed una controparte applicativa. Nei paragrafi che seguono sono descritte in dettaglio le modalità di creazione e configurazione di questi componenti. Sebbene tali informazioni non siano di stretto interesse per lo PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 5

6 sviluppatore, per esaustività del documento, si ritiene utile riportare quanto segue al fine di dimostrare le potenzialità della PDD Spicca. Si sottolinea che le azioni descritte saranno di competenza dell Amministratore della PDD Spicca. 2.1 Porte delegate La porta delegata è il componente client che usufruisce di un servizio web interagendo con una porta applicativa secondo le specifiche emanate dal CNIPA Configurazione Per poter istanziare una porta delegata è necessario configurarla opportunamente nel configuratore della PDD SPICCA, come di seguito sintetizzato. Una volta effettuato l accesso al configuratore della PDD Spicca cliccare sulla voce del menu orizzontale Porte>>Porte Delegate (Figura 1). La creazione di una nuova porta Delegata prevede i seguenti passi: 1. cliccare sul pulsante add new in basso a sinistra. 2. valorizzare i campi presenti nella Figura 2, dove: Nome Servizio: nome della porta delegata Profilo: profilo di comunicazione utilizzato dalla porta delegata. Tipo: il tipo di porta, Delegata. Invoker: invoker da utilizzare (vedi rif. [1] par. 4.8). descrizione: eventuale descrizione della porta creata. 3. cliccare sul pulsante aggiungi (Figura 3). 4. cliccare sul pulsante dettagli (Figura 4). 5. aggiungere i campi utilizzando il pulsante add new (Figura 5): EndPoint: endpoint del EProxy (vedi rif. [1] par. 4.5) Class: classe che implementa la porta che si sta creando operationname: azione servizionome: nome servizio serviziotipo: tipo di servizio le specifiche impongono il valore: SPC patype: le specifiche impongono il valore: SPC pacode: PAGenerica patelematicaddress: indirizzo telematico PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 6

7 Figura 1 Porta Delegata 1 Figura 2 Porta Delegata 2 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 7

8 Figura 3 Porta Delegata 3 Figura 4 Porta Delegata 4 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 8

9 Figura 5 Porta Delegata 5 Figura 6 Porta Delegata 6 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 9

10 2.1.2 Trattamenti La porta delegata può avere la necessità di utilizzare dei Trattamenti da applicare ai messaggi in ingresso o in uscita (vedi [1]), tali trattamenti vanno configurati utilizzando il configuratore per PDD. Una volta effettuato l accesso al configuratore per PDD cliccare sulla voce del menu orizzontale Porte>>Porte Delegate (Figura 1). Per aggiungere un trattamento seguire i seguenti passi: 1. cliccare sul pulsante trattamenti associati alla porta (Figura 7) 2. cliccare sul pulsante Add New (Figura 8) 3. valorizzare i campi (Figura 9): Porta: nome della porta delegata a cui associare il trattamento Componente: trattamento da associare Contesto: contesto di riferimento (client o server) Flusso: flusso di riferimento (Request o Response) Ordinamento: nel caso siano configurati più trattamenti Abilitato: indica se il trattamento è abilitato o meno Figura 7 Porta Delegata 7 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 10

11 Figura 8 Porta Delegata 8 Figura 9 Porta Delegata Porte applicative La Porta Applicativa è la componente server di una PDD ed è interrogata dalle componenti Porta Delegata di altri domini. Una Porta Applicativa consente ad un sistema informativo risiedente in un altro dominio di usufruire di un servizio erogato da un SIL interno ad un dominio. Essa, fondamentalmente, contiene le informazioni necessarie alla Porta di Dominio per individuare il SIL interno al dominio cui inoltrare una busta e Gov ricevuta. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 11

12 2.2.1 Configurazione Per poter richiamare una porta applicativa è necessario configurarla opportunamente nel configuratore per PDD. Dopo aver avuto accesso all applicazione, cliccare su Porte>>Porte Applicative. Figura 10 Porta Applicativa 1 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 12

13 Cliccare sul pulsante relativo alla funzione 'Aggiungi Nuovo' Impostare i campi della form riportati di seguito: Figura 11 Porta Applicativa 2 Figura 12 Porta Applicativa 3 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 13

14 La porta a cui è destinata la busta in ricezione viene identificata attraverso le informazioni contenute nell'intestazione della stessa busta, ovvero Servizio ed Azione. É importante al tal fine impostare come Nome Servizio della porta applicativa la concatenazione del nome del servizio con il nome dell'azione separate dal carattere '_'. Ad esempio, ad una richiesta fatta da una porta delegata contenente le seguenti intestazioni: <egov_it:servizio tipo="spc">qualificazionepdd</egov_it:servizio> <egov_it:azione>testsincrono</egov_it:azione> corrisponderà la ricerca di una porta applicativa con nome: QualificazionePDD_testSincrono. Selezionare quindi il tipo di porta APPLICATIVA dalla relativa casella a tendina. É necessario inoltre scegliere uno dei quattro profili di collaborazione disponibili e l'invoker associato: IntegrationManager se di tipo sincrono (OneWay e Sincrono), ASAPIntegrationManager se asincrono (sia simmetrico che asimmetrico) Impostazione proprietà associate Per ogni porta è necessario specificare un insieme di proprietà obbligatorie che definiscono la natura della porta, elencate di seguito: class definisce la classe che implementa il profilo di collaborazione, le implementazioni attualmente disponibili sono le seguenti: com.enterpriseda.pdd.level2.pddportaapplicativaoneway com.enterpriseda.pdd.level2.pddportaapplicativasincrona com.enterpriseda.pdd.level2.pddportaapplicativaasincronasimmetrica com.enterpriseda.pdd.level2.pddportaapplicativaasincronaasimmetrica endpoint l'indirizzo del servizio interno da richiamare. servizio.nome rappresenta il nome del servizio interno operationname rappresenta il nome del metodo esposto dal servizio interno Trattamenti La porta applicativa può avere la necessità di utilizzare dei Trattamenti da applicare ai messaggi in ingresso o in uscita (vedi [1]), tali trattamenti vanno configurati utilizzando il configuratore per PDD. Una volta effettuato l accesso al configuratore per PDD cliccare sulla voce del menu orizzontale Porte>>Porte Applicative (Figura 13). Per aggiungere un trattamento seguire i seguenti passi: PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 14

15 1. cliccare sul pulsante trattamenti associati alla porta (Figura 14) 2. cliccare sul pulsante Add New (Figura 15) 3. valorizzare i campi(figura 16): Porta: nome della porta applicativa a cui associare il trattamento Componente: trattamento da associare Contesto: contesto di riferimento (client o server) Flusso: flusso di riferimento (Request o Response) Ordinamento: nel caso siano configurati più trattamenti Abilitato: indica se il trattamento è abilitato o meno Figura 13 Porta Applicativa 4 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 15

16 Figura 14 Porta Applicativa 5 Figura 15 Porta Applicativa 6 PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 16

17 3 OpenPDD Figura 16 Porta Applicativa 7 La PDD Spicca supporta, quale modalità di integrazione verso i SIL interni alla Regione Campania, le interfacce OpenPDD, ovvero un set di API, interfacce e classi astratte che normalizza e standardizza l accesso dei SIL ai servizi della PDD. Per mezzo delle API di OpenPDD i SIL accedono alle PDD in maniera snella e semplificata potendo concentrarsi sui contenuti applicativi e potendo ignorare la complessità derivante dalla Porta Di Dominio e dalla Busta di e Gov. In un ottica semplificata OpenPDD definisce sia l interfaccia tra i SIL che usufruiscono della Porta di Dominio e la Porta di Dominio stessa, consentendo di svincolare i primi dalla seconda, sia l interfaccia posta tra la Porta di Dominio ed il sistema di trasporto dei messaggi XML utilizzato dalla Porta di Dominio. OpenPDD Livello 2 é una libreria di interfaccia fra le Porte Di Dominio intese come implementazione dei servizi di Integrazione e Cooperazione ed i SIL che per essere abilitati alla Cooperazione Applicativa necessitano dei servizi della Porta Di Dominio stessa, sia come Porta Delegata che come Porta Applicativa. In particolare OpenPDD L2 é uno strato di astrazione posto fra i SIL e la componente di Integrazione della Porta Di Dominio. OpenPDD Livello 1 é invece una libreria che puo' essere utilizzata dagli implementatori di Porte Di Dominio al fine di realizzare un prodotto scalare e ulteriormente estendibile da parte degli sviluppatori di applicazioni e servizi. Le librerie di livello 1 sono interamente basate su standard aperti e librerie liberamente disponibili su internet quali quelle contenute nel Java web Services Developer Pack 1.3. (SAAJ, JAXB, JAX RPC). Si sottolinea che nello specifico degli sviluppatori di SIL risulta di primario interesse solo OpenPDD Livello 2. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 17

18 Figura 17 OpenPDD 3.1 Porta delegata Impiegare una Porta Delegata con le interfacce OpenPDD é estremamente semplice. Vediamolo con alcuni esempi: Profili simmetrici Esempio di utilizzo di Porta delegata con profilo sincrono PDDPortaDelegataBuilder pdb = PDDPortaDelegataBuilderFactory.newInstance(). newportadelegatabuilder(); PortaDelegata portadelegata = pdb.newportadelegata(id_porta,(object)"test" ); Richiesta richiesta = portadelegata.newrichiesta(); String contenutoapplicativo = InputStream contenutoapplicativo = new StringBufferInputStream( contenuto_applicativo); Contenuto body = richiesta.("body", "application/xml", contenutoapplicativo); Risposta r = portadelegata.send(richiesta); Contenuto[] contenuti = r.getcontenuti(); for (int i = 0; i < contenuti.length; i++) { InputStream is = contenuti[i].getinputstream(); byte[] inbuff = new byte[is.available()]; is.read(inbuff); //interpretazione del contenuto applicativo PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 18

19 }... Tramite la factory PDDPortaDelegataBuilder si ottiene una istanza della porta delegata specificata,da questa si ricava un oggetto Richiesta e lo si arricchisce con il contenuto applicativo. Il metodo send della PortaDelegata contiene tutta la logica per l'invio della richiesta e la ricezione della risposta dalla relativa porta applicativa. Esempio di utilizzo di Porta delegata con profilo one way PDDPortaDelegataBuilder pdb = PDDPortaDelegataBuilderFactory.newInstance(). newportadelegatabuilder(); PortaDelegata portadelegata = pdb.newportadelegata(id_porta,(object) "test"); Richiesta richiesta = portadelegata.newrichiesta(); String contenutoapplicativo = InputStream contenutoapplicativo = new StringBufferInputStream( contenuto_applicativo); Contenuto body = richiesta.addcontenuto("body", "application/xml", contenutoapplicativo); Risposta r = null; portadelegata.send(richiesta); In quest'ultimo esempio, ovviamente, non è necessario interpretare il contenuto applicativo. Nel caso si utilizzi una porta delegata da un client java da console, è necessario inizializzare manualmente il configuratore come illustrato di seguito, (pddconfpath contiene il percorso dove è presente il file con le informazioni necessarie al collegamento al database) Properties proprieta = new Properties(); File file = new File(pddConfPath); FileInputStream fis = new FileInputStream(file); proprieta.load(fis); Configurator configurator = Configurator.getInstance(proprieta); try { configurator.loadall(); } catch (Exception ex) { throw new ConfiguratorException("Impossibile inizializzare il configuratore: " + ex); } finally { if (fis!= null) { fis.close(); PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 19

20 } } Profili asimmetrici Esempio di utilizzo di Porta delegata con profilo asincrono asimmetrico import org.openpdd.level2.portadelegata; import org.openpdd.level2.portadelegatabuilder; import org.openpdd.level2.portadelegatabuilderfactory; import org.openpdd.level2.messages.contenuto; import org.openpdd.level2.messages.richiesta; import org.openpdd.level2.messages.risposta; import java.io.bytearrayinputstream; import java.io.inputstream; public void testportaasincronaasimmetrica() throws java.lang.exception { PortaDelegataBuilder builder = PortaDelegataBuilderFactory.newInstance().newPortaDelegataBuilder(); PortaDelegata pd = builder.newportadelegata("myportadelegata"); //istanziazione di una nuova richiesta Richiesta richiesta = pd.newrichiesta(); //popolazione della richiesta richiesta.addcontenuto(id, mimetype, new ByteArrayInputStream(...)); Risposta risposta = pd.send(richiesta); //invia richieste di stato fino a quando non si riceve la risposta definitiva while (risposta.hasricevuta()) { richiesta = pd.newrichiesta(risposta); risposta = pd.send(richiesta); } Contenuto[] contenuti = risposta.getcontenuti(); for (int i = 0; i < contenuti.length; i++) { InputStream is = contenuti[i].getinputstream(); byte[] inbuff = new byte[is.available()]; is.read(inbuff); //interpretazione del contenuto applicativo... PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 20

21 } } In questo esempio, una volta inviata la prima richiesta ed ottenuta la risposta, si avvia un ciclo che invia richieste di stato fino a quando non si riceve una risposta applicativa. Ovviamente, in un caso reale, sara' bene distanziare le richieste di stato in maniera opportuna onde non sovraccaricare la rete e la Porta Applicativa remota. Esempio di utilizzo di Porta delegata con profilo asincrono simmetrico import org.openpdd.level2.portadelegata; import org.openpdd.level2.portadelegatabuilder; import org.openpdd.level2.portadelegatabuilderfactory; import org.openpdd.level2.messages.contenuto; import org.openpdd.level2.messages.richiesta; import org.openpdd.level2.messages.risposta; import java.io.bytearrayinputstream; import java.io.inputstream; public void testportaasincronasimmetrica() throws java.lang.exception { PortaDelegataBuilder builder = PortaDelegataBuilderFactory.newInstance().newPortaDelegataBuilder(); PortaDelegata pd = builder.newportadelegata("myportadelegata"); //istanziazione di una nuova richiesta Richiesta richiesta = pd.newrichiesta(); //popolazione della richiesta richiesta.addcontenuto(id, mimetype, new ByteArrayInputStream(...)); //istanziazione della porta applicativa di callback e attivazione PortaApplicativaCallback pcb = new PortaApplicativaCallback(); Risposta risposta = pd.send(richiesta, pcb); //la risposta ottenuta é una ricevuta. La risposta applicativa arrivera' su PortaApplicativaCallback } Nel profilo di collaborazione asincrono simmetrico, come si può vedere é necessaria la coppia Porta Applicativa Delegata su entrambi i fronti. Non affronteremo qui' gli argomenti legati all'implementazione di una Porta Applicativa (ampiamente descritti nella sezione successiva), ma ci concentriamo sul fatto che per inviare una richiesta é necessario avere prima istanziato una Porta Applicativa e passarne il riferimento al metodo send. Questo metodo produrra' come risposta una semplice ricevuta, mentre la risposta applicativa vera e propria verra' ottenuta, in un secondo momento, dalla Porta Applicativa sopra istanziata (nell'esempio PortaApplicativaCallback). PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 21

22 3.2 Porta applicativa La realizzazione di un servizio applicativo e la sua «esposizione» al mondo esterno ruotano attorno all'implementazione di una interfaccia: org.openpdd.level2.portaapplicativa. Questa interfaccia definisce il contratto con cui la Porta Di Dominio interagisce con la Porta Applicativa in maniera semplificata ma efficace. PortaApplicativa definisce essenzialmente: costanti; metodi che forniscono le «meta informazioni» della porta (getid, getprofilodicollaborazione), utilizzati dalla Porta Di Dominio per conoscere le informazioni di base della Porta Applicativa; metodi «amministrativi» (bind, rebind, unbind), utilizzati cioé per le fasi di gestione della porta da parte della Porta Di Dominio (attivazione e disattivazione); metodi «operativi» (receive), utilizzati per servire le richieste vere e proprie. Per esporre un servizio attraverso una porta applicativa, non è strettamente necessario sviluppare una classe che veicoli i messaggi, basta configurare opportunamente la Porta Di Dominio, che eseguirà il dispatching delle richieste provenienti da porte remote alla Porta Applicativa appropriata. In senso contrario, la Porta Applicativa, una volta ricevuta e interpretata la richiesta, produce la risposta istanziandola per mezzo dell'oggetto PABinding e la rende al driver il quale si incaricherà, sfruttando i servizi della Porta Di Dominio, di inviarla alla porta remota. In particolare per ogni profilo di collaborazione esiste una implementazione concreta della porta applicativa che implementa i metodi dell'interfaccia PortaApplicativa, nel caso di porta applicativa è di interesse il metodo receive: receive(richiesta richiesta, Risposta risposta) Questo metodo deve essere invocato dal driver per i Profili Di Collaborazione Sincrono, One Way e Asincrono Asimmetrico e la Porta Applicativa (eccetto che per il profilo one way) produce una risposta come valore di ritorno del metodo. receive(richiesta richiesta, Risposta risposta, PortaDelegata portadelegata) Questo metodo deve essere invocato dal driver per il Profilo Di Collaborazione Asincrono Simmetrico e la Porta Applicativa produce una conferma di ricezione come valore di ritorno del metodo oltre ad utilizzare la Porta Delegata fornita come parametro per l'invio differito della risposta. La porta delegata deve essere istanziata dal driver e puo' essere anche di tipo «usa e getta», nel senso che puo' essere una porta effimera utilizzata soltanto nell'ambito della collaborazione attiva. Le politiche di istanziazione e configurazione delle Porte Delegate cosi' istanziate dipendono dal driver e dalla Porta Di Dominio. In entrambi i casi, la Porta Applicativa che riceve la chiamata puo' sollevare due eccezioni: una java.lang.illegalstateexception se il Profilo di Collaborazione della porta non ammette la chiamata al metodo o una org.openpdd.level2.malformedmessageexception se il messaggio non appare ben formato. 3.3 I messaggi scambiati dalle Porte Di Dominio L'essenza della Porta Applicativa sta nella sua capacita' di interpretare le richieste e fornire le risposte adeguate. A seconda del profilo di collaborazione supportato il metodo di interesse é uno dei receive. Attraverso questo metodo la Porta Di Dominio, ricevendo una richiesta da una Porta Delegata, «attiva» la Porta Applicativa passandole il messaggio di richiesta e aspettandosi un messaggio di risposta. I messaggi PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 22

23 così' come sono modellati dalle interfacce org.openpdd.level2.messages.richiesta e org.openpdd.level2.messages.risposta altro non sono che involucri che consentono di accedere, oltre che ad informazioni di alto livello, ai contenuti applicativi veri e propri modellati da org.openpdd.level2.messages.contenuto. Quest'ultima interfaccia in particolare consente di trasportare dati nel senso piu' generico e quindi non tipizzato. I messaggi possono avere contenuti applicativi o meno. In caso affermativo questi possono essere uno o piu' di uno, altrimenti la parte significativa del messaggio risiedera' non nei contenuti applicativi da esso trasportati ma dalle informazioni fornite a corredo inerenti, ad esempio, eventuali eccezioni, identificativi di ricevuta o di richiesta stato ecc. Come già visto negli esempi, per popolare i messaggi con contenuti applicativi é possibile invocare il metodo addcontenuto degli oggetti Richiesta e Risposta, mentre per recuperare i contenuti applicativi é disponibile il metodo getcontenuti. Si riportano alcune informazioni sui metodi da utilizzare, rimandando i dettagli alle specifiche standard di OpenPDD: hasfeature É il metodo invocato dalle applicazioni per verificare se il driver supporta una data feature. La documentazione Javadoc riporta le costanti che indicano le feature previste. Se la feature passata come argomento non é fra quelle previste il driver deve sollevare una java.lang.illegalargumentexception. getenvelope Se il driver fornisce supporto per le classi del package org.openpdd.level2.envelope (in tal caso deve ritornare true all'invocazione di getenvelope(feature_egov_envelope)) questo metodo deve ritornare un oggetto org.openpdd.level2.envelope.envelope che a sua volta fornisce accesso, direttamente o indirettamente, a tutti gli oggetti modellati dalle interfacce del package org.openpdd.level2.envelope. validate Consente alle applicazioni di livello 3 di validare il messaggio e verificare se può essere inviato senza sollevare eccezioni dovute al contenuto del messaggio stesso. Non vi é alcuna garanzia che le applicazioni invochino questo metodo prima di inviare il messaggio. Se il messaggio risulta non essere valido deve essere sollevata una org.openpdd.level2.malformedmessageexception che riporti nel miglior dettaglio possibile il motivo del fallimento della validazione. isreadonly Indica se il messaggio é disponibile alle applicazioni di livello 3 in sola lettura. In tal caso ogni tentativo di modifica e alterazione del messaggio deve sollevare una java.lang.illegalstateexception. Nella maggior parte dei casi i messaggi in sola lettura sono quelli ricevuti, mentre quelli istanziati ma non ancora inviati devono essere disponibili per la modifica. I messaggi istanziati per l'invio devono mutare il loro stato in read only una volta inviati. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 23

24 getprevious Consente di accedere al messaggio precedente nella collaborazione del messaggio corrente. A partire dall'ultimo messaggio della collaborazione attraverso questo metodo invocato ciclicamente é possibile ricostruire l'intera catena dei messaggi. Ogni messaggio di risposta deve avere un messaggio precedente che rappresenta la richiesta da cui é stato originato. Un messaggio di richiesta avrà dei messaggi precedenti nel caso di collaborazioni complesse e di comunicazioni asincrone. getmaxcontentsize Definisce il numero massimo di contenuti applicativi ammessi per un dato messaggio. Questo valore può dipendere dal messaggio stesso (es. le ricevute di ricezione possono non ammettere contenuti applicativi) o dal driver stesso (es. le Porte Di Dominio che non supportano gli attachment alla busta di egov ritorneranno un valore massimo di 1 e trasporteranno tutti i contenuti applicativi nel body della busta). getcontenuti Consente di recuperare i contenuti applicativi legati al messaggio. Se non vi sono contenuti il risultato puo' essere null. addcontenuto Imposta un contenuto del messaggio fornendone il corpo. Il driver deve costruire un oggetto org.openpdd.level2.messages.contenuto e fornirlo come risultato in maniera tale che l'applicazione possa impostare gli attributi del contenuto. L'invocazione del metodo sollevera' una org.openpdd.level2.messages.contentsizeexceededexception se il messaggio non puo' accettare ulteriori contenuti (vedi getmaxcontentsize) o una java.lang.illegalstateexception se il messaggio é in sola lettura. hascollaborazione e getcollaborazione Consentono di accedere ai dati della collaborazione cui eventualmente appartiene il messaggio. hasrichiestastato e getrichiestastato (solo Richiesta) Se il messaggio é una richiesta di stato questi metodi consentono l'accesso ai particolari relativi. hasricevuta e getricevuta (solo Risposta) Se il messaggio é una ricevuta di ricezione questi metodi consentono l'accesso ai particolari relativi. haseccezioni e geteccezioni (solo Risposta) Se il messaggio contiene una o piu' eccezioni questi metodi consentono l'accesso ai particolari relativi. addeccezione (solo Risposta) Consente di aggiungere i dati di una eccezione ad una risposta. Se il messaggio é in sola lettura questo metodo deve sollevare una java.lang.illegalstateexception. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 24

25 3.3.1 Eccezioni I messaggi di risposta possono contenere delle eccezioni, non necessariamente critiche o bloccanti. Applicativamente é possibile impostare e consultare le eccezioni attraverso i metodi haseccezioni(), geteccezioni() e addeccezione(string codice, String messaggio, rilevanza) degli oggetti Risposta. Quando vengono ricevute le risposte attraverso le Porte Delegate é bene, prima di tutto, consultare l'eventuale lista di eccezioni della risposta stessa in quanto potenzialmente pregiudicante il contenuto della risposta stessa. PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 25

26 4 IProxy Un ulteriore metodo per garantire l intrfacciamento dei SIL alla PDD Spicca è dato dall utilizzo del componente IProxy con cui è possibile istanziare una porta delegata. L idea di base è quella di mascherare la complessità dei protocolli e degli standard definiti dal Cnipa, implementati dalla PDD Spicca, attraverso una componente software intermedia, l IProxy, che commuta una richiesta di servizio ad un web service puro in messaggi e Gov, senza che il SIL abbia la consapevolezza di stare invocando un servizio di Porta Delegata. In pratica il SIL deve conoscere solo il wsdl del servizio da invocare lasciando all IProxy la responsabilità di istanziare e comunicare con la porta delegata, così come schematizzato nell immagine seguente: Figura 18 Flusso client da attore interno al dominio della PA la modalità descritta è da considerarsi come uno strumento che, fatta salva la conoscenza delle tecnologie standard associate ai web service puri,consente ai SIL interni alla Regione Campania di effettuare cooperazione applicativa SPCoop sfruttando la PDD SPICCA regionale. Essendo l IProxy stesso un client OpenPDDL2, non è in alcun modo legato alla capacità della PDD SPICCA di poter emettere e/o ricevere messaggi e Gov PDD: Developer Guide v.1.0 del 25/08/2009 Pagina 26

Porta di Dominio Architettura del Software

Porta di Dominio Architettura del Software Porta di Dominio Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 5 1.1 Scopo... 5 1.2 Obiettivo... 5 1.3 Definizioni, Acronimi, e Abbreviazioni... 5 1.4 Riferimenti...

Dettagli

Visione Generale. Versione 1.0 del 25/08/2009

Visione Generale. Versione 1.0 del 25/08/2009 Visione Generale Versione 1.0 del 25/08/2009 Sommario 1 Premessa... 4 2 Le componenti applicative... 6 2.1 Porta di dominio... 7 2.2 Infrastrutture per la cooperazione... 9 2.2.1 Registro degli Accordi

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Guida alla programmazione e integrazione di servizi in OpenSPCoop AZIONE

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2015 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4 i Manuale Gestione di OpenSPCoop 1.4 ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Prerequisiti per la Configurazione della Porta di Dominio 1 2.1 Verifica dell applicazione di gestione

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 Prerequisiti per

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Modalità d integrazione trasparente 1 3 Modalità d integrazione tramite

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

Dettagli

INF-1: Specifiche Tecniche di Interfaccia

INF-1: Specifiche Tecniche di Interfaccia INF-1: Specifiche tecniche di Interfaccia INF-1: Specifiche Tecniche di Interfaccia Versione 1.1 Nome doc.: INF-1 Specifiche Interfaccia v1.0.doc Edizione: 1.0 Data emissione: 12/1/2007 INDICE Modifiche

Dettagli

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

SERVICE BROWSER. Versione 1.0

SERVICE BROWSER. Versione 1.0 SERVICE BROWSER Versione 1.0 25/09/2008 Indice dei Contenuti 1. Scopo del documento... 3 2. Introduzione... 3 3. Accordi di Servizio... 4 4. Servizi... 5 5. Servizio: Schede Erogatori... 8 6. Servizio:

Dettagli

Gestione XML della Porta di Dominio OpenSPCoop

Gestione XML della Porta di Dominio OpenSPCoop i Gestione XML della Porta di Dominio ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Hello World! 2 3 Configurazione XML della Porta di Dominio 5 3.1 Soggetto SPCoop...................................................

Dettagli

Manuale gestione Porta di Dominio OpenSPCoop 1.1

Manuale gestione Porta di Dominio OpenSPCoop 1.1 i Manuale gestione Porta di Dominio ii Copyright 2005-2008 Link.it srl Questo documento contiene informazioni di proprietà riservata, protette da copyright. Tutti i diritti sono riservati. Non è permesso

Dettagli

Proposta di un architettura modulare per lo sviluppo della Porta di Dominio SPCoop

Proposta di un architettura modulare per lo sviluppo della Porta di Dominio SPCoop Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Laurea specialistica in Ingegneria Informatica Proposta di un architettura modulare per lo sviluppo della Porta di Dominio SPCoop Relatore:

Dettagli

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2 Release Notes di OpenSPCoop2 i Release Notes di OpenSPCoop2 Release Notes di OpenSPCoop2 ii Copyright 2005-2015 Link.it srl Release Notes di OpenSPCoop2 iii Indice 1 Versione 2.1 1 1.1 Gestione del protocollo

Dettagli

Manuale di Integrazione IdM-RAS

Manuale di Integrazione IdM-RAS IdM-RAS Data: 30/11/09 File: Manuale di integrazione IdM-RAS.doc Versione: Redazione: Sardegna IT IdM-RAS Sommario 1 Introduzione... 3 2 Architettura del sistema... 4 2.1 Service Provider... 4 2.2 Local

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Consolidamento e sviluppo CART

Consolidamento e sviluppo CART Nome del progetto Consolidamento e sviluppo CART Acronimo del progetto TOSCART Documento Manuale interfaccia monitoraggio Acronimo del documento TOSCART-TEC-INTWEB-PMC Stato del documento Definitivo Versione

Dettagli

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2 i Manuale SDK di OpenSPCoop2 ii Copyright 2005-2013 Link.it srl iii Indice 1 Introduzione 1 2 La Personalizzazione del Protocollo di Cooperazione 1 3 Il Software Development Kit 2 3.1 Gestione dei payload.................................................

Dettagli

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

Dettagli

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2 i Release Notes di OpenSPCoop2 ii Copyright 2005-2014 Link.it srl iii Indice 1 Novità di OpenSPCoop-v2 rispetto ad OpenSPCoop 1 1.1 Protocollo di Cooperazione personalizzabile tramite plugin.............................

Dettagli

SDK-CART. Versione 1.1

SDK-CART. Versione 1.1 SDK-CART Versione 1.1 20/04/2008 Indice dei Contenuti 1 INTRODUZIONE...2 2 L USO DEL COMPONENTE DI INTEGRAZIONE DELLA PORTA DI DOMINIO... 2 2.1 Modalità d'uso trasparente dei Servizi...3 2.2 Uso del Servizio

Dettagli

REGIONE BASILICATA DIPARTIMENTO INFRASTRUTTURE, OO.PP. E MOBILITA

REGIONE BASILICATA DIPARTIMENTO INFRASTRUTTURE, OO.PP. E MOBILITA REGIONE BASILICATA DIPARTIMENTO INFRASTRUTTURE, OO.PP. E MOBILITA Ufficio Difesa del Suolo di Potenza INTEROPERABILITÀ E COOPERAZIONE APPLICATIVA Informatizzazione dell iter procedurale e dei controlli

Dettagli

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket.

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket. Portale regionale della Salute Servizi di prenotazione prestazione e pagamento ticket. Specifiche di integrazione dei servizi di cooperazione applicativa e dei web services. Versione 1.10 16 Ottobre 2013

Dettagli

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

OpenSPCoop Un Implementazione Open Source della specifica SPCoop di Cooperazione Applicativa

OpenSPCoop Un Implementazione Open Source della specifica SPCoop di Cooperazione Applicativa OpenSPCoop Un Implementazione Open Source della specifica SPCoop di Cooperazione Applicativa Tito Flagella tito@link.it http://openspcoop.org La Cooperazione Applicativa Regolamentazione delle modalità

Dettagli

maildocpro Manuale Installazione

maildocpro Manuale Installazione maildocpro Manuale Installazione versione 3.4 maildocpro Manuale Installazione - Versione 3.4 1 Indice Indice... 2 Creazione database... 3 Database: MAILDOCPRO... 3 Database: SILOGONWEB... 5 Configurazione

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

Dettagli

Creare client statici

Creare client statici Client statico Creare client statici Un client statico crea, a partire dal WSDL di un servizio, un insieme di classi di supporto client-side (stub) Sono necessari solo 2 passi: 1. parsing del WSDL pubblicato

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

Certificazione di Proxy Applicativi e di applicazioni e servizi di cooperazione di Sistemi Informativi Locali

Certificazione di Proxy Applicativi e di applicazioni e servizi di cooperazione di Sistemi Informativi Locali Certificazione di Proxy Applicativi e di applicazioni e servizi di cooperazione di Sistemi Informativi Locali Ver. 1.0 11 Gennaio 2006 Riferimenti Documentazione CART - Regione Toscana [RT-PDK] Proxy Developer

Dettagli

Allegato Tecnico IcarER

Allegato Tecnico IcarER Allegato Tecnico IcarER Nota di lettura 1 Descrizione del Servizio 1.1 Definizioni e Acronimi 1.2 Descrizione generale 1.2.1 Accordo di servizio 1.3 Descrizione dei servizi offerti 1.3.1 Gestione in service

Dettagli

La Fatturazione Elettronica con la PdD OpenSPCoop

La Fatturazione Elettronica con la PdD OpenSPCoop La Fatturazione Elettronica con la PdD OpenSPCoop del Proxy FatturaPA Link.it v1.0 del 7/11/2014 Indice 1 Premessa...3 2 Il contesto di riferimento...3 3 La Fatturazione Passiva...5 3.1 Scenari di utilizzo...6

Dettagli

Release Notes di OpenSPCoop i. Release Notes di OpenSPCoop

Release Notes di OpenSPCoop i. Release Notes di OpenSPCoop i Release Notes di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Versione 1.4 1 1.1 Adeguamento al nuovo sistema di qualificazione di DigitPA............................. 1 1.2 Nuova modalità

Dettagli

Software per la gestione di musei di arte contemporanea1

Software per la gestione di musei di arte contemporanea1 Software per la gestione di musei di arte contemporanea1 Identificativo del progetto: CA Nome documento: System Design(SD) Identificativo del documento: 6 CA_SD_E1_R1 Data del documento: 21/05/2012 Prima

Dettagli

La Fatturazione Elettronica con la PdD OpenSPCoop

La Fatturazione Elettronica con la PdD OpenSPCoop La Fatturazione Elettronica con la PdD OpenSPCoop del Proxy FatturaPA Link.it v1.0 del 7/11/2014 Indice 1 Premessa...3 2 Il contesto di riferimento...3 3 La Fatturazione Passiva...5 3.1 Scenari di utilizzo...6

Dettagli

Introduzione alla Cooperazione applicativa in Campania

Introduzione alla Cooperazione applicativa in Campania Introduzione alla Cooperazione applicativa in Campania Cos è SPICCA è una infrastruttura costituita dall insieme di risorse hardware e componenti applicative, rappresenta la piattaforma per la realizzazione

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop i Il Gestore Eventi di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Configurazione di un Servizio SPCoop come Evento gestito dal GE 2 3 Configurazione di un Pubblicatore

Dettagli

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location

Dettagli

Spring WS Sviluppare WebService in Java

Spring WS Sviluppare WebService in Java Spring WS Sviluppare WebService in Java 1.1 Introduzione Nell ambito della programmazione Java è particolarmente utile avere una certa familiarità con i WebService e la tecnologia che li supporta. In particolare

Dettagli

POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1

POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1 Allegato n. 2 al Capitolato speciale d appalto. ENTE PUBBLICO ECONOMICO STRUMENTALE DELLA REGIONE CALABRIA POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1 Procedura aperta sotto

Dettagli

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio QUEUE : considerazioni QUEUE : considerazioni Si è realizzata una struttura dati complessa utilizzandone una primitiva, l array. Il pregio di tale implementazione è il basso costo computazionale, mentre

Dettagli

Processi BPEL. Obiettivi

Processi BPEL. Obiettivi Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Processi BPEL Corso di Sistemi Distribuiti Stefano Iannucci Anno accademico 2009/10 Email: sd@chmod.it Obiettivi Esercitazione pratica su:

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP. Link.it srl - Analisi Servizio IGRUE 1

MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP. Link.it srl - Analisi Servizio IGRUE 1 MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP Link.it srl - Analisi Servizio IGRUE 1 Panoramica L'attuale sistema IGRUE è composto da: Il

Dettagli

REGIONE TOSCANA GERTIC. Documentazione di progetto. Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574.

REGIONE TOSCANA GERTIC. Documentazione di progetto. Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574. REGIONE TOSCANA GERTIC Documentazione di progetto Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574.551195 www.netstudio.it INFORMAZIONI DOCUMENTO PROGETTO GeRTIC Gestione

Dettagli

@CCEDO: Accessibilità, Sicurezza, Architettura

@CCEDO: Accessibilità, Sicurezza, Architettura Rev. 8, agg. Settembre 2014 @CCEDO: Accessibilità, Sicurezza, Architettura 1.1 Il Sistema di Gestione della Sicurezza Per quanto riguarda la gestione della Sicurezza, @ccedo è dotato di un sistema di autenticazione

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144 Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe

Dettagli

Guida alla realizzazione della cooperazione applicativa in SPICCA

Guida alla realizzazione della cooperazione applicativa in SPICCA Versione 1.0 del 25/08/2009 Sommario 1 Premessa... 4 2 Modello logico/architetturale di riferimento... 9 3 Precondizioni all implementazione di un SID su CA... 11 3.1 Strutture interne della Regione Campania...

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire

Dettagli

Definizione delle interfacce di colloquio fra le componenti

Definizione delle interfacce di colloquio fra le componenti Definizione delle interfacce di colloquio fra le componenti 1 DOCUMENTO:. v 1.1 Emesso da: EMISSIONE VERIFICA APPROVAZIONE Nome Luca Menegatti firma Verificato da: Giancarlo Savoia Approvato da: Angelo

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

Client e Server comunicano tramite il protocollo SOAP.

Client e Server comunicano tramite il protocollo SOAP. In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura

Dettagli

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

Il linguaggio C# Eventi ed eccezioni

Il linguaggio C# Eventi ed eccezioni Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it

Dettagli

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 Pag. 2 di 12 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO

Dettagli

Governance e linee guida tecnicoorganizzative

Governance e linee guida tecnicoorganizzative Allegato 1 Servizio Governance e linee guida tecnicoorganizzative del sistema ICAR-ER INDICE 1. Introduzione 3 1.1 Definizione e Acronimi 3 1.2 Scopo del documento 4 1.3 Destinatari 4 2. Il Sistema ICAR-ER

Dettagli

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Regione Toscana Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Stato del documento Definitiva Versione del documento 1.8 Data 29/05/13 Documento Acronimo del documento Specifiche

Dettagli

Sommario. G. Piscitelli

Sommario. G. Piscitelli Sommario Interprocess Communication Processi (e thread) cooperanti Il paradigma produttore-consumatore Shared Memory e Inter Process Communication (IPC) facility Proprietà caratteristiche della comunicazione

Dettagli

REGOLE PROCEDURALI DI CARATTERE TECNICO OPERATIVO PER L ACCESSO AI SERVIZI DISPONIBILI TRAMITE LA POSTA ELETTRONICA CERTIFICATA

REGOLE PROCEDURALI DI CARATTERE TECNICO OPERATIVO PER L ACCESSO AI SERVIZI DISPONIBILI TRAMITE LA POSTA ELETTRONICA CERTIFICATA Dipartimento per gli Affari di Giustizia Direzione Generale della Giustizia Penale Decreto Dirigenziale Articolo 39 D.P.R. 14 Novembre 2002, N. 313 Decreto Dirigenziale del 5 dicembre 2012 recante le regole

Dettagli

L Iniziativa egovernment.net per l Italia

L Iniziativa egovernment.net per l Italia L Iniziativa egovernment.net per l Italia Porte di Dominio per la Cooperazione Applicativa Allegato 1 Porta di Dominio.NET Versione 1.0, Aprile 2002 Soluzioni per l Interoperabilità e la Cooperazione Applicativa

Dettagli

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale 1. Livello infrastrutturale Il Cloud, inteso come un ampio insieme di risorse e servizi fruibili da Internet che possono essere dinamicamente

Dettagli

CONVENZIONI DI NOMENCLATURA E SEMANTICA

CONVENZIONI DI NOMENCLATURA E SEMANTICA Sistema pubblico di cooperazione: CONVENZIONI DI NOMENCLATURA E SEMANTICA Versione 1.1 INDICE 1. MODIFICHE DOCUMENTO...3 2. OBIETTIVI E CONTESTO DI RIFERIMENTO... 4 2.1. Scopi del documento... 5 2.2. Note

Dettagli

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa Andrea Leoncini JBoss Stefano Linguerri - Pro-netics Agenda JBoss ESB le SOA e la Porta di Dominio Le specifiche CNIPA

Dettagli

Configurazione client di posta elettronica per il nuovo servizio email. Parametri per la Configurazione dei client di posta elettronica

Configurazione client di posta elettronica per il nuovo servizio email. Parametri per la Configurazione dei client di posta elettronica Configurazione client di posta elettronica per il nuovo servizio email Questa guida si prefigge lo scopo di aiutare gli utenti a configurare i propri client di posta elettronica. Sono elencati passi da

Dettagli

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security

Dettagli

Soluzioni Infrastrutturali Open Source per il Sistema Pubblico di Cooperazione Applicativa

Soluzioni Infrastrutturali Open Source per il Sistema Pubblico di Cooperazione Applicativa Soluzioni Infrastrutturali Open Source per il Sistema Pubblico di Cooperazione Applicativa Giansalvatore Mecca Alessandro Pappalardo Salvatore Raunich Il Gruppo di Sviluppo ICAR 1 Dipartimento di Matematica

Dettagli

Java Web Services. Uso di Eclipse e Apache Axis

Java Web Services. Uso di Eclipse e Apache Axis Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services I. Marra M. Ciampi RT-ICAR-NA-06-04

Dettagli

REGOLE PROCEDURALI DI CARATTERE TECNICO OPERATIVO PER L ACCESSO AI SERVIZI DISPONIBILI IN COOPERAZIONE APPLICATIVA TRAMITE LA TECNOLOGIA WEB SERVICE

REGOLE PROCEDURALI DI CARATTERE TECNICO OPERATIVO PER L ACCESSO AI SERVIZI DISPONIBILI IN COOPERAZIONE APPLICATIVA TRAMITE LA TECNOLOGIA WEB SERVICE Dipartimento per gli Affari di Giustizia Direzione Generale della Giustizia Penale Decreto Dirigenziale Articolo 39 D.P.R. 14 Novembre 2002, N. 313 Decreto Dirigenziale del 5 dicembre 2012 recante le regole

Dettagli

PORTA DI DOMINIO. Sistema pubblico di cooperazione: Versione 1.0. Sistema Pubblico di Connettività e Cooperazione

PORTA DI DOMINIO. Sistema pubblico di cooperazione: Versione 1.0. Sistema Pubblico di Connettività e Cooperazione Sistema Pubblico di Connettività e Cooperazione Sistema pubblico di cooperazione: PORTA DI DOMINIO Versione 1.0 Nome doc.: oop-portadominio_v1.0_20051014.doc Versione: 1.0 Data emissione: 14 ottobre 2005

Dettagli

DISCIPLINARE PER IL SERVIZIO DI CASSA ALLEGATO N. 2 ORDINATIVI INFORMATICI

DISCIPLINARE PER IL SERVIZIO DI CASSA ALLEGATO N. 2 ORDINATIVI INFORMATICI DISCIPLINARE PER IL SERVIZIO DI CASSA ALLEGATO N. 2 ORDINATIVI INFORMATICI A. Modalità di erogazione del servizio 1. Oggetto Gli ordinativi informatici dovranno essere sottoscritti con Firma Digitale dai

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Progettazione e sviluppo di una composizione di servizi web

Progettazione e sviluppo di una composizione di servizi web Progettazione e sviluppo di una composizione di servizi web Progetto di Tecnologie dei Servizi I Alessandro Marrandino Matr. 739695 Sommario In questo documento è descritto il lavoro svolto per realizzare

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

Architettura CART Versione 3.6 14/09/2010

Architettura CART Versione 3.6 14/09/2010 Versione 3.6 14/09/2010 Indice dei Contenuti 1. PREFAZIONE... 3 2. INTRODUZIONE... 3 3. ARCHITETTURA GENERALE DEL CART... 4 3.1. COMPONENTI DELL ARCHITETTURA E INTERFACCE... 7 3.1.1. Il Registro SICA Secondario...

Dettagli

PROXY INFORTUNI INAIL MANUALE D'INSTALLAZIONE

PROXY INFORTUNI INAIL MANUALE D'INSTALLAZIONE 1 Page 1 of 14 PROXY INFORTUNI INAIL MANUALE D'INSTALLAZIONE Codice: ProxyInfortuniInail-ManualeInstallazione Versione: 1.0 File: ProxyInfortuniInail-ManualeInstallazione-v1.0.pdf Nome e Cognome Data Autore:

Dettagli

MINISTERO DELLA GIUSTIZIA Notifiche telematiche degli atti per il settore penale presso gli uffici giudiziari

MINISTERO DELLA GIUSTIZIA Notifiche telematiche degli atti per il settore penale presso gli uffici giudiziari MINISTERO DELLA GIUSTIZIA Notifiche telematiche degli atti per il settore penale presso gli uffici giudiziari MANUALE UTENTE Versione SNT: 1.4.4 Versione 2.2 09 Febbraio 2015 Indice 1. Generalità... 4

Dettagli

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO Versione 1.0 INDICE 1. PREFAZIONE 3 1.1 Autori 3 1.2 Modifiche Documento 3 1.3 Riferimenti 4 1.4 Acronimi e Definizioni 4 2. OBIETTIVI E CONTESTO DI RIFERIMENTO

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

Programmazione su Reti

Programmazione su Reti Programmazione su Reti Esempio di applicazione Client Server su protocollo Soap Fabio Donatantonio Applicazione Applicazione Client-Server per la gestione di un elenco di persone con relativi dati. Viene

Dettagli

Sistema Servizi per le Imprese

Sistema Servizi per le Imprese Sistema Servizi per le Imprese Portale Imprese SPOR: Servizi di cooperazione Servizi Prevenzione Incendi VVF su Impresa.gov SPOR - Servizi Prevenzione Incendi VVF di impresa.gov Ver. 1.1 del 12/05/2008

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Centro Tecnico RUPAR Puglia. Servizio PEC Manuale Utente

Centro Tecnico RUPAR Puglia. Servizio PEC Manuale Utente Centro Tecnico RUPAR Puglia Servizio PEC Manuale Utente Versione 1.1 Del 22-01-2009 Controllo della Configurazione Titolo: Servizio PEC Manuale Utente Autore: Gruppo di Lavoro Centro Tecnico Rupar Storia

Dettagli

Centro Nazionale per l Informatica nella Pubblica Amministrazione

Centro Nazionale per l Informatica nella Pubblica Amministrazione Centro Nazionale per l Informatica nella Pubblica Amministrazione Procedura ristretta n. 2/2006 per l affidamento della progettazione, realizzazione e gestione di componenti di cooperazione applicativa,

Dettagli

La Gestione degli Accordi di Cooperazione nel progetto OpenSPCoop

La Gestione degli Accordi di Cooperazione nel progetto OpenSPCoop Università degli Studi di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali Dipartimento di Informatica TESI DI LAUREA La Gestione degli Accordi di Cooperazione nel progetto OpenSPCoop Relatori prof.

Dettagli

Modelli per la descrizione di protocolli

Modelli per la descrizione di protocolli POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Modelli per la descrizione di protocolli asincroni basati sull usouso di servizi Web Relatore: Prof. Stefano Ceri Correlatori: Ing. Marco

Dettagli

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop i Tutorial di configurazione e programmazione di OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Tutorial di configurazione e programmazione di OpenSPCoop AZIONE NOME DATA FIRMA

Dettagli

Organizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind()

Organizzazione della lezione. Lezione 18 Remote Method Invocation - 6. (con callback) L accesso al registry per il rebind() Organizzazione della lezione Lezione 18 Remote Method Invocation - 6 Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di Salerno

Dettagli