Gestion des contenus : Java Content Repository (JCR 2.0) & Spring (Part 1)

La gestion de contenus ( formulaires, documentation, procédures) est généralement désigné par le terme GED (Gestion électronique de documents) comme synonyme d'ECM (Enterprise Content Management).

JCR 2.0 est la dernière version de l'API d'entrepôt documentaire standard appelée aussi JSR 283 (anciennement appelée JSR 170).

jackrabbit est l'implémentation open source de référence utilisée par de nombreux projets (Par ex. Alfresco). La version 2.9.0, release sortie en aout 2014, est utilisée dans la démo ci-après.

La solution Jackrabbit de la fondationapacheFondation est lancée, en 2005, par l'ancienne équipe technique d'ECM Documentum (la solution propriétaire riche dans ce domaine).

La figure ci-dessous résume l'architecture de Jackrabbit répartie essentiellement en trois couches :

jcr_jackrabbit_overview

 

Dans ce billet, nous avons préféré éviter les détails de l'API JCR pour aborder le cœur du sujet, c'est à dire, montrer comment afficher/créer un nœud. En d'autres termes illustrer les opérations CRUD par la pratique.

Nombreux sont les articles qui expliquent comment configurer JCR avec spring-modules mais très peu abordent JCR 2.0 sans spring-module ni spring-extensions. C'est bien ce qu'on va réaliser.

Atlassian Stash 1.3

Atlassian a publié la version 1.3 de Stash.

Il s'agit d'un gestionnaire de repository git, en gros d'un github privé.

Ses principaux différenciateurs par rapport à github sont :

  • le fait de disposer d'un gestionnaire de repository interne à l'entreprise. Certaines sociétés acceptent mal d'héberger leur code source sur une machine qui ne leur appartient pas. Dans d'autres cas, les développeurs peuvent ne pas avoir un accès à Internet.
  • l'intégration avec l'annuaire d'entreprise
  • l'intégration avec la suite d'outils Atlassian, et notamment JIRA, Crucible et Bamboo.

Atlassian souligne ainsi l'importance qu'il donne à git.

Pour une présentation rapide de Stash, suivez le guide.

bouton_atlassian_netapsys

Construction de requêtes en Java : comment faire le bon choix ?

Dans toutes les applications, il faut à un moment ou un autre, aller requêter en base de données. Certaines requêtes sont relativement simples
mais d'autres peuvent être plus complexes et dans ce cas là, plusieurs frameworks sont disponibles pour écrire ces requêtes.
Parmi toutes les solutions de requêtage disponibles (Spring Data - JPA, Criteria Hibernate, Criteria JPA2, JPQL, QueryDSL), comment faire le bon choix ?

Atlassian Stash : Gestion de repository Git d’entreprise

Atlassian propose une solution centralisée pour gérer et exposer des repositories Git via Internet en s'affranchissant des problèmes posés par les firewalls. Cette solution est adaptée aux petites équipes agiles aussi bien qu'aux grosses organisations.

Pour beaucoup d'entreprises, il est difficile d'héberger en interne un système de gestion de configuration tout en autorisant l'accès aux repositories. Atlassian Stash vous permet de vous concentrer sur le développement, en lui délégant la gestion du référentiel.

Conçu pour Git. Dédié à l'entreprise.

Git est en train de devenir progressivement le système de gestion de versions le plus populaire du monde, en permettant aux développeurs de choisir de gérer leurs branches et de travailler en étant isolé du reste du monde, puis en facilitant l'intégration du code dans un projet plus conséquent. La plupart des opérations habituelles (comme les commits) étant réalisées sur le poste local au lieu du réseau, Git accélère le développement par rapport à des systèmes de gestion de version centralisées comme Subversion. Git constitue le choix le plus pertinent, que ce soit pour des projets Open Source ou d'entreprise.

