Avancé – Le système comportemental

Si Generic System est avant tout un système de représentation, il devient aussi grâce au paramétrage statique un système comportemental. Nous allons utiliser un paramétrage statique pour gérer un stock de téléphones.

Création de l’interface de gestion

Cette interface étend  Snapshot et offre la possibilité d’ajouter ou de supprimer un téléphone, ainsi que de récupérer la liste de tous les téléphones :

Continue reading Avancé – Le système comportemental

Exemple d’utilisation AngularJS, vert.x et Generic System – Génération dynamique d’une API REST

Dans ce billet nous allons voir comment réaliser simplement une API REST dynamiquement générée à partir du modèle de données en utilisant Generic System dans un environnement non-JEE avec AngularJS et vert.x.

Configuration Environnement

Maven

Continue reading Exemple d’utilisation AngularJS, vert.x et Generic System – Génération dynamique d’une API REST

Système d’indexation

Afin d’améliorer les performances du moteur d’informations de Generic System, un système de cache automatique qui évite la répétition de requêtes coûteuses au back-office a été mis en place.

De nombreuses méthodes qui renvoient un Snapshot font par exemple appel à la méthode  getDependencies(), suivie d’un ou plusieurs filtres (seulement les instances, une valeur ou des composants donnés, etc.). Pour éviter d’avoir à re-filtrer les Snapshot à plusieurs reprises, nous avons créé des arbres permettant de stocker les résultats des filtrages dans les classes AbstractTsDependencies et PseudoConcurrentCollection. L’arbre est constitué de nœuds contenant :

  • l’index lui-même, sous forme d’implémentation de l’interface Index fournissant les méthodes add(), remove() et iterator() ;
  • des enfants sous forme de HashMap ayant pour clés des IndexFilter et pour valeur le nœud contenant l’index filtré avec sa clef. Les entrées sont créées automatiquement lors du get() si elles n’existent pas. La méthode filter(List filters) va chercher le nœud de l’arbre correspondant aux filtres indiqués.

Continue reading Système d’indexation