BDBTemplateModel
Scopo
BDBTemplateModel è il database SQL Server di partenza delle applicazioni B-Arts. Fornisce una struttura riutilizzabile per utenti, persone, sistemi, profili, funzioni, ruoli, moduli, notifiche, accessi, log, configurazione, territorio e guida applicativa.
Il template è predisposto per applicazioni mono-sistema e multi-sistema e per utenti mono-profilo o multi-profilo. Un progetto può utilizzare soltanto le aree necessarie ed estendere lo schema con le proprie tabelle applicative.
Principi architetturali
Sistema come istanza logica dell'applicazione
Un sistema rappresenta un'istanza logica, organizzativa o licenziata della stessa applicazione. Tutti i sistemi condividono funzioni, profili, ruoli e moduli, ma possono separare dati, utenti abilitati e configurazioni specifiche.
Le tabelle applicative che devono separare i dati fra sistemi possono aggiungere IDSysSistema e applicare il relativo filtro nella logica applicativa.
Multi-profilo
Un utente può assumere profili differenti nello stesso sistema o in sistemi diversi. La tripla presente in sysUtentiProfili costituisce l'abilitazione effettiva:
IDSysUtente + IDSysSistema + IDSysProfilo
sysUtenti.IDSysSistema e sysUtenti.IDSysProfilo indicano il sistema e il profilo predefiniti. La loro valorizzazione non sostituisce l'inserimento della corrispondente abilitazione in sysUtentiProfili.
Profilazione funzionale
Il sistema non compare in sysProfiliFunzioni perché tutti i sistemi utilizzano la medesima configurazione di profili e funzioni. È sysUtentiProfili a stabilire quale profilo l'utente possiede in ciascun sistema.
Ruoli e moduli
sysRuolidefinisce ruoli applicativi interpretati dal codice, per esempio controllo completo o sola lettura.sysModulipermette di raggruppare e distribuire aree funzionali dell'applicazione.sysFunzioni.IDSysModuloassocia una funzione al modulo cui appartiene.
Relazioni logiche
Il template non dichiara vincoli FOREIGN KEY fisici. Le associazioni sono espresse dalle convenzioni sui nomi, dalle classi generate da BStudio e dalla logica applicativa e SQL.
Questa è una scelta architetturale B-Arts orientata al controllo esplicito delle operazioni. Lo sviluppatore deve quindi applicare consapevolmente controlli di coerenza, filtri, eliminazioni e aggiornamenti correlati.
Convenzioni dello schema
Le tabelle hanno normalmente il nome al plurale.
Una chiave primaria singola è normalmente denominata
ID.Il testo identificativo principale è normalmente denominato
Descrizione.Una relazione logica usa normalmente
IDseguito dal nome singolare dell'entità, per esempioIDPersona.Le tabelle di dettaglio o associazione combinano i nomi delle entità, per esempio
sysUtentiProfili.Le tabelle enumerative applicative possono usare il prefisso
e; questa convenzione va valutata nel progetto perché non è ancora gestita completamente da BStudio.Il prefisso
sysidentifica strutture comuni del template;Configurationne è esclusa perché è destinata a essere ampliata dallo sviluppatore.
Aree funzionali
Identità e profilazione:
sysPersone,sysUtenti,sysSistemi,sysProfili,sysUtentiProfili,sysFunzioni,sysProfiliFunzioni,sysRuoli,sysModuli,sysVisibilita.Registrazione:
sysRegistrazioniRichiestee i valori di registrazione presenti inConfiguration.Notifiche:
sysNotifiche,sysUtentiNotifiche,BV_sysNotificheAll.Sicurezza:
sysPolicyPwd,sysPwdUtilizzate,sysPassePartout.Tracciamento:
sysAccessi,sysAccessiOperazioni,sysLog,sysSeverity.Territorio:
sysStati,sysRegioni,sysProvince,sysComuni,sysComuniQuartieri,BV_Comuni.Configurazione:
Configuration,sysSistemiAttributi.Servizi applicativi:
sysImportFiles,sysViewState,sysWiki,sysWikiAllegati,sysWikiLinks.
Documenti correlati
Le stored procedure sono trattate separatamente e non fanno parte di questa prima sezione.
