Wayset Technologie Logo TECHNOLOGIE

Pour un processus de développement logiciel simplifié
Utiliser un service REST ?
193x
Facebook Twitter Google+
 

Je me suis demandé s'il vallait la peine d'utiliser un service REST au lieu d'envoyer des requêtes directement à la base de données... et bien que quelque peu plus complexe (légèrement tout au moins), j'ai préféré utiliser un service REST entre la base de données et l'application. Voici les raisons principales qui m'ont intéressés en utilisant cette approche.

Accès BD

Effectivement, ça ajoute un système de plus, un intermédiaire.... et des tests. Mais ça rends les choses plus sécuritaire d'une certain façon puisque l'on ne fournie pas accès à la base de données directement. Il devient ainsi beaucoup plus ardue d'avoir accès à toute les données (on ne peut deviner le contenu, à moins d'être devin!), le service REST limite ainsi l'information disponible.

Simplifie la logique

En utilisant un système intermédiaire, on peut y effectuer certaines corrélations de données. Avec MongoDB c'est d'autant plus pratique que nous n'avons plus les JOIN et tout ces trucs de SQL, il devient donc facile de "cacher" ces choses et de retourner ou traiter les données que nous désirons. Par exemple, on pourra retourner avec les informations d'un utilisateur une addresse qui proviendrait d'une autre collection, sans que le "client" ne se rende compte de la séparation.

Séparation du modèle de données

Le "client" (ou l'application) n'ayant aucune idée de la base de données (on peut même parler simplement de stockage de données, puisque à la limite les données pourraient être contenus dans un fichier texte!) est alors totalement indépendant. Ce sera bien pratique quand il faudra migrer vers un autre système ou même lorsque les données devront provenir de systèmes différents!

Normalisation du format

De cette façon vous pouvez choisir de transiger les informations sous forme de XML, JSON ou autre format de données. En sérialisant directement les données dans vos objets, la gestion est simplifié. Je dois cependant noté ici que le "middleware" (la partie qui fait office de service web) doit resté ignare quant aux objets utilisés sinon vous rajouter encore un peu plus de complexité (les versions des objets doivent correspondrent, etc...). Dans mon cas au niveau du service web je ne retourne que du JSON provenant de MongoDB vers le client en limitant le plus possible la connaissance de la structure.


Copyright (c) 2014-2017 Wayset Technologie
Loading... Veuillez patienter...