Nouveautés dans Scub foundation 4.0

Introduction

J’ai récemment créé un document permettant de présenter les nouveautés de la version 4.0 du socle technique Scub Foundation. C’est une présentation relativement succincte puisqu’elle était destinée à une présentation orale. Vous ne trouverez donc que les grandes lignes et les mots clefs permettant de structurer l’intervention.

Si l’on devait en faire un résumé, voici ce qu’il en ressortirait.

Framework GWT

Le framework GWT est la partie du socle technique qui a subie le plus de modifications et d’améliorations. Après avoir monté en version la librairie GWT pour utiliser la dernière en date (2.5), nous avons remis en cause toute l’architecture de nos projets GWT afin de l’optimiser et de la rendre plus cohérente. Nous avons testé de nouvelles librairies comme GIN pour finalement se contenter d’une « factory » qui permet de délivrer des implémentations de messages, constantes, presenters partagés…

Nous avons ensuite testé plusieurs framework CSS afin d’en choisir le plus adapté à nos besoin et de rendre nos applications graphiques plus simples à développer et plus agréables à utiliser. Notre choix s’est tourné vers la librairie GWT Bootstrap basée sur le framework  Bootstrap développé par Twitter. Afin d’encore faciliter l’écriture des projets clients, nous avons généralisé l’utilisation de l’UI-binding, rendu possible par GWT, et offert la possibilité d’utiliser le designer GWT designer.

L’intégration du framework Bootstrap à remis en cause l’apparence de nombreux composants présents dans le socle et ils ont par conséquent était réécris pour s’adapter aux nouveaux styles. De plus, nous en avons développés de nouveaux afin de combler les manques:

  • EmailBox: permet de filtrer les caractères autorisés dans un email
  • PhoneBox: après avoir sélectionné le pays du numéro de téléphone dans la liste proposée, le format du numéro de téléphone est contrôlé à la saisie. Le composant fourni en valeur une liste d’informations comme le numéro saisis, le tag du pays, l’indicatif, l’expression régulière de validation… Le composant peut se brancher facilement sur une table extérieure afin de gérer les pays sélectionnables.
  • TimeBox: permet de saisir une heure. Gère le format H12 (am/pm) et le format H24.
  • DateTimeBox: combine un champ date et un champ heure afin de fournir une date complète.
  • RegexBox: permet de filtrer les caractères autorisés dans le champ texte à partir d’une expression régulière.
  • IntegrityControlErrorContainer: gère l’affichage des contrôles d’intégrités

Pour finir sur le framework GWT, la gestion de l’affichage des messages de chargement, d’alertes, d’erreur… a complètement était revue. Les affichages de ces messages sont maintenant gérés de manière globale à toute l’application et se fait par l’intermédiaire d’évènement lancés sur le bus global. Scub Foundation propose d’afficher par défaut tous ces messages dans des popups, mais le développeur peut aisément implémenter ses propres vues pour afficher ces messages comme il l’entends.

Oval et contrôles d’intégrités

Les contrôles d’intégrités permettent de transporter plusieurs règles métiers en une seule fois et de les afficher sur des champs spécifiques de l’interface graphique. Pour faire ceci de manière rapide et efficace  nous avons intégré le framework de validations Oval. Pour de plus amples informations, je vous invite à lire les articles sur la gestion des contrôles d’intégrités avec Scub foundation.

Spring

Nous avons intégré deux nouvelles briques du framework Spring à savoir Spring Batch et Spring Web Service. Trois nouveaux archetype maven ont vus le jour pour faciliter la création de projet batch, web service noyau (afin d’exposer nos services RMI en Web Services) et web service client (afin de consommer des Web Services extérieurs).

Intégration continue

Nous mettons en place l’intégration continue sur chacun de nos projets par l’intermédiaire de Jenkins dont vous pouvez faire le tutoriel. Jenkins va créer des rapports détaillés par l’intermédiaire de Sonar (tutoriel sur le site Scub foundation) et lancera également les test Selenium qui a également été intégré dans la nouvelle version du socle technique (accéder au tutoriel de prise en main).

Afin de pouvoir apprécier toutes les nouveautés de la version 4.0 de Scub Foundation, voici le document de la présentation hébergé sur Slideshare: