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