alfresco plantinsenequezhao

Upload: sksow

Post on 30-May-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Alfresco PlantinSenequeZhao

    1/65

    Presentation dun CMS : Alfresco

    Presentation Alfresco

    Ludovic Plantin, Frederic Seneque, Xu Zhao

    PolytechGrenoble

    Decembre 2008

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 1 / 35

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    2/65

    Plan

    Plan de la presentation

    1 Introduction

    2 Les CMS

    3 La gestion des documents

    4 Workflow

    5 Repartition et replication

    6 Conclusion

    7 Bibliographie

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 2 / 35

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    3/65

    Introduction

    Introduction

    Pourquoi une presentation sur Alfresco ?

    Un outil libre donnant loccasion de parler des worklows en entreprise

    Un outil souvent utilise par les societes de services (que vous aurez doncpeut-etre a utiliser un jour)

    Une approche differente des problemes de repartition de charge, de laduplication de donnees...

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 3 / 35

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    4/65

    L CMS Q CMS ?

  • 8/9/2019 Alfresco PlantinSenequeZhao

    5/65

    Les CMS Quest-ce quun CMS ?

    Quest-ce quun CMS ?

    CMS/SGC : Une application informatique servant a creer, editer, gerer et publierdu contenu de maniere organisee et automatisee.

    Ils sont frequemment utilises pour le stockage de fichiers, le controle de version, et

    ledition de documents tels que des articles de presse, etc.

    Ils peuvent manipuler tous types de contenu :

    Documents bureautiques

    Des fichiers multimedia (image, audio, video)

    Documents electroniquesContenu Web

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 5 / 35

    Les CMS Les a antages des CMS

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    6/65

    Les CMS Les avantages des CMS

    Les avantages des CMS

    Accessibilite : Linterface dadministration, accessible a partir dun simplenavigateur internet, autorise la mise a jour du contenu pour tous lescollaborateurs, quils soient internes ou externes a la societe ou lorganisation.

    Autonomie,simplicite : Les operations elementaires ne necessitent aucuneconnaissance en programmation ni dHTML

    Multi-utilisateur et travail collaboratif : Chaque collaborateur peut avoirun compte qui lui est propre et a des droits precis. Un espace de travailcollaboratif est souvent present.

    Retour sur investissement rapide :

    Cout dacquisition et dintegration inexistant ou tres faible pour les logicielslibresCout dacquisition variable pour les logiciels commerciaux.Gains sur les couts de traitement : mise a jour simplifiee, automatisation destraitements (importation, exportation, mise en ligne, ...)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 6 / 35

    Les CMS Les differents CMS

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    7/65

    Les CMS Les differents CMS

    Les differents CMS

    Plusieurs types de CMS :

    Publication darticles sur le web : SPIP (Open-source)

    Gestion de documents dentreprises : Alfresco (Open-source), Documentum(Proprietaire)

    Assembleur de site web : Drupal (Open-source)

    Publications de videos : CoreMedia CMS (Proprietaire)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 7 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    8/65

    Les CMS Les avantages des solutions Open Source

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    9/65

    Les CMS Les avantages des solutions Open Source

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    10/65

    g p

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    11/65

    g

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    12/65

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    13/65

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    14/65

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Les avantages des solutions Open Source

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    15/65

    Les avantages des solutions Open Source

    Les avantages des solutions Open Source :

    Universalite des developpeurs(pas seulement une equipe)

    Correction des erreurs (bugs) rapides

    Meilleure securite

    Personnalisation possible

    Independance par rapport au fournisseur

    Support de la communaute

    Avantage economique

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 8 / 35

    Les CMS Presentation Alfresco

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    16/65

    Presentation Alfresco

    Alfresco :

    Un ECM(Enterprise Content Management) Open source en langage JAVA

    Cree en 2005 par John Newton et John Powell

    Derniere version stable (3.0) le 31 octobre 2008

    Les avantages dAlfresco :

    Portabilite : Compatible avec de nombreux OS, serveur dapplications et BD(application JEE)

    Fonctionnalite : Gestion de documents, de contenu web, ... Possibilite decreer des clients riches/lourds via lAPI

    Nombreuses extensions : Facebook, MICROSOFT Office, Iphone, wiki...

    Personnalisation : Nombreuses solutions realisees autour dAlfresco (ex :Open Wide)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 9 / 35

    Les CMS Le reseau de partenaire Alfresco

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    17/65

    Le reseau de partenaire Alfresco

    Alfresco est un logiciel Open-source qui peut donc etre modifie pour fournir une

    application personnalisee. A ce titre Alfresco entretient un reseau de partenairescapables dexpertiser, configurer, personnaliser et mettre en place des solutionsbasees sur Alfresco pour des clients dans le monde entier.

    Voici quelques unes des organisations utilisant Alfresco :

    Alfresco takes ECM from the Client-Server World of the 90s into the SOA, Web

    Services and Aspect Oriented World of Today

    Romain Sutton, PDG de Technical Architecture - Reed Managed Services plc

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 10 / 35

    La gestion des documents

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    18/65

    La gestion des documents

    1 Introduction

    2 Les CMS

    3 La gestion des documentsMode dacces aux documentsOperations possibles sur les documentsMode de stockage des donneesDemonstration

    4 Workflow

    5 Repartition et replication

    6 Conclusion

    7 Bibliographie

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 11 / 35

    La gestion des documents Mode dacces aux documents

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    19/65

    Mode dacces aux documents

    Via le navigateur web (HTTP)

    Via un disque dur monte en reseau :

    Network File System(NFS)Common Internet File System(CIFS)Webdav (Web-based Distributed Authoring and Versioning)

    Via FTP (File Transfer Protocol)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 12 / 35

    La gestion des documents Operations possibles sur les documents

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    20/65

    Operations possibles sur les documents

    Operations standards (creer, copier, coller, deplacer, supprimer....)

    Prise et relachement de verrou (Check in/check out)

    Gestion de version

    Indexage et recherches intelligentes

    Transformation de contenu (ex : generation automatique de pdfs)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 13 / 35

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    21/65

    La gestion des documents Demonstration

  • 8/9/2019 Alfresco PlantinSenequeZhao

    22/65

    Demonstration

    Demonstration

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 15 / 35

    Workflow

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    23/65

    Workflow

    1 Introduction

    2 Les CMS

    3 La gestion des documents

    4 WorkflowQuest-ce quun workflow ?Caracteristiques des Workflows

    Les workflows dans AlfrescoDefinitions de workflowsImplementationDemonstration

    5 Repartition et replication

    6 Conclusion

    7 Bibliographie

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 16 / 35

    Workflow Quest-ce quun workflow ?

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    24/65

    Quest-ce quun workflow ?

    Workflow : gestion electronique des processus metiers ou Flux de travail

    Modelisation et la gestion informatique de lensemble des taches a accomplir et

    des differents acteurs impliques dans la realisation dun processus metier

    Un workflow comporte :Des acteurs

    Un circuit de validation

    Des taches a accomplir entre les differents acteurs

    Des delaisDes modes de validation

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 17 / 35

    Workflow Caracteristiques des Workflows

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    25/65

    Caracteristiques des Workflows

    Analogies dans le domaine ECM : ligne dassemblage ou processus de fabrication

    Exemples de Workflow dans la vie courante :

    Lorsquon fait une demande daide au logement, on demarre un workflow

    Quand on realise le suivi dun colis sur Internet, on demande des informations

    (meta-donnees) concernant ce workflowLorsque quelquun ecrit un commentaire sur blog, une etape du workflow estde valider ce commentaire pour lafficher sur le blog.

    ...

    Deux choses a retenir :

    Les deux types dinteractions qui existent sont : hommes a hommes ethomme-machine

    Les workflow sont axes sur les contenus ou les documents

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 18 / 35

    Workflow Les workflows dans Alfresco

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    26/65

    Les workflows dans Alfresco

    Workflows basique Workflows avances

    Configurable par des utilisateurs finauxnon techniciens via linterface webAlfresco

    Utilise les regles, les espaces et les

    actionsNe peux traiter quun processus avecdes transition avant et/ou arriere

    Ne permet pas de faire des processusen parallele, des coupure, des jointureset des decisions

    Ne maintiens pas letat et les

    meta-donnees concernant le processuslui meme

    Definit par les analyste et lesdeveloppeurs via Eclipse

    Utilise les fonctionnalites du JBoss jBPM workflow Engine

    Modelise tous les processusmetiers(decisions,split,jointure,fluxparalleles, sous-processus, etatsdattente et timer

    Ne permet pas de faire des processusen parallele, des coupure, des jointureset des decisions

    Maintien les etats et les variables deprocessus

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 19 / 35

    Workflow Definitions de workflows

    fl

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    27/65

    Moteur de Workflows

    Type de Noeud DescriptionStart-state Noeud initiateurEnd-state Noeud de terminaisonState Etat dattente. Peut seulement etre signale en

    cas de transition activeeNode Noeud ou on peut executer une actionFork Cree des processus paralleles concurrents

    Decision Choix parmis plusieurs chemins dexecutions

    A

    B

    T SignalA

    B T

    C D

    E

    C D

    E

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 20 / 35

    Workflow Implementation

    I l i

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    28/65

    Implementation

    Fichiers du workflow

    Creer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le (( RessourceBundle ))Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    I l i

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    29/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le (( RessourceBundle ))Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    I l t ti

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    30/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le (( RessourceBundle ))Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    I l t ti

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    31/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le (( RessourceBundle ))Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    I l t ti

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    32/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le((

    RessourceBundle))

    Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    Implementation

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    33/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le((

    RessourceBundle))

    Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    Implementation

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    34/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le((

    RessourceBundle))

    Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Implementation

    Implementation

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    35/65

    Implementation

    Fichiers du workflowCreer le fichier de definition (le squelette)

    Integrer le comportement du workflow dans le squelette

    Creer le fichier de modele des taches

    Creer le((

    RessourceBundle))

    Declarer les interfaces webs du modele des taches

    Deploiement

    Definir le contexte dutilisation du workflow

    Deployer le workflow via la console de workflow

    Redemarrer le serveur Alfresco

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 21 / 35

    Workflow Demonstration

    Demonstration

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    36/65

    Demonstration

    Demonstration

    Init

    End

    Review

    Resubmit

    Submit

    Approve

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 22 / 35

    Repartition et r eplication

    La repartition et la replication

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    37/65

    La repartition et la replication

    1 Introduction

    2 Les CMS

    3 La gestion des documents

    4 Workflow

    5 Repartition et replicationArchitecture de baseRepartition de la chargeReplication de lentrepot de contenuReplication de la base de donneesDemonstration

    6 Conclusion

    7 Bibliographie

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 23 / 35

    Repartition et r eplication Architecture de base

    Architecture de base

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    38/65

    Architecture de base

    Entrept decontenu

    (systme de fichier)

    Base de donne(MySQL)

    Serveur Web (Tomcat)

    EHCache

    Index de recherche(pour Lucene)

    Client

    (HTTP, CIFS, FTP...)

    Alfresco

    Entrepot de Contenu :sauvegarde le contenu dechaque fichier utilisateur dansun fichier avec un identifiantunique...

    Base de donnees : stocke lesmetas donnees, lesworkflows...

    Systeme dindexation pour les

    recherchesEHCache : cache applicatif(entre autres pour Hibernate)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 24 / 35

    Repartition et r eplication Architecture de base

    Inconvenients de cette architecture

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    39/65

    Inconvenients de cette architecture

    Entrept decontenu

    (systme de fichier)

    Base de donne(MySQL)

    Serveur Web (Tomcat)

    EHCache

    Index de recherche(pour Lucene)

    Client

    (HTTP, CIFS, FTP...)

    AlfrescoRisque de pertes de donnees

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 25 / 35

    Repartition et r eplication Architecture de base

    Inconvenients de cette architecture

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    40/65

    Inconvenients de cette architecture

    Entrept decontenu

    (systme de fichier)

    Base de donne(MySQL)

    Serveur Web (Tomcat)

    EHCache

    Index de recherche(pour Lucene)

    Client

    (HTTP, CIFS, FTP...)

    AlfrescoRisque de pertes de donnees

    Multiples points de fragilites

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 25 / 35

    Repartition et r eplication Architecture de base

    Inconvenients de cette architecture

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    41/65

    Inconvenients de cette architecture

    Entrept decontenu

    (systme de fichier)

    Base de donne(MySQL)

    Serveur Web (Tomcat)

    EHCache

    Index de recherche(pour Lucene)

    Client

    (HTTP, CIFS, FTP...)

    AlfrescoRisque de pertes de donnees

    Multiples points de fragilites

    Passage a lechelleuniquement vertical

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 25 / 35

    Repartition et r eplication Architecture de base

    Inconvenients de cette architecture

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    42/65

    Entrept decontenu

    (systme de fichier)

    Base de donne(MySQL)

    Serveur Web (Tomcat)

    EHCache

    Index de recherche(pour Lucene)

    Client

    (HTTP, CIFS, FTP...)

    AlfrescoRisque de pertes de donnees

    Multiples points de fragilites

    Passage a lechelleuniquement vertical

    Faible disponibilite

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 25 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    43/65

    p g

    Idee : Repartir les clients sur plusieurs serveurs

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    44/65

    p g

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    45/65

    Repartition et r eplication Repartition de la charge

    Repartition de charge

  • 8/9/2019 Alfresco PlantinSenequeZhao

    46/65

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Configuration statique

    Routeurs repartiteurs de charge (conservation des associations serveur/ip)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    47/65

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Configuration statique

    Routeurs repartiteurs de charge (conservation des associations serveur/ip)

    Entrees DNS multiples

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    48/65

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Configuration statique

    Routeurs repartiteurs de charge (conservation des associations serveur/ip)

    Entrees DNS multiples

    Mix des solutions precedentes

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    49/65

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Configuration statique

    Routeurs repartiteurs de charge (conservation des associations serveur/ip)

    Entrees DNS multiples

    Mix des solutions precedentes

    Comment offrir la meme vision des donnees a travers les differents serveurs ?

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    50/65

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Configuration statique

    Routeurs repartiteurs de charge (conservation des associations serveur/ip)

    Entrees DNS multiples

    Mix des solutions precedentes

    Comment offrir la meme vision des donnees a travers les differents serveurs ?

    Une solution est dutiliser une base de donnees et un entrepot de contenucommun

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Repartition de la charge

    Repartition de charge

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    51/65

    Idee : Repartir les clients sur plusieurs serveurs

    Comment les repartir ?

    Configuration statique

    Routeurs repartiteurs de charge (conservation des associations serveur/ip)

    Entrees DNS multiples

    Mix des solutions precedentes

    Comment offrir la meme vision des donnees a travers les differents serveurs ?

    Une solution est dutiliser une base de donnees et un entrepot de contenucommun

    Probleme : deux points de fragilite limitant le passage a lechelle

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 26 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Objectifs

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    52/65

    Objectifs :

    Augmenter la fiabilite en dupliquant les donnees concernant le contenu

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 27 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Objectifs

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    53/65

    Objectifs :

    Augmenter la fiabilite en dupliquant les donnees concernant le contenu

    Conserver lindependance des differents serveurs

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 27 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Objectifs

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    54/65

    Objectifs :

    Augmenter la fiabilite en dupliquant les donnees concernant le contenu

    Conserver lindependance des differents serveurs

    Offrir une vision coherente a travers les differents serveurs

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 27 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Objectifs

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    55/65

    Objectifs :

    Augmenter la fiabilite en dupliquant les donnees concernant le contenu

    Conserver lindependance des differents serveurs

    Offrir une vision coherente a travers les differents serveurs

    Pourvoir acceder rapidement aux donnees

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 27 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Objectifs

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    56/65

    Objectifs :

    Augmenter la fiabilite en dupliquant les donnees concernant le contenu

    Conserver lindependance des differents serveurs

    Offrir une vision coherente a travers les differents serveurs

    Pourvoir acceder rapidement aux donnees

    Solution proposee :

    Un entrepot primaire unique pour chaque serveur

    Un entrepot secondaire partage par tous

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 27 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Fonctionnement

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    57/65

    Fonctionnement :

    En ecriture :

    Creation dun identifiant unique liant les informations metas du fichier et soncontenuEcriture du contenu avec lidentifiant dans lentrepot primaireDuplication du contenu dans lentrepot secondaire

    Ecriture de la relation meta-infos/id dans la BD

    En lecture :

    Recuperation de lid dans la BDRecherche du contenu dans lentrepot primaire

    Sil nest pas present, duplication de celui-ci depuis lentrepot secondaire verslentrepot primaire

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 28 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : Fonctionnement

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    58/65

    Fonctionnement :

    En ecriture :

    Creation dun identifiant unique liant les informations metas du fichier et soncontenuEcriture du contenu avec lidentifiant dans lentrepot primaireDuplication du contenu dans lentrepot secondaire

    Ecriture de la relation meta-infos/id dans la BD

    En lecture :

    Recuperation de lid dans la BDRecherche du contenu dans lentrepot primaire

    Sil nest pas present, duplication de celui-ci depuis lentrepot secondaire verslentrepot primaire

    Problemes : Validite du cache et de la base dindex pour les recherches

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 28 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Replication de lentrepot : nouvelle architecture

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    59/65

    Entrept decontenu secondaire

    Base de donneIndex

    Client

    Rpartiteurde charge

    Index

    multicast

    Serveur Web

    EHCache

    Alfresco

    Rplicateurde contenu

    Serveur Web

    EHCache

    Alfresco

    Rplicateurde contenu

    Entrept decontenuprimaire

    Entrept decontenuprimaire

    Un entrepot de contenuprimaire par serveur

    Un entrepot de contenupartage entre lesserveurs

    Un composant gerant lareplication du contenudans les deux entrepotspar serveur

    Signaux multicastsentre les caches desserveurs pour maintenirleur coherence

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 29 / 35

    Repartition et r eplication Replication de lentrepot de contenu

    Avantages

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    60/65

    Coherence des donnees entre les differents serveurs

    Pas de conflit ecriture/ecriture ou lecture/ecriture possible sur lentrepotsecondaire (grace a lidentifiant unique)

    Lacces aux fichiers est plus rapide grace a lutilisation des entrepotsprimaires

    Ajout possible dun serveur sans avoir a redemarrer ou a reconfigurer lesautres

    Les entrepots primaires peuvent etre configures pour ne garder que les

    fichiers les plus utilises, limitant ainsi lespace disque necessairePossibilite dutilisation dun systeme de fichiers distribue (SAN, P2P ouautres) pour lentrepot secondaire.

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 30 / 35

    Repartition et r eplication Replication de la base de donnees

    Replication de la base de donnees

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    61/65

    Differentes possibilites en fonction du choix de la base de donnees

    Configuration matre esclave, lesclave sauvegarde et prend le relais si leprimaire tombe

    Master/Master, les deux (ou plus) base de donnees traitent des requetes enparallele, et communiquent pour gerer les ecritures concurrentes et les misesa jour. Efficace car plus de lectures que decritures et pas besoins de refaireles calculs avec les mises a jour.

    Autre exemple : MySQL cluster (haute disponibilite 99,999%) : utilise des

    nuds de stockages et des nuds de traitements

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 31 / 35

    Repartition et r eplication Demonstration

    Demonstration

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    62/65

    Demonstration

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 32 / 35

    Conclusion

    Conclusion

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    63/65

    Pour resumer :

    Alfresco est un outil libre tres employe pour gerer intelligemment les

    documents en entrepriseIl offre la possibilite de creer des workflows adaptes a ses besoins

    Il supporte le passage lechelle et peut etre hautement disponible

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 33 / 35

    Bibliographie

    Bibliographie

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    64/65

    Site commercial dAlfresco : http ://www.alfresco.com/fr/

    Wiki dAlfresco : http ://wiki.alfresco.com/wiki/High Availability Configuration V1.3

    Differentes presentation dAlfresco : http ://www.slideshare.net/ (Anglais)

    Presentation video sur le clustering : http ://tinyurl.com/alfresco-cluster (Anglais)

    MySQL Cluster 6.2 : Livre blanc de Mikael Ronstrom, MySQL AB et LarsThalmann, MySQL AB

    Articles de Jeff Potts : http ://ecmarchitect.com/ (Anglais)

    Ehcache : http ://ehcache.sourceforge.net/ (Anglais)

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 34 / 35

    Des questions ?

    Des questions ?

    http://goforward/http://find/http://goback/
  • 8/9/2019 Alfresco PlantinSenequeZhao

    65/65

    Des questions ?

    Plantin, Seneque, Xu (Polytech) Presentation Alfresco Decembre 2008 35 / 35

    http://goforward/http://find/http://goback/