La Bible du développeur Alfresco : guide du développeur Alfresco (1re édition)


précédentsommairesuivant

II. LES BASES TECHNIQUES GÉNÉRALES DU JCR (JAVA CONTENT REPOSITORY)

Le Centre de Compétences AlfrescojBPM de Koossery Technology préconise de commencer par avoir de bonnes bases sur le JCR (Java Content Repository).

II-A. Entity Model JCR: spécifications JSR-170

Dans les projets Java classiques qui manipulent les données, le stockage se fait en général dans une base de données relationnelle. L'accès à cette base se fait en général via une couche DAO basée sur un mapper O/R ou ORM (iBatis ou Hibernate par exemple).

Lorsqu'on manipule des documents ou du contenu, les bases de données relationnelles ne sont plus adaptées, car elles ne présentent pas de fonctionnalités poussées pour ce qui concerne le versionning, la recherche full-text, la catégorisation et classification du contenu, le contrôle d'accès au contenu, etc.
Pour pallier cette non-adaptation des sgbr, la norme JSR-170 apporte un ensemble de spécifications pour le stockage et la manipulation du contenu (JCR=Java Content Repository).

La norme JSR-170 est implémentée par certains outils open source notamment Apache Jackrabbit. Alfresco implémente aussi la norme JSR170.

Pour avoir un bon overview sur le JCR et la norme JSR-170, le Centre de Compétences AlfrescojBPM de Koossery Technology recommande de lire tour à tour les documents ci-dessous :

1

http://www.artima.com/lejava/articles/contentrepositoryP.html

lire les premiers paragraphes jusqu'au paragraphe « blogging with jackrabbit » exclu.

2

http://www.onjava.com/pub/a/onjava/2006/10/04/what-is-java-content-repository.html

lire la page 1: très bon overview sur le JCR !

3

http://www.ibm.com/developerworks/java/library/j-jcr/

 

II-B. Exercices simples de manipulation de contenu à l'aide de l'implémentation JCR Apache-Jackrabbit

Dans un projet Java, la couche DAO est la couche d'accès aux données.
Dans notre cas nous manipulons le contenu.

II-B-1. Projet DAO simple basée sur Jackrabbit

Ici il s'agit de s'entraîner à écrire une petite DAO implémentée à base de Apache Jackrabbit pour manipuler le contenu. Le but de cet exercice est d'apprendre à manipuler les concepts vus au paragraphe II-1.
Le Centre de Compétences AlfrescojBPM de Koossery Technology recommande de lire, comprendre et refaire soi-même les deux petits exercices exposés dans les documents ci-dessous :

II-B-2. Projet DAO avancée basée sur Jackrabbit

Dans la suite de l'exercice de manipulation de contenu du paragraphe , il s'agit ici d'aller plus loin en s'entraînant à écrire une DAO basée sur Apache Jackrabbit en maniant les concepts avancés : introduction du versionning, utilisation des modèles de données, indexage, recherche textuelle, upload de fichier.

Le Centre de Compétences AlfrescojBPM de Koossery Technology pense que cet exercice est optionnel: nous fournirons dans une prochaine version de ce guide un zip avec un exemple de code.
Le développeur peut néanmoins faire l'exercice de la documentation ci-dessous :

1

http://www.onjava.com/pub/a/onjava/2006/10/04/what-is-java-content-repository.html

approfondir avec l'exemple de search (XPath) et l'upload de la page 4

II-B-3. Approfondissement de Jackrabbit

Si vous voulez approfondir vos connaissances sur l'implémentation JCR Jackrabbit il faut aller sur le site Apache :

Le Centre de Compétences AlfrescojBPM de Koossery Technology pense que cet approfondissement n'est pas déterminant pour entrer dans Alfresco.

II-C. Exercices simples de manipulation de contenu à l'aide de l'implémentation JCR Alfresco

II-C-1. Overview du modèle de données sur lequel s'appuie Alfresco

Lorsqu'on doit stocker des données dans une base de données relationnelle, on prend d'abord la peine de modéliser ces données en utilisant les concepts relatifs aux sgbdr : tables, attributs, jointures, etc.

Pour ce qui concerne un projet de gestion de contenu basé sur Alfresco, le développeur Java doit d'abord prendre la peine de modéliser le contenu manipulé en utilisant les concepts de modèles de données relatifs à Alfresco.

Le but dans ce paragraphe est d'avoir de bonnes bases sur le modèle de données sur lequel Alfresco s'appuie pour organiser le contenu.

Les principaux concepts dont :
- le dictionnary data model et les notions de modèles M1 et M2 ;
- les principaux modèles M1 : dictionaryModel, contentModel, systemModel, applicationModel.

Le Centre de Compétences AlfrescojBPM de Koossery Technology recommande de lire la documentation suivante :

II-C-2. Mise sur pied de l'environnement de développement SDK-Alfresco

Pour pouvoir développer en utilisant le Framework Alfresco, le plus pratique est de le faire dans un environnement SDK Alfresco. Cet environnement est pré configuré avec toutes les librairies du noyau Alfresco. En tant que développeur Alfresco, vous devez monter cet environnement sur votre poste.

Pour mettre en place son environnement de développement Alfresco (SDK-Alfresco), le Centre de Compétences AlfrescojBPM de Koossery Technology recommande de s'inspirer du document suivant :

II-C-3. Exercice simple de manipulation du JCR Model d'Alfresco

Après avoir installé son environnement de développement (voir ), le développeur doit lire, comprendre et s'exercer sur projet « JCRSamples » du SDK Alfresco.
Pour cela, s'aider de la documentation ci-dessous :


Le Centre de Compétences AlfrescojBPM de Koossery Technology pense que cet exercice est utile. Nous fournirons dans une prochaine version de ce guide un zip avec d'autres exemples de code.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+