ti trovi in: Home Page - Webmaster - Progetto ASSI - Progettazione -
1 Introduzione
Nel processo di generale e continua trasformazione delle pubbliche amministrazioni, l'innovazione tecnologica rappresenta un fattore di sviluppo e di razionalizzazione, oltre che di contenimento dei costi di funzionamento e di miglioramento dei servizi resi al cittadino-utente.
In questa prospettiva, la realizzazione dei siti web delle amministrazioni pubbliche, risulta essere uno degli strumenti che meglio si presta al raggiungimento dell'obiettivo di innovazione della P.A. rendendo un servizio all'intera comunità. Per far si che tali sistemi siano effettivamente utili all'intera comunità, è fondamentale che essi siano accessibili a tutti colori i quali intendano farlo. Per tale motivo nasce questo progetto.
2 Architettura del Sistema
L'architettura proposta è una architettura n-tier e presenta caratteristiche di modularità e scalabilità essendo essa basata su principi derivati dalla DOC (Distributed Object Computing).
Si possono individuare nell'architettura tre strati logici: lo strato di presentazione, quello di business e quello dei dati. A loro volta questi strati sono composti da più strati fisici software.
Di seguito vengono presentati i diversi componenti che costituiscono l'architettura applicativa:
Una delle specifiche che determinano questa scelta architetturale, è la necessità di voler rendere il sistema ASSI accessibile da qualsiasi postazione client dotato di browser standard. Si è infatti scelta una soluzione di tipo thin-client, posizionando tutta la logica di business e di accesso ai dati sul lato server, in maniera di poter sfruttare al massimo le potenzialità di accesso ai dati e di distribuzione dei componenti, offerte dall'architettura Microsoft, senza così imporre scelte proprietarie dal lato client.
3 Schema relazionale base di dati Macroarea Interazioni Forum
3.1 Analisi dello schema
Un utente ha una visibilità solo attraverso un contenitore di gruppo, può essere associato a più gruppi, avrà come visibilità la somma di tutti i permessi dei gruppi a cui appartiene.
Un gruppo può avere più diritti su diversi canali.
Le tabelle coinvolte sono:
Quest'ultima si relaziona con la tabella TblCanali per la descrizione del canale.
Per inscrivere un messaggio nel canale bisogna registrarlo su tblMessaggi; se è un messaggio relazionato ad un altro, come una risposta, sarà chiave esterna su tblRelCascade, dove la chiave idIN indica la chiave del messaggio padre e la chiave idOUT la chiave del messaggio figlio.
La tabella dei messaggi possiede relazioni sia con la tabella dei canali, per la chiave del canale, sia con la tabella degli utenti per la chiave AliasUtente, che è la chiave della tabella tblUtenti.
3.2 Descrizione analitica delle tabelle
3.2.1 tblUtenti
3.2.2 tblRelUtentiGroup
3.2.3 tblGroup
3.2.4 tblRelGroupRight
3.2.5 tblRelUserCanali
3.2.6 tblCanali
3.2.7 tblMessaggi
3.2.8 tblRelCascade
3.3 Note di progettazione
La base dati è stata normalizzata alla 3° normale non essendo necessaria una eccessiva normalizzazione; infatti, nel caso del forum, è sicuramente più importante la compattezza del dato e la velocità di caricamento.
Sono stati utilizzati valori uniqueidentifier per ottenere una univocità delle chiavi ed avere un meccanismo anche esportabile sulla interfaccia, senza doverci quindi preoccupare circa eventuali corruzioni e/o hackeraggio sulle chiavi; inoltre in tal modo è possibile replicare e unificare più banche dati replicate.
I valori enumerativi sono stati chiusi in udt, che descrivono e circoscrivono la natura del dato.