Jug Ancona Meeting2009 02

102
JUG Marche Italy Enterprise Content Management Francesco Paladino Jug Leader Jug Ancona – Jug Marche Meeting del 25/03/2009 Falconara Marittima (AN) Italy

description

Jug Ancona Meeting presentazione del 25/03/2009

Transcript of Jug Ancona Meeting2009 02

Page 1: Jug Ancona Meeting2009 02

JUG MarcheItaly

Enterprise Content Management

Francesco PaladinoJug Leader

Jug Ancona – Jug MarcheMeeting del 25/03/2009

Falconara Marittima (AN)Italy

Page 2: Jug Ancona Meeting2009 02

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

Page 3: Jug Ancona Meeting2009 02

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)

Page 4: Jug Ancona Meeting2009 02

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

Page 5: Jug Ancona Meeting2009 02

...cos'è questo fiore?

Page 6: Jug Ancona Meeting2009 02

…….Alfresco!

Page 7: Jug Ancona Meeting2009 02

Una soluzione Open Source per ECM

Page 8: Jug Ancona Meeting2009 02

In poche parole…. si tratta di

Page 9: Jug Ancona Meeting2009 02

…un framework…

Page 10: Jug Ancona Meeting2009 02

…estendibile…

Page 11: Jug Ancona Meeting2009 02

….basato su componenti Open Source…

Page 12: Jug Ancona Meeting2009 02

…aderente ad alcuni standard…

Page 13: Jug Ancona Meeting2009 02

… con licenza Open Source…

Page 14: Jug Ancona Meeting2009 02

… e licenza commerciale…

Page 15: Jug Ancona Meeting2009 02

…per l’Enterprise Content Management

Page 16: Jug Ancona Meeting2009 02

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

Page 17: Jug Ancona Meeting2009 02

Ok, da dove cominciamo ?

Page 18: Jug Ancona Meeting2009 02

Ma da dove viene questo Alfresco ???

Page 19: Jug Ancona Meeting2009 02

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.

Page 20: Jug Ancona Meeting2009 02

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.

Page 21: Jug Ancona Meeting2009 02

Ma ora entriamo in Alfresco !

Page 22: Jug Ancona Meeting2009 02

Comininciamo dalle basi…

Page 23: Jug Ancona Meeting2009 02

“In principio era un Nodo…”

Io sono un piccolo nodo

Page 24: Jug Ancona Meeting2009 02

e ogni Nodo è di un …

Tipo

Page 25: Jug Ancona Meeting2009 02
Page 26: Jug Ancona Meeting2009 02

ogni tipo di Nodo è caratterizzato da un insieme di …

Proprietà

Page 27: Jug Ancona Meeting2009 02
Page 28: Jug Ancona Meeting2009 02

…. e dalle relazioni (opzionali o obbligatorie) con altri nodi attraverso le

Associazioni

Page 29: Jug Ancona Meeting2009 02

1. Gerarchica (Padre/Figlio)

2. Peer to peer (source/target)

N.B.: ogni Nodo ha sempre un padre

esistono due tipologie di associazione

Page 30: Jug Ancona Meeting2009 02
Page 31: Jug Ancona Meeting2009 02

Ogni Nodo vive all’interno di uno..

Store

Page 32: Jug Ancona Meeting2009 02

1. Un Nodo Root2. Un Protocollo3. Un Identificativo

Uno Store è caratterizzato da:

Page 33: Jug Ancona Meeting2009 02
Page 34: Jug Ancona Meeting2009 02

Ogni Nodo può condividere propietà e associazioni attraverso un...

aspect

Page 35: Jug Ancona Meeting2009 02
Page 36: Jug Ancona Meeting2009 02

Ogni tipo, aspect, nodo, associazione vengono definiti attraverso un….

qname

Page 37: Jug Ancona Meeting2009 02
Page 38: Jug Ancona Meeting2009 02

