Upload
francesco-paladino
View
2.020
Download
2
Embed Size (px)
DESCRIPTION
Jug Ancona Meeting presentazione del 25/03/2009
Citation preview
JUG MarcheItaly
Enterprise Content Management
Francesco PaladinoJug Leader
Jug Ancona – Jug MarcheMeeting del 25/03/2009
Falconara Marittima (AN)Italy
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
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)
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
...cos'è questo fiore?
…….Alfresco!
Una soluzione Open Source per ECM
In poche parole…. si tratta di
…un framework…
…estendibile…
….basato su componenti Open Source…
…aderente ad alcuni standard…
… con licenza Open Source…
… e licenza commerciale…
…per l’Enterprise Content Management
Alfresco è una soluzione per ECM
Full-text Indexes& Categories Storage
MetadataDBMS
App ServerMessage System Integration
Virtual File System
WebDAV
CIFS
FTPContent
Repository
Business Process
Engine
CRM
Web Services
Portal Server
Knowledge Portals
High Availability
Hot Standby
Ok, da dove cominciamo ?
Ma da dove viene questo Alfresco ???
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.
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.
Ma ora entriamo in Alfresco !
Comininciamo dalle basi…
“In principio era un Nodo…”
Io sono un piccolo nodo
e ogni Nodo è di un …
Tipo
ogni tipo di Nodo è caratterizzato da un insieme di …
Proprietà
…. e dalle relazioni (opzionali o obbligatorie) con altri nodi attraverso le
…
Associazioni
1. Gerarchica (Padre/Figlio)
2. Peer to peer (source/target)
N.B.: ogni Nodo ha sempre un padre
esistono due tipologie di associazione
Ogni Nodo vive all’interno di uno..
Store
1. Un Nodo Root2. Un Protocollo3. Un Identificativo
Uno Store è caratterizzato da:
Ogni Nodo può condividere propietà e associazioni attraverso un...
aspect
Ogni tipo, aspect, nodo, associazione vengono definiti attraverso un….
qname
– Estesa{http://www.opensourceecm.fr/model/couleur/1.0}ColorAspect
– RidottaOpensourceecm:ColorAspect
Un qname può essere rappresentato nella forma:
E’ possibile aggiungere azioni ad un nodo utilizzando...
Le regole
Per identificare un nodo all’interno di uno store viene utilizzato...
UUID
Il concatenamento di: protocollo store, nome store e UUUID del nodo creano
una...
NodeRef
A parte i colori c’è dell’altro?!?....
Torniamo nella realtà…
Cosa succede quando inseriamo del contenuto in Alfresco ..
Viene la creato un nodo
Ogni cosa è un Nodo !!!
Si, sono ancora io
Si definisce– Un parent– Un associazione tra il nodo e il
parent– Il tipo di Nodo (Qname)– Le proprietà del nodo
Come si crea un Nodo
Come si crea un nodoIo sono il futuro padre di un nuovo nodo
Il mio tipo/Qname è cm:folder
Come si crea un nodoOra ho un figlio
Io sono un nuovo nodo!Sono file.txt
Come si crea un nodoIl nome della mia associazione è :
{http://www.alfresco.org/model/content/1.0}file.txt
Esiste un associazione tra mio padre e me
Si tratta di una associazione padreFiglio
Il Qname della mia associazione è:
cm:contains
Come si crea un nodo
Allora è possibile essere differenti dal proprio padre
Io sono figlio di mio padre, ma il mio tipo è{http://www.alfresco.org/model/content/1.0}content
Come si crea un nodoDal giorno in cui sono nato
ho delle proprietà
La mia data di nascita è :
Sept 19 22:10.08 CEST 2006
(Qname: cm:created)
Ma non ho nessuna
descrizione
Il mio titolo è <<file.txt>>
Qname cm:title
Come si crea un nodo
Ho solo una prorietà di content (Qname cm:content) che contiene il link al contenuto del filet
Ok, e in Alfresco come si vede tutto questo ?!?....
Breve demo:il Node Browser
Ok i nodi sono interessanti ma come si gestiscono ???
Parliamo ora di servizi…
– Attività svolta da qualcuno o qualcosa che serve una causa o aiuta una persona
Un servizio ?
Che tipo di servizi offre Alfresco…
Servizi per gestire i Nodi
Chi sei tu che mi gestisci?
Come si accede ai servizi ?
Con il registro dei Servizi
Registro dei servizi???
Alfresco Registro dei Servizi
– Servizio ufficiale o luogo dove è possibile trovare, invocare e utilizzare i servizi
● Un equivalente è l’elenco telefonico o un Directory
Un registro ?
Salve io sono il Registro dei servizi di Alfresco !
Conosco e contengo tutti i Servizi di Alfresco !
Io sono il SearchServiceIo sono il NodeService
Io l’ AuditServiceIo il RuleService
Io sono …
Ok puoi farci qualche esempio???
Il NodeService naturalmente !
Il NodeService ci permette di eseguire…
Create
Il NodeService ci permette di eseguire…
Set
Il NodeService ci permette di eseguire…
Get
Il NodeService ci permette di eseguire…
Delete
Qualche esempio
Chiamare un servizio dal registro
Chiamare il NodeService
NS
Usare il NodeService
NS
Chiamatemi Re dei Nodi
NS
Le mie competenze sono…
Frammenti di codice java
● Creare uno store:– ServiceRegistry.getNodeService.createStore(pro
tocol,identifier)● Creare un Nodo
– ServiceRegistry.getNodeService.createNode(parentRef, assocTypeQname, assocQname, nodeTypeQname, properties)
Frammenti di codice java
● Associazione Parent:– ServiceRegistry.getNodeService.getParentAssoc
s(NodeRef)● Tutte le Proprietà del nodo
– ServiceRegistry.getNodeService.getProperties(NodeRef)
● Una Proprietà del nodo– ServiceRegistry.getNodeService.getProperty(No
deRef,QName)
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)
Frammenti di codice java
● Rimozione di un associazione:– ServiceRegistry.getNodeService.removeChildAs
sociation (ChildAssociationRef)● Aggiunta di un associazione
– ServiceRegistry.getNodeService.addChild (parentRef, childRef, assocTypeQname, qname)
E’ possibile definire Alfresco come un insieme di servizi e componenti per la gestione di nodi
Servizi e componenti
Protocolli
●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
Alfresco: Principi architetturali
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
Alfresco in azione !
Le console diamministrazione
Le console amministrative
● Navigazione nodi:– http://localhost:8080/alfresco/faces/jsp/admin/no
de-browser.jsp
● Amministrazione Repository– http://localhost:8080/alfresco/faces/jsp/admin/rep
oadmin-console.jsp
● Gestione Workflow– http://localhost:8080/alfresco/faces/jsp/admin/workflow-console.jsp
(http://wiki.alfresco.com/wiki/Workflow_Console)
● Gestione Repository AVM– http://localhost:8080/alfresco/faces/jsp/admin/avm-console.jsp
(http://wiki.alfresco.com/wiki/AVM_Console)
Le console amministrative
● Gestione Web client– http://localhost:8080/alfresco/faces/jsp/admin/webclientconfig-console.jsp
(http://wiki.alfresco.com/wiki/Workflow_Console)
● Gestione Repository AVM (Advanced Versioning Manager)– http://localhost:8080/alfresco/faces/jsp/admin/avm-console.jsp
(http://wiki.alfresco.com/wiki/AVM_Console)
Le console amministrative
Alfresco nei prossimi jug-meeting
● Alfresco WCM approfondimento● Alfresco Content Type approfondimento● Alfresco WebScript approfondimento● Alfresco e Workflow (BPM)
Riferimenti fondamentali…
● http://wiki.alfresco.com/wiki/Main_Page● http://www.alfresco.com● http://forums.alfresco.com/en/● http://ecmarchitect.com/● http://www.opensourceecm.fr
Domande ???
JUG MarcheItaly
Grazie !!
Francesco PaladinoJug coordinatorJug Ancona - Jug Marche