2. Agenda
Introduction
Architecture
Scalabilité
Administration
Cas d’usage
3. Introduction
Alfresco est une solution ECM (Enterprise Content
Management) complète, open-source et facile à
déployer, qui couvre :
• Gestion de contenu social (SCM)
• Gestion documentaire (GED)
• Travail collaboratif
• Gestion de contenus web (WCM)
• Archivage légal (RM)
• etc …
4. Introduction
Gestion Electronique Gestion de
de Documents contenu Web
Archivage
Collaboration
E-mail
Records Dématérialisation
Management
Gestion des ressources
Workflow Numériques (DAM)
5. Introduction
Alfresco peut être installé comme plateforme de gestion
des contenus, accessibles et pilotés par les différentes
applications de votre SI (vision infrastructure / SOA).
Cela s’appuie sur :
• sa distribution Open-Source et son respect des standards
• son architecture
• sa scalabilité
• ses possibilités d’administration
6. Introduction
OpenSource et standards :
• Spring
• Lucene
• Mybatis
• jBPM
• Freemarker
• Portlets JSR-168
• 3rd party : OpenOffice / ImageMagick / Swftools
• …
7. Introduction
Spring Framework est “le squelette” de l’architecture
d’Alfresco
• Open source Java
• Programmation orientée
aspect
• Injection de dépendance
• Modèle – Vue – Contrôleur
• Une large communauté :
Plus de 2,5 millions de
développeurs Spring
8. Introduction
Alfresco est compatible avec les principaux
environnements d’entreprise :
• OS serveur Linux / Windows : RHEL, Solaris, Ubuntu, Windows
Server, …
• SGBD : MySQL, MS SQL, Oracle, PostGre SQL, DB2, …
• Serveur d’application : Tomcat, jBoss, Oracle WebLogic, Oracle
WebSphere, …
• Navigateurs : FireFox, Internet Explorer, Safari
• Annuaire d’entreprise : LDAP, AD, Kerberos, …
=> Plateforme ouverte, pas de verrouillage propriétaire
(vendor-lockin)
9. Agenda
Introduction
Architecture
Scalabilité
Administration
Cas d’usage
10. Architecture
Composants principaux de l’architecture d’Alfresco :
• Stockage et modélisation des
contenus
• Moteur de gestion de contenus
et services associés
• APIs, protocoles, et
interopérabilité
Les applications clientes
communiquent avec Alfresco
par les APIs et protocoles
11. Architecture : stockage des contenus
Un contenu = un document + des métadonnées
• Système de fichiers :
o Binaires de contenu
o Indexes Lucene
• Base de données :
o Relations (associations)
o métadonnées
o …
12. Architecture : modèles de données
Alfresco définit un modèle de données extensible, souple et
évolutif. Vous pouvez ainsi créer :
• des types de contenus
ex : Type “rapport” (métadonnées : sujet, date d’envoi, résumé, …)
• des aspects
ex : Aspect “client” (métadonnées : nom, référence, contact, …)
• des propriétés
ex : Propriété “référence client” [nombre entier]
• des associations
ex : Association “documents associés”
13. Architecture : modèles de données
• Type :
o Spécialise un contenu (un contenu n’a qu’un seul type)
o Optionnellement définit statiquement des propriétés et
associations
o Exemples : le type “espace”, le type “contenu”, …
• Aspect :
o Qualifie un contenu (un contenu peut posséder plusieurs aspects)
o Optionnellement définit des propriétés et associations
o Peut-être associé à un type statiquement, ou à un objet
dynamiquement au runtime
o Définition réutilisable dans d’autres types
o Exemples : l’aspect “versionnable”, l’aspect “taggable”
14. Architecture : modèles de données
Exemple :
Type = Rapport Type = Contrat Type = Email Type = Cas
Attributs du type Attributs du type Attributs du type Attributs du type
Sujet Date d’effet Sujet Format
Date d’envoi Valeur Expéditeur
Résumé Destinataires
Aspect = Client
Attributs de l’aspect
Nom de client
Référence
Contact
Statut
-> Docs associés
15. Architecture : les services
Les services permettent le pilotage des contenus stockés
dans l’entrepôt Alfresco :
• cycle de vie des contenus
=> création, modification,
suppression, …
• contrôle sur les contenus
=> permissions, verrous
• modèles de contenus
=> propriétés, associations
• workflows
• recherche
• etc …
16. Services Alfresco : le framework Spring
Les services reposent sur le framework Spring :
• Services par des interfaces
publiques
• Composants qui implémentent
ces services
• Configuration entièrement XML
• Transactionnel et sécurisé
(permissions)
• Extensible
17. Services Alfresco : actions et règles
Actions (ActionService) : Règles (RuleService) :
• Déclencher des actions sur les • L’équivalent des règles et filtres
contenus d’une messagerie
• Transactionnel et sécurisé • Automatiser des tâches et
• Planifié (CRON) ou à la traitements
demande • Lance une / plusieurs actions
• Peut être intégré dans les • Règles réutilisables
workflows • Règles ordonnables
• Exemples : envoyer par mail, • Configuration simple et
incrémenter compteur, dynamique
déplacer le contenu, …
18. Services Alfresco : actions et règles
Une règle de contenu
s’applique à un espace :
Exemple
1/ un évènement déclencheur
(contenu entrant / sortant / modifié) Brouillons
2/ un ensemble de conditions
(sur le nom du contenu, son type, …)
3/ une action à appliquer
(déplacer le contenu, lui appliquer un Approuvé
aspect, envoyer un mail etc …)
Les règles ajoutent de Publié
l’intelligence aux espaces
19. Services Alfresco : transformations
Transformations et extractions de métadonnées :
• Transformations vers des formats différents
Ex : Word => PDF, Word => Flash, …
• Extraction automatique des propriétés d’un document
Ex : auteur, titre, description, …
• Basées sur des briques OpenSource :
Ex : Apache Tika, POI, pdf2swf, …
• Peuvent être associées à des règles de contenus
Ex : si un document word est déposé, le transformer en PDF et créer
une prévisualisation Flash
20. Services Alfresco : transformations
Transformations et extractions de métadonnées,
application dans Share :
Imagette PNG
Prévisualisation
Flash
Extraction des
métadonnées
21. Services Alfresco : audit
L’audit permet la traçabilité des contenus :
• Audit du cycle de vie : création, modification,
suppression, …
• Audit des évènements : lecture / téléchargement, ajout
de tag, etc …
• Service configurable de manière modulaire
• Configuration XML
• Données accessibles par une API REST (3.4+)
• Documenté (exemples sur le wiki)
22. Services Alfresco : transfert et réplication
Transfert et réplication :
• Réplication de contenu sélective entre entrepôts Alfresco
distincts
• 2 concepts importants :
o Cibles de transfert – Détermine où transférer le contenu
o Travaux de réplication – Détermine le quoi et le quand du
contenu à transférer vers la cible
• A la demande ou planifié par des travaux de réplication
• Rapports et suivi des travaux de réplication
23. Services Alfresco : transfert et réplication
Siège social Succursale Succursale
Irving, Texas Angola Kazakhstan
SOP SOP SOP
SOP SOP SOP
SOP SOP SOP
24. Services Alfresco : workflows
Alfresco intègre un moteur de workflows :
• Basé sur un moteur BPM
• Fonctionnalités riches :
> workflows en parallèle / série
> branchements, jointures, conditions
> assignations groupes ou utilisateur nommé
> exécution d’actions
• Application possible au cycle de vie d’un contenu :
création, validation, publication, …
• Extensible : créez vos propres workflows
25. Services Alfresco : sécurité
Les permissions définissent les droits d’accès et
d’opérations sur les contenus :
• ACEGI (Spring Security) : fondées sur ACL et ACE
• Modèle extensible (SSO externe, etc …)
• Permissions unitaires :
Ex : ReadContent, ReadChildren, DeleteChildren, WriteContent, …
• Les permissions sont agrégées pour définir des rôles
Par défaut : lecteur, éditeur, contributeur, collaborateur, coordinateur
• Verrouillage pendant l’édition
=> Limite les risques de conflit
26. Services Alfresco
Une vingtaine de services pour la gestion des contenus,
dont aussi :
• Recherche • Navigation
• Checkin / Checkout • Cycle de vie
• Locking • Notations
• Versionning • Invitations
• Tags et catégories • Espaces collaboratifs
• Authentification • Templating
• Synchronisation annuaire • Quotas d’utilisation
• Groupes et utilisateurs • Copie – duplication
• Propriétés et associations • etc …
27. Architecture : APIs et protocoles
introduction
Exposition d’APIs et protocoles pour permettre
l’interopérabilité d’Alfresco et des différentes applications
du SI (ERP, CRM, messagerie, …) :
28. Architecture : APIs
introduction
Les contenus d’Alfresco peuvent être manipulés par des
APIs, ce qui contribue à en faire une plateforme
documentaire au sein du SI :
• Par des APIs Java ou Script sur le serveur
• Par des APIs “remote”, en accès distant :
> WebServices SOAP - Java
> Webscripts REST - Java ou JavaScript
> CMIS - Atom REST ou Java SOAP
29. Architecture : APIs
Développements sur le serveur
Intégrez vos besoins spécifiques à Alfresco par des
développements Java ou JavaScript sur le serveur :
• Open-Source
• API Java : tirez partie de Spring Framework
> Surcharge des services par défaut avec les composants
> Création de nouveaux services
• API JavaScript :
> Apprentissage rapide
> Accès aux services de l’entrepôt
30. Architecture : APIs
APIs accès distant
Alfresco offre des points d’accès pour le pilotage distant
des contenus stockés dans son entrepôt :
• Webservices SOAP - batches, commandes CML
• RESTful Webscripts - une URL définit une vue, ou une
action sur un contenu …
> modèle MVC
> webscripts Java ou Javascript
> UI webscripts / Data webscripts
> interfaces web (par ex : Share)
> tout langage, toute plateforme (Ruby, PHP, html, …)
• CMIS
32. APIs : Focus CMIS
CMIS = Content Management Interoperability Services
• Standard d’interopérabilité des entrepôts de GED
• Neutralité technologique
> côté serveur (Alfresco, Sharepoint, FileNet, …)
> côté client (Client java, client ruby, client php, …)
• Opérations supportées : lecture, écriture, recherche,
versionning, …
• Alfresco est la première solution OpenSource à avoir
supporté CMIS 1.0
33. APIs : Focus CMIS
• Points d’entrée API :
> REST / Atom
> WebServices
• Cas d’usage :
> d’entrepôt à entrepôt
> d’application à entrepôt
> entrepôt fédérés
• Alfresco supporte quelques
extensions au protocole CMIS :
> aspects
> listes de données
34. Architecture : protocoles
introduction
L’entrepôt Alfresco est accessible par différents protocoles,
sans aucune installation sur les postes clients :
• FTP / CIFS (jLan) / Webdav / NFS
> de type “lecteur réseau”
> simplicité d’utilisation
• Protocole SharePoint
> édition en ligne des documents Word, Excel, PowerPoint
• IMAP
> intégration à la messagerie Outlook, Thunderbird, …
> archivage des emails
36. Architecture : applications clientes
Par les APIs et les protocoles, différentes applications
clientes pilotent les contenus de l’entrepôt Alfresco :
• Clients Web
Ex : Alfresco Share, interface métier
• Applications lourdes
Ex : Lotus Notes, MS Office, …
• Eléments d’infrastructure
Ex : ESB, …
37. Clients web
Alfresco Share est une interface web fournie par Alfresco,
qui n’expose qu’une partie des fonctionnalités du moteur
Vous pouvez créer vos propres interfaces web :
• pour répondre à un besoin métier spécifique
Ex: traitement des courriers entrant, chaîne de dématérialisation, …
• par l’API REST (webscripts)
pilotage de tous les services : audit, workflow, transformations, …
• par les APIs CMIS
~40% de nos clients utilisent une interface métier
39. Agenda
Introduction
Architecture
Scalabilité
Administration
Cas d’usage
40. Scalabilité
introduction
Alfresco est une plateforme qui répond aux besoins de
scalabilité et de disponibilité de l’entreprise :
• Montée en charge (volume documentaire et nombre
d’utilisateurs) progressive
• Haute-disponibilité par les architectures Cluster
• Architectures Cluster :
> gérées par Alfresco (pas par le serveur d’application)
> entrepôt unique ou entrepôt répliqué
41. Scalabilité
Cluster 1
Load Balancer
• Cluster Alfresco type 1
● Base de données et Share Share
contenus partagés Tomcat Tomcat
• Charge distribuée par un EHCache EHCache
Load Balancer
• Points of failure
Index
Index
● Serveur d’application
● Base de données
● Entrepôt des contenus
DataBase
Content
Store
Can make use of high
availability disk (i.e.
SAN storage)
42. Scalabilité
Cluster 2
• Cluster Alfresco type 2
Load Balancer
● Entrepôt répliqués dans des Share Share
entrepôts secondaires
Tomcat Tomcat
• 2 modes de fonctionnement EHCache EHCache
inbound / outbound
• Points of failure
Content
Content
Index
Index
Store
Store
● Serveur d’application
● Base de données
● Entrepôt des contenus Database
Replicating Secondary Replicating
Content Content Content
Store Store Store
44. Agenda
Introduction
Architecture
Scalabilité
Administration
Cas d’usage
45. Administration
introduction
Alfresco est une plateforme dotée de possibilités
d’administration riches :
• Gestion d’utilisateurs et groupes
> internes Alfresco
> synchronisation avec un annuaire LDAP, AD, …
• Composants modulaires configurables dynamiquement
Ex : Authentication Subsystem, File Servers Subsystem, …
• Monitoring et configuration à chaud par un client JMX
• Implémentation de politiques de stockage
46. Administration
sous-systèmes
Les sous-sytèmes (Subsystems) :
• Composants modulaires pour certaines fonctionnalités
• Arrêt / démarrage à chaud
• Configuration et supervision à chaud via JMX
• Exemples :
> sous-système d’authentification (LDAP, AD, NTLM, SSO, …)
> sous-système des protocoles (FTP, NFS, CIFS, …)
> sous-sytème des 3rd parties (OpenOffice, ImageMagick, …)
> sous-système Imap
> sous-système d’audit
> etc …
47. Administration
Supervision JMX
Supervision JMX
• Support du standard JMX.
Utilisable avec tout client JMX
o Jconsole (fourni avec JDK),
Hyperic, HP OpenView, extension
Nagios, ...
• Surveillance
o Connexions base de données
o Utilisation mémoire
o Utilisateurs connectés
o ...
• Configuration à chaud
o Sous-systèmes Alfresco
o Mise en lecture seule
o …
48. Administration
ILM
Politiques de stockage (Information Règles de
SSD
LifeCycle Management) :
stockage
€€€
• Stockage dynamique basé sur
des politiques de stockage ou Règles de FC
le cycle de vie du document stockage
• Réduction des coûts sans
€€
réduction des performances
• Exemples :
> versions courantes sur disques
rapides / versions anciennes sur
SATA
disques lents €
> contenu multimédia sur disques
rapides
> etc … SSD = Solid State Drives
FC = Fibre Channel
49. Administration
Baies CAS
Alfresco permet de stocker les contenus sur des baies
d’archivage de type CAS / FCS qui supportent XAM
• Module Alfresco complémentaire Share
• Spécifique version Entreprise Tomcat
• Verrouillage des contenus EHCache
archivés, période de rétention,
suppression automatique
possible, …
DataBase
Content
Index
Store
• Développé à l’aide du SDK XAM
• Testé pour les baies EMC Centera
• Tarification spécifique XAM connector
Baie CAS
50. Agenda
Introduction
Architecture
Scalabilité
Administration
Cas d’usage
51. Cas d’usage
Banque / assurance
Injection et restitution en masse
• Injection massive
o 5 à 10 Millions de documents injectés chaque semaine de
campagne (avis d’échéance)
• Haute disponibilité
o Installation en mode cluster
• Interface de dématérialisation
o Numérisation
• Interface avec portail clients
o Consultation
• Répartition du contenu sur stockages multiples
o Intégration avec baies « CAS » (Centera – CAStor)
52. Cas d’usage
Grand compte industriel
Calcul numérique / bureau d’étude
• Utilisation d’API multiples
o WS, REST, Java native, …
• Utilisation de protocoles multiples
o FTP, NFS, WebDAV, HTTP
• Accès depuis des applications multiples
o Client web, applicatifs, stations de travail, grille de calcul
• Forte volumétrie
o Un contenu unique pèse jusqu’à 50 Go pièce
• Gestion de points de stockages multiples
o Répartition selon cycle de vie
53. Cas d’usage
Editeurs et OEM
Alfresco embarqué
Alfresco est inclus dans les offres de plusieurs éditeurs
o Outils de publication (PAO)
o Outils de gestion des processus documentaires
o Solutions de gestion des ressources humaines
o Solutions de gestion financières
o Centrale de réservation en ligne
o Gestion de documents composites
o …
54. En résumé (1)
Web Applications Knowledge Portals Web Services
Business
App Server Process
Engine
CRM
Portal Server
Virtual File System
High Availability
FTP
CIFS
WebDAV
55. En résumé (2)
Client CMIS
Lecteur réseau MS Office
WEB SharePoint
SAP Email
IBM Lotus
WebDAV
Drupal
Google Docs
Joomla FTP
Kofax
57. Pour aller plus loin
• Essayez Alfresco !
• Essai pendant 24 heures en mode Cloud
o http://bit.ly/EntTrial
o http://bit.ly/RM-Trial
• Version d’évaluation 30 jours
o http://www.alfresco.com/products/ecm/enttrial/
• Vidéos de démonstration
o http://www.youtube.com/alfresco101
• Nos autres webinars
o http://tinyurl.com/3698pjy