– Estesa{http://www.opensourceecm.fr/model/couleur/1.0}ColorAspect

– RidottaOpensourceecm:ColorAspect

Un qname può essere rappresentato nella forma:

Page 39: Jug Ancona Meeting2009 02

E’ possibile aggiungere azioni ad un nodo utilizzando...

Le regole

Page 40: Jug Ancona Meeting2009 02
Page 41: Jug Ancona Meeting2009 02

Per identificare un nodo all’interno di uno store viene utilizzato...

UUID

Page 42: Jug Ancona Meeting2009 02
Page 43: Jug Ancona Meeting2009 02

Il concatenamento di: protocollo store, nome store e UUUID del nodo creano

una...

NodeRef

Page 44: Jug Ancona Meeting2009 02
Page 45: Jug Ancona Meeting2009 02

A parte i colori c’è dell’altro?!?....

Page 46: Jug Ancona Meeting2009 02

Torniamo nella realtà…

Page 47: Jug Ancona Meeting2009 02

Cosa succede quando inseriamo del contenuto in Alfresco ..

Page 48: Jug Ancona Meeting2009 02

Viene la creato un nodo

Ogni cosa è un Nodo !!!

Si, sono ancora io

Page 49: Jug Ancona Meeting2009 02

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

Page 50: Jug Ancona Meeting2009 02

Come si crea un nodoIo sono il futuro padre di un nuovo nodo

Il mio tipo/Qname è cm:folder

Page 51: Jug Ancona Meeting2009 02

Come si crea un nodoOra ho un figlio

Io sono un nuovo nodo!Sono file.txt

Page 52: Jug Ancona Meeting2009 02

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

Page 53: Jug Ancona Meeting2009 02

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

Page 54: Jug Ancona Meeting2009 02

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

Page 55: Jug Ancona Meeting2009 02

Come si crea un nodo

Ho solo una prorietà di content (Qname cm:content) che contiene il link al contenuto del filet

Page 56: Jug Ancona Meeting2009 02

Ok, e in Alfresco come si vede tutto questo ?!?....

Page 57: Jug Ancona Meeting2009 02

Breve demo:il Node Browser

Page 58: Jug Ancona Meeting2009 02

Ok i nodi sono interessanti ma come si gestiscono ???

Page 59: Jug Ancona Meeting2009 02

Parliamo ora di servizi…

Page 60: Jug Ancona Meeting2009 02

– Attività svolta da qualcuno o qualcosa che serve una causa o aiuta una persona

Un servizio ?

Page 61: Jug Ancona Meeting2009 02

Che tipo di servizi offre Alfresco…

Page 62: Jug Ancona Meeting2009 02

Servizi per gestire i Nodi

Chi sei tu che mi gestisci?

Page 63: Jug Ancona Meeting2009 02

Come si accede ai servizi ?

Page 64: Jug Ancona Meeting2009 02

Con il registro dei Servizi

Page 65: Jug Ancona Meeting2009 02

Registro dei servizi???

Page 66: Jug Ancona Meeting2009 02

Alfresco Registro dei Servizi

Page 67: Jug Ancona Meeting2009 02

– Servizio ufficiale o luogo dove è possibile trovare, invocare e utilizzare i servizi

● Un equivalente è l’elenco telefonico o un Directory

Un registro ?

Page 68: Jug Ancona Meeting2009 02

Salve io sono il Registro dei servizi di Alfresco !

Page 69: Jug Ancona Meeting2009 02

Conosco e contengo tutti i Servizi di Alfresco !

Page 70: Jug Ancona Meeting2009 02

Io sono il SearchServiceIo sono il NodeService

Io l’ AuditServiceIo il RuleService

Page 71: Jug Ancona Meeting2009 02

Io sono …

Page 72: Jug Ancona Meeting2009 02
Page 73: Jug Ancona Meeting2009 02

Ok puoi farci qualche esempio???

Page 74: Jug Ancona Meeting2009 02

Il NodeService naturalmente !

Page 75: Jug Ancona Meeting2009 02

Il NodeService ci permette di eseguire…

Create

Page 76: Jug Ancona Meeting2009 02

Il NodeService ci permette di eseguire…

Set

Page 77: Jug Ancona Meeting2009 02

Il NodeService ci permette di eseguire…

Get

Page 78: Jug Ancona Meeting2009 02

Il NodeService ci permette di eseguire…

Delete

Page 79: Jug Ancona Meeting2009 02
Page 80: Jug Ancona Meeting2009 02

Qualche esempio

Page 81: Jug Ancona Meeting2009 02

Chiamare un servizio dal registro

Page 82: Jug Ancona Meeting2009 02

Chiamare il NodeService

NS

Page 83: Jug Ancona Meeting2009 02

Usare il NodeService

NS

Chiamatemi Re dei Nodi

Page 84: Jug Ancona Meeting2009 02

NS

Le mie competenze sono…

Page 85: Jug Ancona Meeting2009 02

Frammenti di codice java

● Creare uno store:– ServiceRegistry.getNodeService.createStore(pro

tocol,identifier)● Creare un Nodo

– ServiceRegistry.getNodeService.createNode(parentRef, assocTypeQname, assocQname, nodeTypeQname, properties)

Page 86: Jug Ancona Meeting2009 02

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)

Page 87: Jug Ancona Meeting2009 02

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)

Page 88: Jug Ancona Meeting2009 02

Frammenti di codice java

● Rimozione di un associazione:– ServiceRegistry.getNodeService.removeChildAs

sociation (ChildAssociationRef)● Aggiunta di un associazione

– ServiceRegistry.getNodeService.addChild (parentRef, childRef, assocTypeQname, qname)

Page 89: Jug Ancona Meeting2009 02

E’ possibile definire Alfresco come un insieme di servizi e componenti per la gestione di nodi

Page 90: Jug Ancona Meeting2009 02

Servizi e componenti

Page 91: Jug Ancona Meeting2009 02

Protocolli

Page 92: Jug Ancona Meeting2009 02

●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

Page 93: Jug Ancona Meeting2009 02

Alfresco in azione !

Page 94: Jug Ancona Meeting2009 02

●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 !

Page 95: Jug Ancona Meeting2009 02

Le console diamministrazione

Page 96: Jug Ancona Meeting2009 02

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

Page 97: Jug Ancona Meeting2009 02

● 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

Page 98: Jug Ancona Meeting2009 02

● 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

Page 99: Jug Ancona Meeting2009 02

Alfresco nei prossimi jug-meeting

● Alfresco WCM approfondimento● Alfresco Content Type approfondimento● Alfresco WebScript approfondimento● Alfresco e Workflow (BPM)

Page 100: Jug Ancona Meeting2009 02

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

Page 101: Jug Ancona Meeting2009 02

Domande ???

Page 102: Jug Ancona Meeting2009 02

JUG MarcheItaly

Grazie !!

Francesco PaladinoJug coordinatorJug Ancona - Jug Marche