[Update] - Ecriture d'un DSL groovy pour exoplatform Web Content Management (WCM)
Damien GOUYETTE | 18 Jun 2010
Introduction
Un DSL (Domain Specific Language) est un langage spécifique à un domaine particulier, limité et utilisant une syntaxe naturelle.
En informatique, celui-ci facilite la communication entre les experts métiers et les développeurs.
Quelques exemples de DSL du monde informatique :
- SQL,
- HTML,
- RegExp,
- Syntaxe Cron (unix)...
Un DSL ajoute un niveau d’abstraction à la réalité du métier afin de rendre le langage plus léger à utiliser et manipulable par des personnes qui ne connaissent pas forcément l’implémentation réelle.
Je travaille actuellement sur un site internet ou des personnes vont contribuer à son contenu (actualités, faq, articles...).
Pour ce faire j’utilise eXoplatform Web Content Management (WCM)
Chaque type de contenu (actualités, faq) est stocké dans le JCR (Java Content Repository), et pour permettre l’ajout, édition et visualisation de chaque contenu, je dois écrire un formulaire permettant de modifier celui-ci.
Le language (WebUI) est proposé par eXo pour écrire ces formulaires, mais l'écriture d’un formulaire avec celui-ci donne un mélange de code html/groovy/js/css qui est difficile à écrire et encore plus à maintenir. J’ai écrit un DSL permettant de simplifier l'écriture de ces formulaires. La méthode utilisée est présentée dans la suite de cet article.

Actuellement je bosse sur des application web jsf2 et/ou java EE 6. Les librairies ne sont pas encore figées, donc de nombreux mises à jour arrivent régulièrement.
Hibernate est un formidable outil pour les développeurs, mais il a cependant un inconvénient, il éloigne le développeur de ce qu’il se passe réellement entre son application et sa base de données. Ce post a juste pour objectif de vous donner quelques pistes que j’utilise pour comprendre un peu mieux ce que fait hibernate derrière mon dos.