Quasi tutte le applicazioni Web hanno gli stessi fabbisogni 1. 2. 3. 4. Rappresentare persone e relazioni Controllare l’accesso a funzionalità e dati Gestire contenuti Gestire processi Persone Spesso dobbiamo trovare risposte a domande che toccano tutte le 4 aree: Può una certa persona Permesso …eseguire questa funzione …su questo contenuto? Processo Contenuto OpenACS 1 Rappresentare persone e relazioni OpenACS può rappresentare e controllare qualsiasi relazione che riguarda le persone. Party Un party è un gruppo o un utente. Gruppo Utente Un gruppo è un insieme di persone Membership Una persona può essere membro di qualsiasi gruppo. Una singola persona è un utente. Composizione Un gruppo può essere composto di altri gruppi. I membri del sottogruppo sono anche membri del gruppo padre. OpenACS L‘accesso alla funzionalità è possibile attraverso: -pagine Web per utenti -API per gli sviluppatori 2 Permessi su gruppi di oggetti I permessi standard sono: Admin Create Write Read Delete Il sistema di permessi di OpenACS è un servizio applicabile a qualsiasi oggetto Gli oggetti sono relazionabili in gerarchie Gli oggetti di più basso livello ereditano i permessi da quelli di livello superiore OpenACS 3 Controllare l’accesso a funzionalità e dati Ha il party x il privilegio y sull’oggetto z? utente un privilegio un oggetto Read membro di un gruppo un privilegio ereditato uno di un gruppo di oggetti Admin Un privilegio può comprenderne altri. Create Read Write OpenACS Una singola API risponde alla domanda “Ha il party x il rivilegio y sull’oggetto z” in tutte le situazioni. 4 Benefici del sistema di permessi Permessi di qualunque complessità possono essere modellati con poche regole I permessi sono dinamici: nuovi utenti e nuovi oggetti ereditano i permessi dalle corrispondenti gerarchie Organizzazioni di qualsiasi complessità possono essere modellate facilmente OpenACS 5 Architettura concettuale Application Server Vengono creati i data source Templates 3 HTML Dati e templates vengono fusi Application Logic Request Processor 1 HTTP Request 2 TCL Script Templating System Flusso dati Data Storage Il Request Processor mappa la URL sullo script Stored procedures RDBMS Web Server HTTP Response HTTP Request Browser OpenACS 6 Architettura Software OpenACS CMS Other OpenACS apps Forums Custom apps Core Services Versioning, Workflow, Notifications, Templating Kernel Permissions, Security, User & Group Management Application Server Aolserver RDBMS PostgreSQL, Oracle Operating System Linux, HP-UX, AIX, Solaris, Windows OpenACS 7 Applicazioni costruite su OpenACS OpenACS costituisce una piattaforma per un crescente numero di applicazioni. Spam Content Management System News Chat Workflow FAQ File Storage E-URBIS Forums Calendar Permessi Utenti OpenACS kernel Processi Contenuto Infrastruttura OpenACS 8