CESI: architectures n tiers

This commit is contained in:
2018-01-14 21:13:12 +01:00
parent 703ca7d4fb
commit 608c203acd
10 changed files with 199 additions and 17 deletions

View File

@ -4,10 +4,10 @@
Implémenter en NodeJS une application distribuée permettant d'effectuer les opérations arithmétiques simples. Cette application devra répondre aux contraintes suivantes:
- Elle devra être suivre une architecture 2 tiers de classe 4.
- Elle devra suivre une architecture 2 tiers de classe 4.
- Le client devra utiliser le transport TCP/IP pour communiquer avec le serveur.
- Elle n'aura pas à supporter de multiples clients.
- Toutes les implémentations de la classe devront être compatibles, i.e. vous devez vous mettre d'accord sur un protocole de sérialisation/désérialisation des messages commun.
- Toutes les implémentations de la classe devront être compatibles, i.e. vous devez vous mettre d'accord sur un protocole commun de sérialisation/désérialisation des messages.
Le client/serveur devront gérer les instructions suivantes:
@ -20,6 +20,15 @@ Le client/serveur devront gérer les instructions suivantes:
Vous pouvez vous baser sur les fichiers `client.js` et `server.js` présents dans ce répertoire pour amorcer votre projet.
Si vous débutez avec NodeJS, des liens sont disponibles plus bas dans la section "Ressources".
### Phases de l'exercice
- **Phase 1** Lisez bien les consignes.
- **Phase 2** Concevez et mettez vous d'accord sur un protocole commun pour la sérialisation/desérialisation des instructions échangées entre le client et le serveur.
- **Phase 3** Implémentez votre client et serveur en fonction des spécifications que vous aurez établi.
- **Phase 4** Testez l'interopérabilité de vos implémentations en faisant pointer votre client vers le serveur d'un de vos collègues, et inversement.
## Exemple de séquence d'échange
![center](./seq.png)

View File

@ -0,0 +1,26 @@
# Prototypage d'une application basée sur des microservices
## Consignes
Prototypez une application de micro-blogging (un clone de Twitter) en vous basant sur une architecture orientée microservices.
Votre application devra comprendre les fonctionnalités suivantes:
- Pouvoir créer un compte avec un identifiant unique et un mot de passe.
- Se connecter avec son couple identifiant/mot de passe.
- Poster un nouveau "statut" (une fois connecté).
- Rechercher un utilisateur par son identifiant.
- "Suivre" un autre utilisateur.
- Visualisez le flux des statuts de tous les utilisateurs que l'on suit, par ordre chronologique décroissant.
- Voir le profil d'un utilisateur et ses statuts.
### Exemples de vues
![center](./microblogging.png)
### Phases de l'exercice
- **Phase 1** En fonction des fonctionnalités identifiées, proposer un découpage de l'application en microservices, les canaux de communication entre ceux ci et la responsabilité de chacuns.
- **Phase 2** Répartissez vous en groupes, un pour chaque microservice pressenti.
- **Phase 3** Concevez l'API de chacun des microservices ensemble.
- **Phase 4** Chaque groupe implémente le microservice qui lui est attribué et teste l'intégration de celui ci avec ceux des autres groupes.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB