Odelia>Technologies

DSL

Un simple moteur de workflow dynamique en Groovy

|

Inspiré en partie par l’article Design Pattern: Design a Simple Workflow using Chain of Responsibility Pattern, cet article décrit la conception d’un simple moteur de workflow en langage Groovy.
Groovy est un langage appréciable car, du fait de sa nature dynamique et de son expressivité, il permet de mettre en oeuvre rapidement des concepts et des idées ! En l’occurrence, nous voulons simplement pouvoir enchaîner l’exécution de code, au travers d’un workflow qui peut être décrit de manière externe grâce à un DSL (Domain-Specific Language) Groovy.

Un service web traitant un fichier téléchargé avec Camel et un DSL Groovy

| |

Notre article précédent, Exposer une Closure Groovy en tant que service HTTP, décrivait un simple DSL Groovy permettant de définir une route Camel composée du composant Camel camel-jetty et d'un Processor, dans le but de pouvoir invoquer du code Groovy en tant que service sur HTTP.
Cette fois, nous donnons un nouvel exemple de script Groovy capable de traiter un fichier transmis au travers d'une requête POST HTTP, ceci grâce au support des messages multi-parties du composant camel-jetty.
Une telle requête peut tout simplement être envoyée au moyen d'un formulaire HTML.

Exposer une Closure Groovy en tant que service HTTP

| |

L'outil GRAPE (GRoovy Adaptable/Advanced Packaging Engine) de Groovy constitue un excellent outil pour tester le framework d'intégration Apache Camel : dans cet article, nous allons définir une route Camel dans un script Groovy qui nous permettra d'exposer une Closure Groovy au travers d'un service HTTP, tandis que les dépendances de compilation et d'exécution seront résolues par GRAPE.
Plus précisément, la route étant prédéfinie, l'adresse du service, ainsi que le code Groovy à exécuter, seront placés dans un fichier externe et définis par un Domain Specific Language (DSL) Groovy simple que nous allons décrire.

GroovyS5 : créez facilement des présentations S5 avec Groovy

| |

Basé sur l'outil S5, GroovyS5 consiste essentiellement en un script Groovy permettant de générer facilement des présentations Web S5, à partir d'un langage spécifique (DSL GroovyS5) basé sur la syntaxe du langage Groovy.

Une démonstration valant plus qu'un long discours, voici deux présentations réalisées avec S5 : la première est S5: An introduction de Eric A. Meyer, la seconde, GroovyS5, que nous avons générée grâce au script GroovyS5.groovy (en fichier attaché) en utilisant la commande groovy.

Appliquer des règles métiers avec Groovy et l'annotation @Bindable

|

Cet article explore une voix possible de l'utilisation du puissant langage Groovy pour la définition de règles métiers, et montre comment l'annotation Groovy @Bindable peut servir à automatiser leurs applications, par des changements de valeurs de propriétés.

Déployer des services codés en script dans l’ESB ServiceMix, avec Groovy

| | |

L'ESB open source ServiceMix facilitant l'intégration de services écrits en langages de script, cet article détaille le déploiement d'un service codé en langage Groovy dans le conteneur JBI ServiceMix ; l'archive du Service Assembly correspondante sera créée par notre builder Groovy ServiceAssemblyBuilder, tandis que nous montrerons comment invoquer le service Groovy, exposé par un composant de connexion HTTP, au travers d'un client Groovy.

MetaBuilder, un builder de builders Groovy

| |

Comme son nom l'indique, MetaBuilder est un constructeur de builders Groovy, et facilite grandement l'implémentation de nouveaux builders en langage Groovy.
Pour en donner une illustration concrète, nous expliquons dans cet article quelques détails de l'implémentation d'un builder, ServiceAssemblyBuilder, destiné à générer des archives de type Service Assembly (SA) de la spécification JBI (Java Business Integration, JSR-208).

MapMind et builder Groovy, avec prefuse

| |

Notre dernier article TreeMLBuilder, builder Groovy pour prefuse présentait un builder Groovy capable de générer un document XML au format TreeML ; ce document était ensuite utilisé comme source de données dans une vue prefuse de type TreeView affichée dans une applet Java.
Nous avions également mentionné la possibilité d'utiliser un builder comme implémentation d'un Domain Specific Language ; alors que le builder TreeMLBuilder possède une syntaxe proche de la structure d'élément XML que celui-ce génère, cet article présente un nouveau builder : le builder MapMindBuilder, dont la syntaxte (via les pseudo-méthodes utilisables) permet de définir un MapMind qui sera affiché par la librairie prefuse dans le même type de vue.

TreeMLBuilder, builder Groovy pour prefuse

| | |

prefuse et TreeML

prefuse est une librairie Java de visualisation de graphes interactifs reposant sur Java2D pour le rendu ; très souple dans sa conception, celle-ci permet de réaliser des applications ou des applets Java présentant des graphes animés et interactifs avec vos données, et pour lesquels vous pouvez en définir précisément l’aspect et le comportement.
L’un des exemples en démonstration dans la galerie de graphes prefuse, treeview, présente des données en arborescence décrites dans le format TreeML ; il s’agit d’un format XML non officiel facile à appréhender : la structure de données est décrite au moyen de « branches » et de « feuilles », une branche pouvant contenir d’autres branches ou des feuilles, mais une feuille ne pouvant rien incorporer.
Par ailleurs, branches ou feuilles possèdent des propriétés appelées attributs.

Syndiquer le contenu

balises dans Langages et systèmes

AJAX cajo Camel DSL Grails GraphicsBuilder Groovy Java JBI prefuse RSS ServiceMix