JWT: JSON Web Tokens - bye bye Session and Cookie - RFC7519
Jug Ancona Meeting2009 02
1. JUG Marche
Italy
Enterprise Content
Management
Francesco Paladino
Jug Leader
Jug Ancona – Jug Marche
Meeting del 25/03/2009
Falconara Marittima (AN)
Italy
2. Agenda
Panoramica su Alfresco
●
Le basi del Content Repository
●
Nodi – Proprietà – Associazioni- Aspect
●
L’architettura Services Oriented
●
Jug Ancona – Alfresco (prossimi meeting)
●
Panoramica su Share
●
Panoramica su WCM
●
3. Mi presento…
Fondatore e Coordinatore del Jug Ancona e
●
del Jug Marche
Sviluppatore Java : SCJP 1.4 - SCWCD 1.4
●
Coordino un gruppo di sviluppo (Java e .Net)
●
Mi occupo di processi di Document and
●
Content Management da più di 8 anni,
analizzando ,confrontando diverse soluzioni
applicative open source e proprietarie
(OpenCMS, Magnolia, Daisy,
Typo3,Slide,Docway,SharePoint, Jaco)
4. Ringraziamenti
A tutti coloro che investono parte (anche
●
minima del proprio tempo) per condividere e
mettere a disposizione competenze e
conoscenze
A Internet
●
A tutte le comunità di progetti open source
●
A JM Pascal di www.opensourceecm.fr
●
16. Alfresco è una soluzione per ECM
Web Services
Knowledge
Message Portals CRM
App Server
System Portal Server
Business
Integration
Process
Engine
Virtual File Content
High
FTP
System Repository
Availability
CIFS
WebDAV
Hot
Full-text Indexes Standby
Metadata
& Categories DBMS
Storage
19. Brevi cenni storici…
•Gennaio 2005 – un team fuoriscito da
Documentum (tra i quali John Newton il co-
fondatore) inizia a sviluppare Alfresco.
•Ottobre 2005 – lancio del prodotto Alfresco.
•Maggio 2006 - Alfresco Enterprice è Open
Source al 100%.
•Settembre 2006 - Alfresco lancia le soluzioni:
WCM e RM.
•Novembre 2006 - Alfresco, MySQL e Red Hat
realizzano il primo benchmark open source
JSR-170.
20. Brevi cenni storici…
•Dicembre 2006 - Alfresco annuncia il
primo sistema ECM incorporato.
•Febbraio 2007 - Alfresco è rilasciato con
licenza GPL.
•Febbraio 2007 – viene rilasciato Alfresco
2.0.
•Dicembre 2007 - Alfresco vince il premio
“Red Herring 100 Global 2007 Award”
•Gennaio 2008 – il benchmark sui
Repository Open Source JSR-170
Compliant supera i 100 milioni di oggetti.
32. Uno Store è caratterizzato da:
Un Nodo Root
1.
Un Protocollo
2.
Un Identificativo
3.
33.
34. Ogni Nodo può condividere propietà e
associazioni attraverso un...
aspect
35.
36. Ogni tipo, aspect, nodo, associazione
vengono definiti attraverso un….
qname
37.
38. Un qname può essere rappresentato
nella forma:
Estesa
–
{http://www.opensourceecm.fr/model/couleur/1.0}ColorAspect
Ridotta
–
Opensourceecm:ColorAspect
48. Viene la creato un nodo
Ogni cosa è un Nodo !!!
Si, sono ancora io
49. Come si crea un Nodo
Si definisce
Un parent
–
Un associazione tra il nodo e il
–
parent
Il tipo di Nodo (Qname)
–
Le proprietà del nodo
–
50. Come si crea un nodo
Io sono il futuro padre
di un nuovo nodo
Il mio tipo/Qname è
cm:folder
51. Come si crea un nodo
Ora ho un figlio
Io sono un nuovo nodo!
Sono file.txt
52. Come si crea un nodo
Il nome della mia
associazione è :
Il Qname della mia {http://www.alfresco.org/mo
associazione è: del/content/1.0}file.txt
cm:contains
Esiste un
associazione tra
Si tratta di una
mio padre e me
associazione
padreFiglio
53. Come si crea un nodo
Allora è
possibile essere
Io sono figlio di mio
differenti dal
padre, ma il mio tipo è
proprio padre
{http://www.alfresco.org
/model/content/1.0}cont
ent
54. Come si crea un nodo
Dal giorno in cui sono nato
ho delle proprietà
Il mio titolo è
<<file.txt>>
Qname cm:title
La mia data di nascita
è:
Sept 19 22:10.08
Ma non ho
CEST 2006
nessuna
(Qname: cm:created)
descrizione
55. Come si crea un nodo
Ho solo una prorietà di
content (Qname
cm:content) che
contiene il link al
contenuto del filet
56. Ok, e in Alfresco come si vede
tutto questo ?!?....
67. Un registro ?
Servizio ufficiale o luogo
–
dove è possibile trovare,
invocare e utilizzare i
servizi
Un equivalente è l’elenco telefonico o un
●
Directory
85. Frammenti di codice java
Creare uno store:
●
ServiceRegistry.getNodeService.createStore(pro
–
tocol,identifier)
Creare un Nodo
●
ServiceRegistry.getNodeService.createNode(par
–
entRef, assocTypeQname, assocQname,
nodeTypeQname, properties)
86. Frammenti di codice java
Associazione Parent:
●
ServiceRegistry.getNodeService.getParentAssoc
–
s(NodeRef)
Tutte le Proprietà del nodo
●
ServiceRegistry.getNodeService.getProperties(N
–
odeRef)
Una Proprietà del nodo
●
ServiceRegistry.getNodeService.getProperty(No
–
deRef,QName)
87. Frammenti di codice java
Elenco degli store:
●
ServiceRegistry.getNodeService.getStores ()
–
Nodo Root dello store
●
ServiceRegistry.getNodeService.getRootNode
–
(StoreRef)
Associazione del nodo
●
ServiceRegistry.getNodeService.getChildAssocs
–
(NodeRef)
88. Frammenti di codice java
Rimozione di un associazione:
●
ServiceRegistry.getNodeService.removeChildAs
–
sociation (ChildAssociationRef)
Aggiunta di un associazione
●
ServiceRegistry.getNodeService.addChild
–
(parentRef, childRef, assocTypeQname, qname)
89. E’ possibile definire Alfresco come un insieme di
servizi e componenti per la gestione di nodi
92. Alfresco: Principi architetturali
●Il contentuo è un servizio
●Rendere ogni cosa
modulare
●Uso di scripting leggero e
standard
●Adattabile all’ambiente
dell’utente
●Web come scelta di
delivery
●Costante innovazione
94. Alfresco in azione !
●Panoramica webclient
●Gestione utenti
●Creazione di uno spazio
●Creazione documento
●Upload e creazione
●Esempio regole/azioni
●Ricerca
●Accenni a WCM
●Accenni a Share