B-Arts DocumentationIndice generale

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

  • sysRuoli definisce ruoli applicativi interpretati dal codice, per esempio controllo completo o sola lettura.

  • sysModuli permette di raggruppare e distribuire aree funzionali dell'applicazione.

  • sysFunzioni.IDSysModulo associa 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 ID seguito dal nome singolare dell'entità, per esempio IDPersona.

  • 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 sys identifica strutture comuni del template; Configuration ne è esclusa perché è destinata a essere ampliata dallo sviluppatore.

Aree funzionali

  • Identità e profilazione: sysPersone, sysUtenti, sysSistemi, sysProfili, sysUtentiProfili, sysFunzioni, sysProfiliFunzioni, sysRuoli, sysModuli, sysVisibilita.

  • Registrazione: sysRegistrazioniRichieste e i valori di registrazione presenti in Configuration.

  • 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.