←

Dev back-end

Architecture et standards

Objectifs

  • Structurer une application serveur de façon pertinente
  • Découvrir les pratiques usuelles

Architectures

architecture n-tiers

https://web2.cegepat.qc.ca/~claudeboutet/index.php/2016/04/14/le-pattern-architectural-n-tiers/ https://www.supinfo.com/articles/single/6437-fonctionnement-une-architecture-trois-tiers
  • + flexible (on peut remplacer une couche, les interfaces de chaque couche sont exposées)
  • + testable (on peut simuler les autres couches pour tester un couche)
  • + multi-système (chaque couche est techniquement autonome)
  • ~ performances (une requêtes doit traverser un certain nombre de couches)
  • - scalabilité (élasticité) (On ne peut pas forcément multiplier facilement une couche)

Microservices

https://www.supinfo.com/articles/single/5676-qu-est-ce-que-architecture-microservices
  • + flexible (on peut remplacer une application, les interfaces de chaque application sont exposées)
  • + testable (on peut simuler les autres applications pour tester une application)
  • + multi-système (chaque application est techniquement autonome)
  • + scalabilité (élasticité) (Les applications sont stateless et peuvent être déployées en plusieurs instances)
  • + agilité (des cycles de vie indépendants)
  • ~ performances (dépend de la conception)
  • - stabilité (cycles de vie différents = risque de version incompatibles)

autres sources

Protocoles Standards

REST

https://www.croes.org/gerald/blog/qu-est-ce-que-rest/447/

GraphQL

https://blog.octo.com/graphql-et-pourquoi-faire/ Apollo server (serveur GraphQL) Hasura (serveur graphQL automatique à partir d'une BDD)