AreeProduttive AreeProduttive 26/04/2012 XEngine 1 Sommario Sommario ........................................................................ 1 Descrizione del sistema................................................... 2 Attori ............................................................................... 3 Profili applicativi ............................................................. 3 Ruoli arpa ........................................................................ 4 Macrofunzionalità ........................................................... 4 Funzionalità ..................................................................... 5 Componenti utilizzate, stack tecnologico ....................... 7 Modello dati complessivo ............................................... 9 6/2/2017 XEngine 2 Descrizione del sistema Il sistema si compone di cinque distinti moduli applicativi finalizzati all’inserimento e alla gestione di proposte localizzative sul territorio toscano: A. AreeProdPUB: modulo per l’inserimento di opportunità localizzative con accesso libero B. AreeProdCNS: modulo per l’inserimento di opportunità localizzative con accesso tramite CNS C. AreeProdEngine: modulo applicativo per la gestione della creazione delle istanze di modulistica che l’utente deve compilare per poter inoltrare una proposta localizzativa D. AreeProdBO: modulo di back office per la verifica, da parte del personale addetto di Regione Toscana (con accesso tramite smart card), delle proposte localizzative pervenute e che potranno essere pubblicate o rifiutate E. AreeProdFE: modulo di ricerca per la libera consultazione delle proposte localizzative pubblicate. 6/2/2017 XEngine 3 Attori L’accesso alle varie applicazioni è strettamente connesso alle funzionalità implementate dai moduli stessi; di seguito il riepilogo per specifica applicazione: Modulo d’inserimento senza CNS Rivolto al generico utente, sia privato cittadino che ente pubblico, non necessita di alcuna credenziale; l’applicazione si configura a libero accesso. Modulo d’inserimento con CNS Rivolto al generico utente, sia privato cittadino che ente pubblico, necessita per l’accesso l’utilizzo di una smart-card con certificato digitale di riconoscimento; questo permette l’utilizzo di funzionalità integrative rispetto alla versione senza CNS. Il profilo applicativo di accesso è quello di Cittadino. Modulo di generazione modulistica Il modulo AreeProdEngine non necessita di profilatura applicativa poiché è un motore di persistenza per la generazione e recupero dati, orientato ai servizi a sua volta fruito da sottosistemi software. Il modulo d’inserimento proposte online fruisce questo modulo via API, ovvero utilizzando una componente di tipo libreria. Modulo di Back Office L’applicazione è destinata esclusivamente ad uno specifico e ben determinato sottoinsieme dei dipendenti regionali. Il profilo applicativo di accesso è quello di Dipendente Giunta Regionale, limitato da una ulteriore lista di Codici Fiscali ammissibili. Modulo di ricerca Rivolto al generico utente senza distinzione di sorta, non necessita di alcuna credenziale; l’applicazione si configura a libero accesso. Profili applicativi Sulla base degli attori sopra descritti, si fornisce l’elenco dei profili gestiti all’interno delle varie applicazioni: o Cittadino, inserisce la domanda di presentazione per una generica proposta localizzativa. o Dipendente Giunta Regionale, ha la gestione completa, quindi può visualizzare, valutare e archiviare tutte le proposte inoltrate. 6/2/2017 XEngine 4 Ruoli arpa Applicazione Profilo Applicativo Ruolo Arpa AreeProdPUB --- --- AreeProdCNS Cittadino Cittadino AreeProdEngine --- --- AreeProdBO Dipendente Gunta Regionale Dipendente Gunta Regionale AreeProdFE --- --- Macrofunzionalità Modulo d’inserimento (con e senza CNS): Inserimento/Modifica di una proposta localizzativa Engine: Creazione istanza modulistica Back Office: Gestione proposta localizzativa (pubblicazione o ricusazione) Modulo di Ricerca: Ricerca di una proposta localizzativa 6/2/2017 XEngine 5 Funzionalità Modulo applicativo Nome Descrizione Front End Inserimento Engine Back Office Front End Ricerca Inserimento proposta Permette la compilazione on-line dei moduli per l’inoltro di una proposta localizzativa; utilizzando l’istanza senza CNS è necessario procedere anche all’invio di una copia in formato cartaceo, debitamente compilata e firmata, degli stessi moduli. Modifica proposta Permette il completamento di una proposta interrotta e salvata, o la modifica ed il reinoltro di una proposta già inviata. Lista proposte Permette la visualizzazione dell’elenco delle proposte presentate tramite l’istanza con CNS oppure il richiama di una singola proposta inviata dall’istanza pubblica (senza CNS) tramite il suo identificativo univoco. Da qui è anche possibile procedere alla modifica di una proposta. Creazione modulistica Costruisce il terno dati in formato dati xml che permette d’istanziare il modulo on-line per l’inserimento di una proposta localizzativa Gestione proposta – presa in carico Permette di prendere in carico una proposta: è il primo passo per poi procedere alla sua valutazione. E’ possibile prendere in carico una pratica nuova o una pratica già assegnata ad un altro utente. 6/2/2017 XEngine 6 Gestione proposta – visualizzazione dettaglio Permette di visualizzare la documentazione allegata alla domanda, ed eventualmente salvarne una copia. Con questa funzionalità l’utente può accedere a tutti i documenti compilati e/o allegati dal presentatore. Gestione domanda – salvataggio Permette di salvare i dati relativi alla valutazione prima di procedere con l’effettiva accettazione/ricusazione della proposta. I campi interessati sono il numero di protocollo e i due campi testuali facoltativi note e motivazioni. Gestione pratica – valutazione proposta Permette di accettare o ricusare una proposta; per poter usufruire di questa funzionalità deve essere stato inserito almeno il numero di protocollo nel campo apposito. La valutazione espressa non può più essere modificata. Una volta valutata, la proposta viene chiusa ed entra a far parte dello “storico pratiche”. Gestione pratiche – recupero proposte archiviate Permette la visualizzazione dell’elenco delle proposte archiviate, che vengono presentate in ordine cronologico secondo la data di presentazione. L’elenco è strutturato a tabella, per ogni pratica vengono mostrate queste informazioni: la valutazione espressa (accettata, ricusata), da chi è stata valutata, la data di presentazione della proposta, il nominativo della persona che ha presentato la proposta e la data in cui è stata archiviata la pratica. L’utente può cliccare su ciascuna riga della tabella in modo da visualizzare ulteriori informazioni relativi alla valutazione (protocollo assegnato, note e motivazioni inserite, la ricevuta firmata, i documenti relativi alla proposta). Ricerca proposta Permette la ricerca di una proposta fra tutte quelle che sono state inoltrate e accettate; sono disponibili diversi criteri di ricerca (comune, proprietà, estensione, dell’area, destinazione d’uso, ecc.) con i quali restringere e delimitare l’insieme dei risultati in base alle specifiche esigenze. 6/2/2017 XEngine 7 Componenti utilizzate, stack tecnologico ARPA/SpAgent l’integrazione con l’infrastruttura Arpa avviene utilizzando la libreria SpAgent. L’infrastruttura ARPA per riconoscere il ruolo di Cittadino e di Dipendente Regione Toscana si basa sulla fonte dati standard FDOS che fa da certificatore di attributi per il suddetto ruolo ARPA. Profiler è un artefatto di tipo libreria che si occupa di definire la logica di profilazione all’interno dell’applicazione sulla base delle informazioni ottenute dal sistema di autenticazione a autorizzazione regionale (ARPA). Ad un utente, una volta autenticatosi sul sistema Arpa, vengono quindi attribuiti uno o più ruoli istituzionali. L’associazione fra ruoli e profili applicativi, ovvero la determinazione delle funzionalità applicative a disposizione dell’utente loggato, è affidata al Profiler. Phenix è il framework cui è affidata la realizzazione del pattern architetturale MVC per la separazione del modello dati, da quello di creazione della view dell’applicazione. Attraverso Phenix viene definito un insieme di cammini che vengono identificati dal un passo Iniziale un metodo di business e un passo finale. Phenix utilizza un file in formato xml per contenere le informazioni relativa alla configurazione, esecuzione dell’applicativo. In questo file vengono definiti la sequenza di Paths (cammini) costituiti a loro volta da un passo iniziale (initialStep), una funzionalitaOperazione e da un passo finale (“FinalStep”). Le funzionalitaOperazione rispecchiano le funzionalità elencate al paragrafo precedente. 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. Enterprise Java Bean (EJB) sono i componenti che implementano, lato server, la logica di business all'interno dell'architettura Java EE. Le specifiche EJB intendono fornire una metodologia standard per implementare la logica di funzionamento delle applicazioni di tipo enterprise, applicazioni cioè che forniscono servizi. Per realizzare applicazioni di questo tipo è necessario affrontare una serie di problematiche tecniche che possono rivelarsi molto complesse e laboriose da risolvere. Gli Enterprise JavaBean intendono fornire una soluzione a questi problemi in modo da semplificare lo sviluppo di questo tipo di applicazioni. 6/2/2017 XEngine 8 ICEFACES è un framework per lo sviluppo e la distribuzione di applicazioni Ajax-J2EE e client RIA (Rich Internet Application). Le applicazioni sono sviluppate in puro Java secondo il modello thin-client, e non è necessario utilizzare plugins di browser proprietari o sviluppare applet ad-hoc. Icefaces utilizza JSF (Java Server Faces) come standard per la scrittura delle pagine web.Uno dei suoi punti di forza è l’utilizzo della tecnologia Ajax Push, che permette l’aggiornamento automatico del browser allo scatenarsi di eventi sul server. Si possono avere così attività di interazione fra più browser-client permettendo l’aggiornamento in tempo reale delle informazioni. A.S. J2EE - si faccia riferimento a quanto riportato negli standard regionali per le specifiche relative ai container J2EE. DB2- si faccia riferimento a quanto riportato negli standard regionali per le specifiche relative al DBMS IBM DB2. Si riporta, infine, lo stack tecnologico di riferimento su ciascun modulo applicativo: le celle della matrice spuntate indicano l’utilizzo dello specifico elemento tecnologico da parte dello specifico sottosistema. 6/2/2017 XEngine 9 Modello dati complessivo Modulo di Inserimento . Modulo di Back Office 6/2/2017 XEngine 10 6/2/2017