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
Scarica

OpenACS presentation