1.1 Choix de technologies - dosseggegw1/AMT_projet GitHub Wiki

Base de données

Nous avons choisi d'utiliser le service de base de données MySQL pour les raisons suivantes :

  • compatible avec Java
  • open-source
  • très largement utilisé
  • bien documenté
  • performant (vitesse et simplicité)
  • SQL déjà connu par l'équipe
  • connexions multiples possibles en même temps

UML outil

Pour pouvoir dessiner nos diagrammes UML, nous nous sommes arrêtés sur 2 outils en particulier :

  • StarUML
  • draw.io

Même si nous reconnaissant une certaine supériorité à StarUML pour ce qui est de la création et gestion de diagramme de classes, nous préférons utiliser draw.io car ce dernier a un catalogue de diagramme plus large permettant de créer des diagrammes de séquences ou d'activité si le besoin se présente durant le projet. Cet outil permet également d'intégrer le diagramme directement dans notre repository github.

Template e-commerce

Afin d'intégrer une interface graphique à notre web app, nous avons choisi un template disponible sur https://www.free-css.com/ Nous nous sommes arrêtés sur 2 templates en particulier :

Notre choix se portait sur le template "Lion" car ce dernier paraissait plus moderne et plus épuré que son vis-à-vis. Malheureusement, le template "Lion" ne fonctionne pas convenablement, nous avons donc pris notre second choix qui est fonctionnel.

Serveur d'applications

Etant donné qu'on utilise Jakarta EE en appliquant le patron de conception MVC, nous avons regardé les différentes alternatives pour un serveur d'application. Notre choix s'est donc porté sur WildFly pour les raisons suivantes:

  • Dernière release récente (2021-03-11)
  • Simple d'utilisation
  • Bonne documentation détaillée
  • Léger
  • Open-source
  • Possibilité de changer de Jakarta EE à Java EE sans changer le serveur applicatif

Gestion des objets en base de données relationnelle

Nous avons décidé d'utiliser un ORM au lieu de JDBC pour la liaison application-base de données. Nous avons pris ce framework pour les raisons suivantes:

  • Faciliter d'implémenter les méthodes CRUD
  • Bonne organisation du code
  • Directement inclu dans le serveur applicatif WildFly

Intégration continue

Nous avons choisi Maven (3.8.2) comme outil pour l'intégration continu, car:

  • Les membres de l'équipe connaissent déjà l'outil
  • Bonne documentation en ligne

Test unitaire

Pour les tests unitaire nous allons utiliser le framework de test Junit. Nous allons utiliser la version 4. La méthode given-when-then est utilisé pour les tests unitaire.