Jug Ancona Meeting2009 02

Preview:

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