SuapDIZ SuapDIZ SUAP 19/01/2012 SuapDIZ 1 Sommario Sommario ....................................................................... 1 Descrizione del sistema .................................................. 2 Attori............................................................................... 3 Profili applicativi ............................................................. 3 Ruoli Arpa ....................................................................... 3 Funzionalità .................................................................... 3 Componenti utilizzate, stack tecnologico....................... 4 Modello dati ................................................................... 5 Casi d’uso........................................................................ 6 Diagramma UC................................................................ 6 Caso d’uso 1 – Ricerca e visualizzazione Dizionario scheda attività 6 Descrizione del caso d’uso .............................................. 6 Sequence Diagram.......................................................... 8 Caso d’uso 2 – Visualizzazione Dizionario Endoprocedimenti 8 Descrizione del caso d’uso .............................................. 8 Sequence Diagram........................................................ 10 19/01/2012 SuapDIZ 2 Descrizione del sistema L’applicazione SuapDIZ, dove DIZ è acronimo di Dizionario, nasce per permettere agli utenti (Cittadino) di interfacciarsi con la Banca Dati Regionale per la ricerca e visualizzazione delle schede attività e Endoprocedimenti di tipo 1, nella sezione “Dizionario”. La Banca Dati Regionale è composta dal Dizionario, una struttura ad albero, in cui le foglie rappresentano le attività produttive e gli endoprocedimenti collegati. Ad ognuna di queste foglie corrisponde uno Standard1 nel caso delle attività o uno Standard4 nel caso degli endoprocedimenti collegati. I due standard contengono tutti i dati relativi alle attività produttive ed agli endoprocedimenti collegati. 19/01/2012 SuapDIZ 3 Attori L’applicazione SuapDIZ è destinata ai cittadini e permette agli stessi la ricerca e la visualizzazione dell’elenco attività del Dizionario e degli Endoprocedimenti di tipo 1. Cittadino Utente riconosciuto come cittadino residente nel territorio regionale toscano. Profili applicativi Sulla base degli attori sopra descritti, si fornisce l’elenco dei profili gestiti all’interno dell’applicazione: o Cittadino tutte le funzionalità dell’applicazione sono pubbliche Ruoli Arpa Profilo Applicativo Cittadino Ruolo Arpa Cittadino Attributo Funzionalità Nome – Descrizione profili Cittadino Dizionario – Ricerca scheda attività Funzionalità che permette la ricerca della/e attività presenti nel “Dizionario delle attività della Banca Dati Regionale”. Dizionario – Visualizzazione scheda attività Funzionalità che permette la visualizzazione della/e attività presenti nel “Dizionario delle attività della Banca Dati Regionale”. Dizionario – Visualizzazione Endoprocedimenti Funzionalità che permette la visualizzazione degli Endoprocedimenti del Dizionario. 19/01/2012 SuapDIZ 4 Componenti utilizzate, stack tecnologico Srty-Arpa è un framework che può essere visto a tutti gli effetti come un client dell’ infrastruttura Arpa. Il framework permette, analogamente all’Srty classico, di strutturare le applicazioni nella varie funzionalità che le compongono. Le funzionalità sono poi raggruppate in profili applicativi tipici dell’applicazione. I profili applicativi sono quindi associati ai ruoli utente. Ad un utente, una volta autenticatosi sul sistema Arpa, vengono quindi attribuiti uno o più ruoli istituzionali. Le informazioni sull’ utente loggato ed i relativi ruoli vengono poi passate al framework Srty-arpa e da qui all’applicazione sviluppata mediante tale framework. L’associazione fra ruoli e profili applicativi determina quindi le funzionalità applicative a disposizione dell’utente loggato. All’interno dei ruoli, sempre tramite l’infrastruttura Arpa, vengono anche valorizzati gli eventuali attributi specifici del singolo ruolo. Il repository di Srty–arpa è costantemente aggiornato nella struttura dei ruoli con quanto definito nel role-manager, tramite cooperazione applicativa. In pratica ogni variazione dell’albero dei ruoli viene propagata via cart alle componenti portal ed srty; queste due componenti sono quindi allineate in tempo reale, a meno del tempo di transito attraverso l’infrastruttura cart, con le informazioni impostate a livello della componente centrale role– manager. L’amministratore di srty–arpa, tramite l’applicazione web di amministrazione, ha quindi la possibilità di effettuare l’associazione fra ruoli e profili applicativi. Tale associazione può essere soggetta a delle restrizioni sui valori degli attributi dell’utente. E’ infatti possibile definire delle espressioni regolari, relativamente al valore degli attributi, che consentono un’associazione condizionale del profilo applicativo al ruolo d’interesse. Tale framework risulta fuori standard per nuove applicazioni; può essere utilizzato solamente per migrare applicazioni pre-esistenti e sviluppate sul framework Srty. Hibernate è una piattaforma middleware open source per lo sviluppo di applicazioni Java che fornisce un servizio di Object-relational mapping (ORM), ovvero che gestisce la rappresentazione e il mantenimento su database relazionale di un sistema di oggetti Java. Lo scopo principale di Hibernate è quello di fornire un mapping delle classi Java in tabelle di un database relazionale; sulla base di questo mapping Hibernate gestisce il salvataggio degli oggetti di tali classi su database. Si occupa inoltre del reperimento degli oggetti da database, producendo ed eseguendo automaticamente le query SQL necessarie al recupero delle informazioni e la successiva reistanziazione dell'oggetto precedentemente "ibernato" (mappato su database). L'obiettivo di Hibernate è quello di esonerare lo sviluppatore dall'intero lavoro relativo alla persistenza dei dati. Hibernate si adatta al processo di sviluppo del programmatore, sia se si parte da zero sia se da un database già esistente. Hibernate genera le chiamate SQL e toglie lo sviluppatore dal lavoro di recupero manuale dei dati e dalla loro conversione, mantenendo l'applicazione portabile in tutti i database SQL. Hibernate è tipicamente usato in applicazioni Java EE facenti uso di servlet o EJB session beans. 19/01/2012 SuapDIZ 5 modulo CART è un componente di tipo libreria da includere tra le librerie degli applicativi e che si occupa di realizzare delle api semplificative per la interazione con CART in modalità Integration Manager. In particolare semplifica la gestione delle credenziali per l’erogazione e la fruizione di messaggi e la gestione dell’intero ciclo di vita dei messaggi, con e senza attachment: creazione, invio, ricezione e cancellazione. Modello dati Figura 1: Schema logico del db (negli allegati in alta risoluzione) 19/01/2012 SuapDIZ 6 Casi d’uso Di seguito verranno descritti i casi d’uso delle funzionalità più significative. Diagramma UC Caso d’uso 1 – Ricerca e visualizzazione Dizionario scheda attività Descrizione del caso d’uso Titolo Descrizione Ricerca e visualizzazione Dizionario scheda attività L’attore naviga il Dizionario o imposta il parametro di ricerca - “filtra” - per eseguire la ricerca e la successiva visualizzazione di un’attività economica d’interesse. 19/01/2012 SuapDIZ 7 Precondizioni Postcondizioni Attori Cittadino Note Scenario principale A1. L'attore seleziona la voce “Scheda attività” presente nell'apposito menù “Dizionario” dell'applicazione web. A2. Il sistema presenta una pagina web in cui il Dizionario è strutturato a forma di albero delle attività economiche (endoprocedimenti di tipo 2). Ogni nodo di tale albero è una categoria di attività mentre ogni “foglia” rappresenta la specifica attività economica. A3. L'attore navigando le categorie (nodi) dell’albero degli endoprocedimento di tipo 2, seleziona una foglia rappresentativa di una specifica attività. A4. Il sistema presenta la pagina web con la visualizzazione dell’attività selezionata: Individuazione attività: descrizione regionale; Che requisiti deve avere e quali siano i Requisiti normativi: requisiti oggettivi, soggettivi, professionali, requisiti per cittadini extracomunitari; Cosa serve per iniziare l’esercizio dell’attività: adempimenti richiesti, normativa di riferimento, presentazione domanda, quanto e come pagare; Endoprocedimenti necessari per l’attività: prima dell’inizio lavori e dopo fine lavori; Riepilogo validità scheda: data inizio e data fine; A5. L’attore che intende tornare indietro, seleziona il tasto “Indietro”. A6. Il sistema ripresenta la pagina web con il Dizionario ad albero delle attività economiche (endoprocedimenti di tipo 2). 19/01/2012 SuapDIZ 8 Sequence Diagram Caso d’uso 2 – Visualizzazione Dizionario Endoprocedimenti Descrizione del caso d’uso Titolo Descrizione Visualizzazione Dizionario degli Endoprocedimenti di tipo 1 L’attore seleziona la voce “Endoprocedimenti” per navigare il Dizionario degli Endoprocedimento di tipo 1. Precondizioni Postcondizioni Attori Cittadino Note 19/01/2012 SuapDIZ 9 Scenario principale A1. L'attore seleziona la voce “Endoprocedimenti” presente nell'apposito menù “Dizionario” dell'applicazione web. A2. Il sistema presenta una pagina web con il Dizionario degli Endoprocedimenti strutturato a forma di albero (endoprocedimenti di tipo 1). Ogni nodo di tale albero è una categoria di endoprocedimenti : igienico sanitari prevenzione incendi prevenzione edilizia/urbanistica ambiente Per ciascuna “tipologia” di endoprocedimento esistono “categorie” di endoprocedimenti che hanno specifiche foglie “schede endoprocedimento”. A3. L’attore naviga l’albero degli Endoprocedimenti di tipo 1, seleziona la “tipologia”, la “categoria” e la specifica “foglia”,che rappresenta il dettaglio della “scheda endoprocedimento” con l’evidenza del: codice: codice endoprocedimento; nome: descrizione endoprocedimento; tipologia: tipologia degli endoprocedimenti; Chi è interessato: soggetti interessati; Quali requisiti deve possedere il fabbricato/impianto: requisiti agibilità, di destinazione uso; Cosa si deve fare: parere preventivo; Normativa applicabile: adempimenti richiesti da normativa nazionale o regionale; Quando e come pagare: bolli, diritti istruttoria; Flusso endoprocedimento; Allegati da produrre e relative spiegazioni; Adempimenti successivi: dichiarazione ultimazione lavori, conformità progetto, agibilità; 19/01/2012 SuapDIZ 10 Scadenza provvedimento conclusivo dell’endoprocedimento: data scadenza, come e dove si rinnova; Note Regionali; Quadri aggiuntivi; Dichiarazioni per Quadri aggiuntivi; Scenario alternativo 1 B1. Al passo A3 la scelta dell’attore non visualizza il dettaglio della scheda endoprocedimento di tipo 1, perché non esiste alcuna scheda valida; l’attore con il pulsante “Indietro”, sceglie di ritornare all’albero degli endoprocedimenti di tipo 1. B2. Il sistema ripresenta la pagina web con il Dizionario strutturato a forma di albero dell’elenco Endoprocedimenti di tipo 1. Sequence Diagram 19/01/2012