Si Et Microservices
Si Et Microservices
Peace-Work-Fatherland
POLYTECHNIQUE ENGINEERING
DEPARTEMENT DU GENIE INFORMATIQUE DEPARTEMENT OF COMPUTER ENGINEERING
En vue de l’obtention du :
Sous la direction de :
Professeur KANMOGNE
A ma
mère
Nous voulons exprimer notre gratitude et reconnaissance à tous ceux qui ont participé de
près ou de loin directement ou indirectement à l’élaboration de ce document notamment :
Un Accent est mis sur les concepts clés, les mises en garde, les démarches et
l’expérimentation relatif à la mise en œuvre de l’architecture microservices afin de permettre la
compréhension et la nécessité de cette structuration au sein de la société moderne actuelle. Pour
illustrer les démarches proposées, une mise en application opérant sur le système informatique
de gestion des emplois du temps dans l’enseignement supérieur a été réalisée et des résultats au
meilleur rendement ont été obtenus.
In a need for constant flexibility taking into account a better economy (hardware, software
...), the requirements related to security, law, competition, the project teams in charge of
producing computer applications must define an adequate organization and work policy. In this
vein, this dissertation deals with an organization of the computer system based on
microservices. It provides scientific and operational solutions to the problem of evolution of
computer systems at a reduced cost in increasingly current deadlines while ensuring the security
of information and equipment. For this purpose, the methodology addressed was based on:
Emphasis is placed on the key concepts, caveats, approaches and experimentation related
to the implementation of microservices architecture in order to allow the understanding and
necessity of this structuring within today's modern society. To illustrate the proposed
approaches, an implementation operating on the computerized time management system was
carried out and results with the best performance were obtained.
Tableau 2.1 : Plateformes et Framework de développement des microservices ((25) page 22) ............................. 7
Tableau 2.2 : Différences entre microservices et SOA ((25) page 25 et 26) ............................................................ 9
.................................................................................................................................................... 1
DÉDICACE : ........................................................................................................................... II
GLOSSAIRE : ........................................................................................................................ IV
RÉSUMÉ : ............................................................................................................................... V
ABSTRACT : .......................................................................................................................... VI
SOMMAIRE : .......................................................................................................................... X
BIBLIOGRAPHIE : ................................................................................................................ X
L’informatique a connu des étapes évolutives importantes réorganisées et définit dans des
domaines tel que le génie logiciel. De nombreux modèles et démarches sont aujourd’hui laissés
au choix des ingénieurs sur le terrain. Ceux-ci adoptent ce qui leur semblent convenables face
aux problèmes qu’ils auront à résoudre en fonctions de plusieurs paramètres parmi lesquelles :
Le cout qui renvoie aux ressources matériels, humains et financiers nécessaire pour
exécuter le cahier de charge ;
Le délai qui fait référence au temps nécessaire pour l’accomplissement des différentes
taches ;
La qualité : elle se définit comme l’appréciation faite sur le produit à la lumière des
spécifications scientifiques, des normes, des impacts diverses (environnementale,
sociale …) et de l’opinion des différentes parties prenantes au projet …
Dans cette thématique, l’on assiste à la création des applications qualifiées de « tout en
un » encore appelé applications monolithiques qui bien que présentant des avantages pour des
systèmes de petite envergure, posent à la longue des problèmes de sécurité (confidentialité,
disponibilité), de maintenabilité (corrective, évolutive …), de surachat de ressources
matérielles… Dès lors, l’alternative des microservices s’illustre comme une piste permettant de
remédier à des problématiques liées à la maintenance, la sécurité, les dépenses diverses, tout en
s’adaptant à une société en constante mutation.
Introduction :
Afin de garantir un rendement de qualité via les outils informatiques répondant aux
besoins recensés d’un système d’information tout en tenant compte des contraintes liées à la
sécurité (confidentialité, disponibilité, intégrité, authenticité, non répudiation), l’on procède à
une étude minutieuse des opérations automatiquement réalisables en s’appuyant sur des
méthodes d’analyses ayant fait leur preuve ceci dans le but de produire des applications
informatiques adéquats. Les contraintes liées à la sécurité et aux futures taches de maintenances
recommandent une subdivision logique des applications et une sauvegarde sur plusieurs
serveurs afin d’éviter :
Bien qu’ils pourraient exister d’autres fonctionnalités fournis par Orange Cameroun, nous
nous limiterons à ces 4 fonctionnalités. Pour une équipe projet en charge de la mise en
Gestion Gestion d’
des appels internet
Client 1
Service de
Service de
monnaie
messagerie Base de données
électronique
Client n
Serveur
A la lumière de tout ce qui vient d’être établie, Aux vues des constantes mutations de
l’environnements, il convient de faire appel à des philosophies alternatives pour anticiper des
problèmes précédemment détaillés certains d’une gravité extrême pouvant exposer aux
poursuites judiciaires.
Conclusion :
Au travers de l’étude de cas précèdent, l’on a mis en lumière des défauts de réalisation
du système informatique entrainant des difficultés diverses sur le long terme. Nous pouvons
donc dire que les applications « tout en un tout » dans certaines conditions s’avère être de
mauvaise qualité, inefficace et non efficient. En raison de nouvelles pratiques et technologies
naissantes apportant chacune leurs lots d’innovations et proposant des alternatives pour
solutionner les problèmes existant sur d’autre technologies existantes sur le marché, l’on peut
se demander quels sont les précautions à prendre solutionner les inconvénients rencontrés dans
les applications monolithiques ?
Introduction :
Afin de présenter l’intérêt d’un travail suivant une démarche scientifique, l’on doit
prendre en compte les travaux précédemment réalisés en lien avec le sujet sur lequel on
travaille. L’objectif de cette démarche consiste à mettre en lumière les innovations apportées
par ces travaux sans pour autant retomber dans les problèmes rencontrés et parfois même résolu
par les travaux précédents avec un gain de temps en acquérant une expertise. Dans cet ordre
d’idée, le présent chapitre traitera sur des technologies de développement et déploiement
d’application informatique au sein des grandes entreprises de la place pour mettre en évidence
des limites relatives à leur approche pour ensuite présenter des ajustements liés à l’adoption des
microservices.
Framework Description
Spinnaker (Enterprise) Plateforme open source avec divers outils pour la livraison continue.
Netflix OSS (Center) Ensemble des outils open source permettant de construire et de déployer les services.
Spring (VMware) Framework JAVA de développement de microservices.
Dropwizard (Dropwizard) Framework largement utilisé pour développer des microservices en Java
Vertx (Fox) Boîte à outils pour la création des systèmes distribués réactifs sur la machine virtuelle Java.
Lagom (Odersky) Framework open source pour la construction de systèmes de microservices réactifs en Java ou Scala.
OpenFaaS (Ellis) Framework permettant aux développeurs de déployer facilement des fonctions et des microservices événementiels sur Kubernetes.
Azure Functions (Azure) Outils de Microsoft de création d’une architecture de microservices.
Kubeless (Framework) Boîte à outils basée sur les ressources Kubernetes pour fournir une surveillance et un dépannage des services.
Goa (Design) Framework pour la création de microservices et d’API.
Kubernetes (Google) Outils et ressources open source, permettant de gérer des applications conteneurisées sur plusieurs hôtes.
Drone (Drone.io) Système de livraison continue basé sur la technologie des conteneurs.
Fuge (microservice shell) Environnement d’exécution pour les développeurs des microservices.
Seneca (Framework) Boîte à outils pour écrire des microservices et organiser la logique métier d’une application.
Bitbucket (Atlassian) Environnement servant à planifier des projets, collaborer sur du code, le tester et le déployer.
Aws (Amazon) Plateforme de création et de construction des microservices.
de Gestion
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022 7
2. Microservices versus SOA :
Les microservices et le SOA disposent d’un ensemble de caractéristiques communes bien
qu’ils soient des styles architecturaux différents. Nombreux sont les travaux présentant les
différences et les similitudes entre ces deux architectures. Certains considèrent les
microservices comme une représentation moderne de l’architecture SOA. D’autre à l’exemple
de Martin Fowler estiment les microservices comme un sous ensemble du SOA.
SOA
III. Synthèse :
Bien que dans la course du développement en application informatique les choix sont
opérés en fonction de plusieurs facteurs pour un meilleur rendement, il n’existe pas de démarche
Conclusion :
A la lumière des évolutions technologiques au service du développement d’application
informatique, l’on a établi un besoin de maintenabilité, d’évolutivité, de diversité, de cohésion
donnant ainsi une place importante au microservice. Toutefois en raison des règles
caractéristiques d’un microservice recherché lors de sa mise en place, il convient de se
demander par quels moyens pratiques et démarches adéquats l’on doit y parvenir ?
Introduction :
Bien qu’en apportant une grande flexibilité pour la mise en place d’un système
informatique, les microservices ont aussi leurs lots de bonne pratique afin de ne pas se retrouver
dans des pièges rendant ainsi très complexes le système informatique mise en place. Il convient
donc de comprendre comment partir d’une architecture monolithique à une disposition
microservice, comment les organiser entre eux, comment les faire communiquer … Dans ce
chapitre il sera question de répondre aux précédentes questions afin de tirer profit de toute ses
qualités.
Faiblement couplés ;
Autonome ;
Petit et focalisé sur une et une seule responsabilité ;
Organisé autour des capacités métiers ;
Produit et non plus projet ;
Endpoint évolués et ayant des canaux de communications pauvres ;
Ayant une gouvernance décentralisée ;
Ayant un management de donnée décentralisée (chaque microservice a accès à sa propre
base de données) ;
Ayant une automatisation de l’infrastructure ;
Design for Failure (un microservice qui échoue ne doit pas faire tomber l’ensemble du
système) ;
Remplaçable de manière indépendante ;
Mise à jour de manière indépendante.
Aux vues des limites précédemment établies, il convient d’opérer une transformation de
cette disposition en microservices. Pour parvenir à cela, l’on doit se focaliser sur trois axes
fondamentaux dans le découpage à savoir :
Deux principales techniques sont proposées afin d’arriver à garantir ces axes.
Les phases de développement d’un projet avec une approche DDD sont :
Modélisation
du métier
Affinage du
modèle métier Conception
& architecture
refactorisation
Figure 3.2 : phases de développement d’un projet avec une approche DDD
2. La méthode seams :
La méthode seams est une approche intervenant dans la phase de développement afin
d’identifier dans le code source de l’application des portions isolables sur lequel l’on peut
travailler sans impact sur le reste de la codebase. Les portions précédemment obtenues seront
transformées par la suite en microservice.
1. La communication synchrone :
Dans ce mode d’échange, le microservice A demandant des informations au microservice
B cesse tout autre activité en attendant que le microservice B lui réponde. La mise en œuvre de
ce type de communication entraine donc une dépendance entre microservice car si B est
indisponible, A le devient aussi. En raison du caractère d’isolation recherché lors de la mise sur
pied d’un microservice, ce mode de communication doit être bien réfléchi et correspondre à nos
besoins. Plusieurs mécanismes de communication s’offrent à nous. L’on peut citer :
RPC (protocole réseau permettant de faire des appels de procédures sur un ordinateur
distant à l'aide d'un serveur d’applications) : il s’agit d’un protocole peut recommander
dans le processus de communication des microservices en raison des variations
développées et incompatible entre elle. Son utilisation pourrait nous rendre esclave
d’une technologie comme c’est le cas avec java RMI ;
REST : il s’agit d’un style d’architecture logicielle définissant un ensemble de
contrainte à utiliser pour les services web.
SOAP
CORBA
L’approche par hachage, ici on détermine le serveur à privilégier en fonction des clés
désignées, telles que http ou informations d’adressage IP ;
L’approche basée sur le moins de connexion, dans cette approche le load balancer
repartit les charges en fonction de la quantité de requête traitée par les serveurs de façon
à ce que qu’il n’y ait pas un serveur qui est plus de charge de travail que l’autre.
L’algorithme du temps de réponse le plus court : cette approche utilise des
communications continue entre les serveurs et le load balancer afin de calculer le débit
pour en déduire le serveur le plus apte à traiter la prochaine requête issue d’un client.
Le round robin : cet algorithme transmet les requêtes sur des serveurs cycliquement de
façon séquentielle.
Nom :
Adresse ip :
Numéro de port :
Pilote SGBD
Nom d’utilisateur
Mot de passe
2. Le microservice de registre :
Afin de communiquer avec l’extérieur (partie frontend), la Gateway qui est à la fois un
microservice jouant le rôle de proxy et de load balancer a besoin de connaitre les informations
tel que l’adresse ip et le numéro de port à contacter. Pour cette raison, lors de la conception des
microservices l’on recommande la mise sur pied d’un microservice annuaire ayant ces
informations essentielles.
Nom :
Adresse ip :
Numéro de port :
VI. Modélisation :
Afin de produire un système informatique efficacement, les parties prenantes se doivent
de communiquer par des moyens adéquats dans le but de se comprendre, de collecter et
d’organiser le travail. Dans cette thématique des langages techniques spécialisés dans un
domaine ont été mis sur pied. Ils nous permettent de s’affranchir des littératures encombrantes
tout en étant bien compris par les différentes équipes projets. Dans le cadre du développement
logiciel, on retient Merise qui en plus de fournir un langage est une méthode d’analyse, UML
qui est issue l’unification d’un certain nombre de langage préexistant dans la modélisation
informatique. Toutefois, merise est une méthode en voie de disparition du fait notamment de
son inadaptabilité au paradigme orienté objet et ai peut connue hors de la zone francophone.
Diagramme Diagramme de
d’objet déploiement
Diagramme de Diagramme de Diagramme de Diagramme de vue
communication temps séquence d’ensemble global
Diagramme de Diagramme de interaction
structure composite profils
de Gestion
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022 13
i. Diagramme des cas d’utilisations :
Il permet d’identifier les fonctionnalités fournies par le système (cas d’utilisation), les
utilisateurs qui interagissent avec le système et les interactions entre ces derniers. Les cas
d’utilisations sont souvent exploités dans la phase d’analyse pour définir les besoins de « haut
niveau ». Les objectifs principaux des diagrammes de cas d’utilisations sont :
Représentation graphique :
L’acteur : il s’agit d’une représentation de rôle joué sur le système par une entité
extérieure (personne, autre système …) au système. On distingue :
Les acteurs principaux qui sont ceux qui utilisent les fonctionnalités principales
du système ;
Les acteurs secondaires destinés aux tâches administratives ou de maintenance ;
Les matériaux externes ;
Les autres systèmes ;
Les relations : elles sont utilisées pour établir un lien entre un acteur et un cas
d’utilisation (associations) ou entre deux cas d’utilisations ou encore entre deux acteurs
(généralisation) ;
Gestion 14
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Figure 3.8 : formalisme d’une relation d'association
<Texte par
A B
défaut>
<<extend>>
B
A
<<include>>
Gestion 15
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
ii. Le Diagramme d’activités :
Le diagramme d’activité est un diagramme UML utilisé pour documenter le déroulement
des opérations d’un système de haut en bas.
Composantes :
Activite_1
Le couloir : Dans un diagramme d’activité chaque activité est réalisée par un acteur.
Ainsi on utilise donc les couloirs pour rattacher l’activité à l’acteur qui le réalise ;
couloir
Les états : ce sont les points d’entrés et les différents points de sortis du diagramme ;
Gestion 16
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
La barre de synchronisation : elle permet de définir les activités qui peuvent être faite
en parallèle ;
Le losange : il est utilisé pour réaliser des opérations nécessitant des tests sur des
conditions bien précises.
condition
Composantes :
Des classes : Il s’agit d’un type abstrait caractérisé par des propriétés (attributs et
méthodes) communes à un ensemble d’objets ;
Opérateur de Visibilité
Gestion 17
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Les relations : Elles sont de plusieurs types dans un diagramme de classe. L’on peut
citer :
L’association : elle représente une relation structurelle entre classes d’objets ;
L’agrégation : c’est une variante de l’association qui est non symétrique dans
laquelle l’une des extrémités joue un rôle prédominant par rapport à l’autre
extrémité ;
La composition : elle est un cas particulier d’agrégation dans laquelle la vie des
composants est liée à celle des agrégats ;
La généralisation : elle met en évidence les caractères communs existant entre
deux classes ;
Les multiplicités : définition du nombre d’instance de l’association pour une instance
de classe.
v. Le Diagramme de paquetage :
Il sert à représenter les dépendances entre paquetages. Un paquetage est le regroupement
des éléments de modélisation aussi appelés membres portant sur un sous ensemble du système.
Composantes :
Le paquage ;
Package name
Composantes :
Gestion 18
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Dans un diagramme de composant on trouve :
component
Noeud
Des associations indiquant une ligne de communication entre les éléments matériels ;
Conclusion :
S’agissant d’aborder les éléments clés relatifs à l’expérimentation axée sur les
microservices, l’on a procédé à un rappel des éléments nécessaires à sa conception couvrant la
modélisation par une bonne compréhension du métier au spécifications matériels et techniques
du système informatique à mettre sur pied, Les contraintes techniques relatives à leur
communication, leur déploiement, et la transformation monolithique.
Gestion 19
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
CHAPITRE IV : RESULTAT ET DISCUSSIONS
Introduction :
Afin d’apporter une démonstration des hypothèses scientifiques énoncées, l’on procède à
la phase d’expérimentation afin de prouver la fiabilité de ces hypothèses obtenant ainsi une
meilleure appréciation des résultats obtenus par rapport à ce qui était prévu. Fort des notions
précédemment vues, il est question pour nous dans ce chapitre de mettre en application une
architecture microservice sur un système informatique judicieusement choisie de la conception
au développement dans le but de mieux l’apprécier sur le terrain et d’acquérir les notions
pratiques relatif à l’organisation humaine, logiciel et matériel.
Via le langage java et en se servant du framework spring la création des microservices est
facilitée à l’aide du mécanisme d’injection des dépendances. La méthode universelle de création
d’un microservice consiste à :
Gestion 20
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
bibliothèques donnant accès à un certain nombre de classe de paquet et d’annotation
lambda développés pour une orientation bien défini ;
Obtenir le projet zippé en cliquant sur le bouton generate ;
Dézipper le projet et l’importer dans un EDI java de son choix ;
Procéder au codage ;
Figure 4.1 : exemple de formulaire pour la création d'un microservice pour la gestion des processus
métiers
Gestion 21
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Figure 4.2 : formulaire de création du microservice de registre
Les présents microservices étant développés en java une fois le jar généré depuis notre
EDI et prêt pour l’environnement de production, on effectue la commande suivante pour le
lancement d’un microservice :
Gestion 22
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
1. Création et paramétrage du microservice de configuration :
Pour mettre sur pied le microservice en charge de la configuration, l’on prépare le
répertoire de centralisation des fichiers de configuration liés à chaque microservice. Celui-ci
peut être local ou distant.
Gestion 23
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Figure 4.5 : formulaire de création du microservice de configuration
Le projet Zippé obtenu est importé dans un EDI de son choix ou l’on fera le codage
convenable.
1. Modélisation :
Après la collecte des informations relatifs au divers secteurs (emploi du temps, discipline,
notes, scolarité) concernant un étudiant, L’on a pu établi 7 blocs en ce qui concerne la gestion
des emplois du temps. A l’issue de l’analyse l’on a obtenu :
Gestion 24
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
systéme de gestion des comptes
modifier profil
créer un compte
Utilisateur
<<include>>
créer un groupe
d'utilisateur
<<include>>
attribuer un
privilége
<<include>>
associer un <<include>>
utilisateur à un s'authentifier
groupe
<<include>>
Administrateur
modifier une entité <<include>>
<<extend>>
modifier un
compte modifier un
groupe
rechercher une entité
<<extend>>
activer/
desactiver/
une entité
activer/
activer/
desactiver
desactiver un groupe d
un compte 'utilisateur
Figure 4.6 : diagramme de cas d'utilisation du sous-système de gestion des comptes composante du
système GESTIME
Gestion 25
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Description narrative des cas d’utilisations :
Dialogue :
Scenario nominal :
1. L’utilisateur choisit l’option « modifier un profil » ;
2. Le système affiche la page de modification de profil ;
3. L’utilisateur remplit les nouvelles informations et valide ;
4. Le système vérifie les informations, enregistre la modification et notifie l’utilisateur.
Scénario alternatif :
1. A l’étape 3 du scénario nominal, L’utilisateur annule l’opération, retour à l’étape 1.
2. A l’étape 4 du scénario nominal, il existe des données manquantes, notification à
l’utilisateur et retour à l’étape 3.
3. Après un certain temps d’inactivité, retour à l’authentification.
Post condition :
Cas du succès
Le profil a été modifié avec succès et le système est retourné sur la page d’exploration.
Cas de l'échec
Les modifications effectuées n’ont pas été prises en compte et le système a retourné un message
d’erreur.
Arrêt :
Les données saisies sont correctes et le système a modifié le profil ou les formulaires
rendus est incomplet voir possède des incohérences et le système a fourni un message d’erreur.
Gestion 26
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Activité pour cas d’utilisation « s’authentifier » :
<<ok>>
validité du token
<<ok>>
<<! ok>>
<<! ok>>
presentation formulaire de
connexion
remplir le formulaire
<<!valide>>
<<valide>>
message d'erreur
fabriquer et envoyer le
token
récuperer et sauvergarder
le token
Gestion 27
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
1..1 Téléphone
0..*
- numero : int
Personne
- num_cni : String
- photo : String
- nom : String
- prenom : String
- nationalite : String
email
- valeur : String
1..1
1..1 0..*
0..1
Compte groupe
- login : String 0..* - identifiant : int
- password : String 1..* - nom : String
0..*
Droit
- pouvoir : int
0..*
Privilége
- key : int
- nom : String
- num_classe : int
Figure 4.8 : diagramme de classe du sous-système de gestion des profils d'utilisateurs composante du
système GESTIME
Gestion 28
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
b) Gestion des infrastructures :
reserver un local
client
<<include>>
ajouter un local
<<extend>>
<<extend>>
modifier un local
gérer un local
<<include>> s'authentifier
consulter un local
supprimer un local
Gestion 29
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
c) Gestion de l’emploi du temps :
Diagramme de classe
Gestion 30
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Figure 4.10 : usecase diagram pour la gestion des emplois du temps
But : permet au système de connaitre l’évolution des cours afin de créer l’emploi du temps de
façon organisé et intelligent.
Dialogue :
Scenario nominal :
1. Le responsable de classe clique sur l’option « gestion du cahier de texte »
2. Le système affiche les différentes UV de la classe que l’internaute dirige
3. Le responsable de classe choisit une UV sur la liste qui lui est présenté
4. Le Système lui présente la liste des différents cahiers de texte et un bouton « + »
pour éventuelle ajout. Il s’agit des cahiers de texte déjà rempli pour éventuelle
modification ou suppression, des cahiers de texte à remplir et semi rempli par le
système.
5. Le responsable de classe clique sur un cahier de texte ou sur le bouton « + » pour un
éventuel ajout.
6. Le système présente le formulaire relatif à sa sélection
7. Le responsable de classe rempli le formulaire ou clique sur la poubelle pour la
suppression
8. Le responsable de classe confirme son travail via le bouton « ok »
Scénario alternatif :
1. A l’étape 7 du scénario nominale, l’utilisateur commet des erreurs sur le formulaire ;
- Le système renvoie un message d’alerte à l’étape 8.
- L’utilisateur clique sur le bouton « ok » du message d’alerte
- L’utilisateur corrige les zones d’erreur et relance l’étape 8 du scénario nominal.
Post condition :
Cas du succès
Gestion 31
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Le responsable de classe a consulté et édité à bien le cahier de texte
Cas de l'échec
Arrêt :
ii. Diagramme de séquence pour l’édition des dépendances : scénario nominale pour
l’ajout
DiagrammeSequence_1
Systéme SGBD
Enseignant
ref
<<ref s'authentifier>>
s'identifier()
remplir le formulaire
sauvergarde des données
Gestion 32
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Gestion
iii.
Salle_de_cour Dat
- numero : char - valeur : Date
- capacité : int - ouvrabilté : boolean
1..* 0..*
Personne - matricule : String Cahier de texte
- spécialité : String 1..1 Gestime
- Login : String - munber : int
- num_cni : String - identifiant : int - horaire : Dat
1..* 0..1
- password : String - durée : int - chapitre : String
1..1 - valide : byte 1..1
- telephone : int 1..* - detail : String
1..*
- nom : String Etudiant - durée : int
1..*
- prenom : String - matricule : String 1..*
- email : String
- nationalite : String
0..*
Uv - atteint : boolean
Administrateur Classe
Chef_etab
- filiére : String 1..* 1..* - code : int
- codepin : int - spécialité : String 0..*
- niveaux : byte - nom : String
Cuve - numero : char
- statut : boolean
1..*
Cuv
- credit : int
1..* - heure_de_cours : int
33
d) Gestion du calendrier académique :
Gestion 34
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
ii. Diagramme de séquence pour la gestion des ouvrables scénario nominale :
DiagrammeSequence_1
Systéme SGBD
Chef d'établissement
ref
<<ref s'authentifier>>
scénario nominale()
Figure 4.14 : diagramme de séquence du scenario nominale pour la gestion des jours ouvrables
Personne
- Login : String
- num_cni : String
- password : String
- telephone : int Dat
Ens
- nom : String - valeur : Date
- prenom : String - matricule : String 1..*
- ouvrable : boolean
- email : String - spécialité : String 1..*
- nationalite : String
Time
Decision
0..* - heure : byte
- choix : boolean - minute : byte
1..*
- seconde : byte
- valide : boolean
Gestion 35
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Figure 4.15 : diagramme de classe pour la gestion du calendrier académique
e) Diagramme de déploiement :
serveur d'application
PC
fichier .scss
Navigateur
fichier .exe fichier .jar fichier .ts serveur nodejs fichier d'images
fichier .html
serveur de microservices
serveur de base de données
pom.xml fichiers.properties
fichier .mdb fichier .config
smartphone
interface GSM
APK
fichiers
navigateur
Gestion 36
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Adresse du serveur
Corps de la requête
Méthode http d’envoi
Réponse du serveur
Conclusion :
Dans l’optique d’apporter une démonstration visant à acquérir quelques pratiques
techniques de mise en œuvre des microservices tout en appréciant les performances et la
flexibilité obtenues en comparaison du monolithique, l’on a en servant du Framework spring
obtenue un développement rapide des microservices opérant dans le système de gestion des
emplois du temps. Il convient de noter qu’une étude métier ayant permis la compréhension du
système d’information a été réalisé en amont et qu’il s’en suivi une traduction technique des
éléments obtenus via le langage UML. Rappelons toutefois qu’en raison d’une charge réseau
importante, il serait judicieux de réaliser une étude comparative des performances en rapport à
l’encodage des données et une étude des vulnérabilités de cette architecture sur la sécurité des
informations.
Gestion 37
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
CONCLUSION GENERALE ET PERPECTIVES :
I. CONCLUSION :
S’étant orienté vers la problématique relative à l’évolution des systèmes informatiques à
un cout réduit dans des délais de plus en plus cours tout en veillant à la sécurité des informations
et du matériel, le présent document a présenté les microservices comme étant une solution de
développement logiciel efficace et économique. Toutefois il faut noter que des bonnes pratiques
et démarches s’imposent raison pour laquelle dans la partie méthodologie des connaissances
relatives à la modélisation, au mode et protocole de communication, au domain drivin design
pour une transformation architecturale ont été abordées. A la lumière des résultats obtenues au
chapitre quatre l’on peut bien qu’attestant le rendement dans la production d’application
soulevé des questions concernant la confidentialité et l’intégrité des données.
II. PERSPECTIVES :
Les résultats obtenus montrent que les microservices constituent un excellent moyen pour
faire croitre le niveau d’automatisme des systèmes d’informations en société et pour optimiser
le temps de réponse et de traitement de certains algorithmes usuels dans la mesure où celui-ci
est au cœur des systèmes distribués. L’application de la démarche microservice pour la mise en
place des opérations courantes (système informatique pour les élections diverses, système de
gestion des notes , discipline , identifications et recensement des personnes, authentifications
des pièces citoyennes … ) permettrait un gain de productivité dans les délais de réalisation , de
rendement dans les temps de réponse des systèmes informatiques ainsi qu’une connaissance
spécialisée dans les domaines de l’informatique (celui qui veut se spécialiser en backend n’aura
plus besoin de connaissance de certains élément du frontend en d’autre terme les microservices
permettent un niveau d’abstraction des composants et de l’équipe technique avancé tout en
gardant une réelle communication).
Gestion 38
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
BIBLIOGRAPHIE :
Ahmadvand, M. and Ibrahim, A. (2016). Requirements reconciliation for scalable and secure
microservice (de)composition. In IEEE International Requirements Engineering conference
(RE), pages 68–73. IEEE Computer Society.
Djogic, E., Ribic, S., and Donko, D. (2018a). Monolithic to microservices redesign of event
driven integration platform. In 2018 41st International Convention on Information and
communication Technology, Electronics and Microelectronics (MIPRO), pages 1411– 1414.
IEEE
Gestion X
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
[Ellis] Ellis, A. Serverless functions made simple with kubernetess.
https://www.openfaas.com/.
[microservice shell] microservice shell, T. Fuge, an execution environment for micro service
development with node.js. https://fuge.io/.
[25] Mohamed Taoufik DAOUD, (2021). Vers une approche d’identification automatique de
microservices pour les besoins de migration de systèmes d’information. Thèse de doctorat,
Université Claude Bernard Lyon 1, France, 127 p.
Gestion XI
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
Video2Brain, Formation pratique d’UML 2.5,
http://fichiers.telechargercomplet.fr/2018/02/telechargement-video2brain-decouvrir-la-
modelisation-uml-23/
[28]Wikipedia,https://fr.wikipedia.org/wiki/UML_(informatique)#/media/Fichier:Uml_diagra
m-fr.png
Programmer en Java
UML 2.5
Gestion XII
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
TABLE DE MATIERE
DÉDICACE : ........................................................................................................................... II
GLOSSAIRE : ........................................................................................................................ IV
RÉSUMÉ : ............................................................................................................................... V
ABSTRACT : .......................................................................................................................... VI
SOMMAIRE : .......................................................................................................................... X
Introduction : .......................................................................................................................... 2
Conclusion :............................................................................................................................ 4
Introduction : .......................................................................................................................... 5
Gestion XIII
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022
1. Environemment réseau des microservices : ......................................................................... 10
Conclusion :.......................................................................................................................... 11
Introduction : ........................................................................................................................ 12
Conclusion :.......................................................................................................................... 19
Introduction : ........................................................................................................................ 20
1. Modélisation : ...................................................................................................................... 24
Conclusion :.......................................................................................................................... 37
I. CONCLUSION : .......................................................................................................... 38
BIBLIOGRAPHIE : ................................................................................................................ X
Gestion XIV
Etudiant en 5iéme année option GSI. Année Académique 2021 – 2022