De nombreux services en ligne (incluant Bitbucket d'Atlassian) ont émergé pour aider les utilisateurs de Git à partager et gérer leur code. Les projets Open Source et de nombreuses startups ont bénéficié de ces solutions pour collaborer autour de leurs développements. Adopter Git apporte de nombreux avantages, mais vous oblige aussi à administrer un serveur pour héberger les repositories. Cela peut être particulièrement complexe pour les projets conséquents et les équipes d'entreprise.

  • Les équipes de développement ont besoin de développer rapidement et de partager leur code source à partir d'un point central.
  • Le métier a besoin d'une solution efficace pour organiser les repositories et les sécuriser, sur leurs propres serveurs.
  • Les administrateurs ont besoin d'un système sûr, qui peut s'intégrer dans leur environnement.

Découvrez Stash, le gestionnaire de repositories Git pour les équipes d'entreprise.

Un emplacement centralisé pour vos sources – Une gestion simple des repositories

Git vous permet de créer de nouvelles repositories, de partager le code avec vos équipes, et de le consolider en un projet cohérent. Au fur et à mesure de la croissance de votre projet, de plus en plus de contributeurs et d'intervenants se joignent à votre équipe, de plus en plus de repositories et de branches actives apparaissent. Avec cette activité exponentielle, les équipes produits ont besoin d'une centralisation de leur code, et de le garder organisé tout au long de sa vie.

Stash vous fournit une solution centralisée et sure pour créer et gérer des repositories distribuées, sur vos propres serveurs. Les développeurs sont assurés d'y trouver la version officielle la plus à jour du projet. Les managers peuvent avoir confiance dans le fait que l'accès au code des utilisateurs est adapté à leur rôle, avec une administration minimale.  Laissez Stash devenir la source de confiance de vos sources!

Donnez le pouvoir à vos équipes avec les projets & les permissions

La simplicité est belle : Stash est dédié à la productivité des développeurs et à la promotion de leur workflow habituel. Travailler avec Git peut être incroyablement rapide et productif, mais la gestion des repositories Git et des permissions peut vite devenir compliqué. Stash permet à vos équipes et à vous même de rester productifs en fournissant un modèle de structuration des vos repositories, et en vous permettant de gérer les permissions via une interface utilisateur puissante et simple.

Les projets logiciels impliquent souvent plus d'une repository Git. Stash organise les repositories par projet, simplifiant la recherche et les contributions. Pensez aux projets comme une organisation logique et pratique des repositories.

En utilisant la structure de projets, vous pouvez assigner facilement un ensemble simple de permissions à des utilisateurs et à des groupes, afin de contrôler l'accès aux repositories.

Vos règles, votre environnement

Stashs intègre à votre environnement et ne vous oblige pas à utiliser une appliance pré-configurée sur laquelle vous n'auriez aucun contrôle. Construit sur la même architecture solide aue JIRA et Confluence, Stash se sentira à l'aise sur toutes les plateformes.

Installé sur votre propre réseau, les administrateurs ont un contrôle total sur Stash et son environnement. Avec Stash, vous disposez du framework de plugins d'Atlassian, ainsi qu'une API REST ouverte pour des intégrations personnalisées.

Une gestion d'utilisateurs d'entreprise

Que vous soyez une petite entreprise ou une société du CAC40 ou Fortune 500, la gestion des utilisateurs et des permissions dans Stash est suffisamment flexible pour s'adapter à tous vos cas d'utilisation, vous épargnant une répétition des efforts lorsque vous déployez Stash, ou lorsque vous intégrez de nouveaux collaborateurs.

  • Gérez les utilisateurs dans Stash : les petites équipes peuvent gérer tous leurs utilisateurs et groupes directement dans Stash.
  • JIRA pour la gestion des utilisateurs : utilisez JIRA comme serveur centralisé de gestion des utilisateurs, et gérez tous vos utilisateurs et groupes avec votre environnement JIRA habituel.
  • LDAP d'entreprise : connectez facilement Stash à votre annuaire LDAP – Active Directory, OpenLDAP et davantage – pour gérer vos utilisateurs et vos groupes.
  • Crowd : utilisez Atlassian Crowd comme point central pour toute la gestion de vos utilisateurs, que ce soit pour Stash, JIRA et vos autres applications métier.

Traçabilité des développements

L'élément clé de toute solution de gestion de configuration est sa relation avec les incidents. Connectez Stash à votre gestionnaire d'incidents JIRA pour tirer partie de la traçabilité entre la les incidents et le code source.

Stash garde la trace de tous les incidents associés aux commits. Les utilisateurs peuvent utiliser Stash pour voir rapidement tous les incidents associés à un commit, ou utiliser l'onglet Source des incidents JIRA pour afficher une vue agrégée de tous les changements de code relatifs à un incident particulier. Grâce à cette information, votre équipe de développement gagne du temps lors de l'analyse d'une correction de bug ou du développement d'une évolution.

Navigation rapide dans les sources

Le contrôle de versions distribué est rapide, et de nombreuses équipes ont maintenant le pouvoir de "committer tôt et committer souvent". Il est donc facile de passer à coté de ce qui se passe quotidiennement sur votre projet. Plutôt qu'afficher les commits sur la ligne de commande, vous pouvez utiliser Stash pour naviguer dans les commits récents, inspecter l'historique d'un fichier, examiner des changesets ou afficher des sources annotées. Cela signifie également que le code source est accessible facilement pas les release managers, les testeurs et les autres membres de l'équipe qui ne travaillent pas avec un IDE.

Essayez Stash aujourd'hui – 25% de remise pendant une durée limitée

Nous sommes très heureux de vous présenter Stash, et nous voulons que tout le monde partage ce plaisir. Pour une durée limitée, Atlassian offre une remise de 25% sur votre nouvelle licence Stash.

Stash – Gestion de Repository Git Repository pour les Projets d'Entreprise. Essayez-le, nous savons que vous allez l'aimer.

Questions & Feedback

Vous avez des questions à propos de Stash? Nous avons les réponses. Visitez la FAQ de Stash, posez des questions sur Atlassian Answers, ou demandez une évolution sur le site JIRA public d'Atlassian.

bouton_atlassian_netapsys

Connaissez-vous « Central » ?

“Central”, “Maven Central”, “The Central Repository”.  Vous rencontrez fréquemment ces termes dans le monde du développement Java open source. La plupart des collaborateurs de Sonatype pensent que tout le monde sait de quoi on parle lorsque l'on évoque "Central". Comme ce n'est pas toujours le cas, cette vidéo vous donnera un aperçu de Central et ce qu'il représente pour la communauté Java. Bon visionnage !

Spring annotations vs standards annotations: Que choisir entre @Autowired et @Resource?

L'objet de ce billet, en deux parties, est de comparer l'annotation standard @Resource du package javax.annotation.Resource à celle de
spring @Autowired du package org.springframework.beans.factory.annotation.
Nous verrons les situations où nous sommes obligés de favoriser les annotations standards.

L'utilisation des annotations réduit considérablement la verbosité des fichiers de configuration de Spring.
C'est aussi le même constat pour d'autres frameworks.
En effet, le principe "convention Over configuration" participe à cette diffusion.
Certes, les "pour" et les "contre" ne manqueront pas d'arguments pour débattre.
Mais ceci n'est pas l'objet de ce billet.
L'objectif ici est de comparer ces deux types d'annotations.
Pour cela, nous nous appuyons sur un projet java simple, sans maven, que vous pouvez créer sous Eclipse en suivant les étapes décrites ci-après.
Nous écrivons d'abord un projet avec les annotations de Spring puis nous illustrons les difficultés qui nous amèneront à introduire les annotations standards.