Java Content Repository Gérer son contenu avec Jackrabbit Hugonnet Emmanuel Architecte J2EE Silverpeas [email_address] htt...
Silverpeas : la cible
Une architecture de « services » JCR
Principales références  Etat de Genève CIRPP
Avant personnalisation
Silverpeas
Silverpeas
Qu'est ce qu'un Content Repository ? <ul><li>Espace de stockage de données </li></ul><ul><li>Contenu structuré et destruct...
Respectant JSR *de nombreux sont enregistrés auprès TCK Connecteurs Tiers
Le JDBC du Contenu Repository XML Repository Fichier Repository SGBD Application JCR API
Le Meilleur des 2 Mondes
Une Spécification à étages
Structure Hiérarchique 1/2 <ul><li>Un ou plusieurs  Workspace(s) </li></ul><ul><li>Chaque  Workspace  se compose d'une arb...
Une structure hiérarchique 2/2 <ul><li>Hiérarchie des Types </li></ul>nt:hierarchyNode nt:folder nt:file nt:linkedFile nt:...
Exemple de données
Un peu de code …
Déploiement par Application
Déploiement par Serveur
Déploiement Externe
Fonctionnalités Avancées Références Rock tags Titres Titre Titre Pop Top 10 playlists Choix lien lien lien
Fonctionnalités Avancées Recherche SELECT * FROM slv:critique WHERE jcr:path LIKE ‘/slv:titres/%’ AND CONTAINS(*,‘…’) /jcr...
Fonctionnalités Avancées Versioning Version store Live Staging
Fonctionnalités Avancées Observation <ul><li>5 types d'évènement </li></ul><ul><ul><li>NODE_ADDED </li></ul></ul><ul><ul><...
JCR 2.0 JSR-283 <ul><li>Final Draft en cours de révision </li></ul><ul><li>XPath et SQL remplacés par Java Binding Query O...
Questions
Upcoming SlideShare
Loading in...5
×

Java Content Repository avec Jackrabbit

3,523

Published on

Introduction à l'API Java Content repository dont l'(implémentation de référence est Apache Jackrabbit.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,523
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
79
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Java Content Repository avec Jackrabbit

  1. 1. Java Content Repository Gérer son contenu avec Jackrabbit Hugonnet Emmanuel Architecte J2EE Silverpeas [email_address] http://www.silverpeas.com http://www.ehsavoie.com http://www.twitter.com/ehsavoie
  2. 2. Silverpeas : la cible
  3. 3. Une architecture de « services » JCR
  4. 4. Principales références Etat de Genève CIRPP
  5. 5. Avant personnalisation
  6. 6. Silverpeas
  7. 7. Silverpeas
  8. 8. Qu'est ce qu'un Content Repository ? <ul><li>Espace de stockage de données </li></ul><ul><li>Contenu structuré et destructuré </li></ul><ul><li>Support de données de différentes tailles </li></ul><ul><li>Gestion des transactions, des verrous, des versions, recherche et indexation, observation </li></ul>
  9. 9. Respectant JSR *de nombreux sont enregistrés auprès TCK Connecteurs Tiers
  10. 10. Le JDBC du Contenu Repository XML Repository Fichier Repository SGBD Application JCR API
  11. 11. Le Meilleur des 2 Mondes
  12. 12. Une Spécification à étages
  13. 13. Structure Hiérarchique 1/2 <ul><li>Un ou plusieurs Workspace(s) </li></ul><ul><li>Chaque Workspace se compose d'une arborescence d' Item(s) </li></ul><ul><li>Un Item peut être soit un Node soit une Property </li></ul><ul><li>Une Property est forcément une feuille et stocke l'information </li></ul><ul><li>Un Node structure le contenu </li></ul>
  14. 14. Une structure hiérarchique 2/2 <ul><li>Hiérarchie des Types </li></ul>nt:hierarchyNode nt:folder nt:file nt:linkedFile nt:resource <ul><li>Hiérarchie du Contenu </li></ul>
  15. 15. Exemple de données
  16. 16. Un peu de code …
  17. 17. Déploiement par Application
  18. 18. Déploiement par Serveur
  19. 19. Déploiement Externe
  20. 20. Fonctionnalités Avancées Références Rock tags Titres Titre Titre Pop Top 10 playlists Choix lien lien lien
  21. 21. Fonctionnalités Avancées Recherche SELECT * FROM slv:critique WHERE jcr:path LIKE ‘/slv:titres/%’ AND CONTAINS(*,‘…’) /jcr:root/slv:titres//element(*,slv:critique)/jcr:content[jcr:contains(.,’…’)] Mot-clefs de la Critique SELECT * FROM slv:titre WHERE jcr:path LIKE ‘/slv:titres/%’ AND sortie > DATE ‘…’ /jcr:root/slv:titres//element(*,slv:titre) [@sortie > xs:dateTime(‘…’)] Date de Sortie SQL XPath Recherche
  22. 22. Fonctionnalités Avancées Versioning Version store Live Staging
  23. 23. Fonctionnalités Avancées Observation <ul><li>5 types d'évènement </li></ul><ul><ul><li>NODE_ADDED </li></ul></ul><ul><ul><li>NODE_REMOVED </li></ul></ul><ul><ul><li>PROPERTY_ADDED </li></ul></ul><ul><ul><li>PROPERTY_REMOVED </li></ul></ul><ul><ul><li>PROPERTY_CHANGED </li></ul></ul><ul><li>Filtres possibles pour les Listeners </li></ul><ul><li>On a l'utilisateur et le chemin comme attributs de l'évènement </li></ul>
  24. 24. JCR 2.0 JSR-283 <ul><li>Final Draft en cours de révision </li></ul><ul><li>XPath et SQL remplacés par Java Binding Query Object et SQL-2 (JOIN) </li></ul><ul><li>ACL plus complète </li></ul><ul><li>Possibilité de gérer les Workspaces et les types </li></ul><ul><li>De nouveau types (binary notamment) </li></ul><ul><li>Cycle de vie d'un contenu pour pouvoir l'associer à un workflow </li></ul><ul><li>Un système de Versionning linéaire </li></ul><ul><li>Journalisation des opérations pour l'Observation </li></ul><ul><li>CIMS : interopérabilité entre repositories JCR </li></ul>
  25. 25. Questions
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×