parent
68ca347cad
commit
d5bc015d21
Binary file not shown.
@ -1,11 +1,10 @@
|
||||
Un API Gateway est un service qui nous permet de créer, publier et gérer des API. Il agit en quelque sorte comme un "pont" entre les applications clientes et les services back-end qui fournissent les données ou les fonctionnalités nécessaires pour ces applications.
|
||||
|
||||
Les fonctionnalités courantes d'un API Gateway incluent :
|
||||
|
||||
La gestion des utilisateurs : l'API Gateway peut gérer les utilisateurs et les autorisations de manière centralisée, en utilisant des mécanismes tels que l'authentification et l'autorisation basés sur des jetons.
|
||||
La gestion des API : l'API Gateway peut gérer les API de manière centralisée, en fournissant des fonctionnalités telles que la création, la publication, la mise à jour et la suppression d'API.
|
||||
La gestion des versions : l'API Gateway peut gérer les versions des API de manière centralisée, en permettant aux développeurs de publier et de mettre à jour des versions spécifiques des API.
|
||||
La gestion des performances : l'API Gateway peut gérer les performances des API de manière centralisée, en utilisant des mécanismes tels que le cache et la répartition de charge pour améliorer les performances des API.
|
||||
La gestion de la sécurité : l'API Gateway peut gérer la sécurité des API de manière centralisée, en utilisant des mécanismes tels que l'authentification, l'autorisation, la chiffrement, la sécurité des transactions, la détection d'intrusion et la conformité réglementaire.
|
||||
La gestion des utilisateurs : l'API Gateway peut gérer les utilisateurs et les autorisations de manière centralisée, en utilisant des mécanismes tels que l'authentification et l'autorisation basés sur des jetons.
|
||||
La gestion des API : l'API Gateway peut gérer les API de manière centralisée, en fournissant des fonctionnalités telles que la création, la publication, la mise à jour et la suppression d'API.
|
||||
La gestion des versions : l'API Gateway peut gérer les versions des API de manière centralisée, en permettant aux développeurs de publier et de mettre à jour des versions spécifiques des API.
|
||||
La gestion des performances : l'API Gateway peut gérer les performances des API de manière centralisée, en utilisant des mécanismes tels que le cache et la répartition de charge pour améliorer les performances des API.
|
||||
La gestion de la sécurité : l'API Gateway peut gérer la sécurité des API de manière centralisée, en utilisant des mécanismes tels que l'authentification, l'autorisation, la chiffrement, la sécurité des transactions, la détection d'intrusion et la conformité réglementaire.
|
||||
|
||||
En utilisant un API Gateway, nous pouvont centraliser les fonctionnalités courantes liées aux API, telles que la gestion des utilisateurs, la gestion des API, la gestion des versions, la gestion des performances et la gestion de la sécurité, ce qui permet de simplifier la gestion des API et d'améliorer leur qualité.
|
@ -1,79 +1,12 @@
|
||||
```mermaid
|
||||
# Architecture de l'API
|
||||
|
||||
flowchart LR
|
||||
subgraph Repository
|
||||
direction TB
|
||||
BowlingRepository
|
||||
end
|
||||
## Description
|
||||
|
||||
subgraph Entities
|
||||
direction TB
|
||||
BowlingEf
|
||||
end
|
||||
subgraph Service
|
||||
direction TB
|
||||
Bowlingservice
|
||||
end
|
||||
Notre projet est composé de 3 API :
|
||||
* BowlingApi : API RestFull
|
||||
* Bowling Api Gateway : API Gateway
|
||||
* GraphQL Project : API GraphQL
|
||||
|
||||
subgraph dto
|
||||
direction RL
|
||||
Model
|
||||
end
|
||||
subgraph Mapper
|
||||
direction TB
|
||||
end
|
||||
subgraph Bowlingstub
|
||||
direction TB
|
||||
end
|
||||
subgraph tests
|
||||
direction TB
|
||||
end
|
||||
subgraph BowlingApi
|
||||
direction TB
|
||||
controlleurs
|
||||
end
|
||||
|
||||
## Architecture
|
||||
|
||||
CalculContext -.-> Entities
|
||||
|
||||
|
||||
|
||||
Service
|
||||
Bowlingservice -.->Mapper
|
||||
Bowlingservice -.->Repository
|
||||
Bowlingservice -.->dto
|
||||
BowlingApi
|
||||
controlleurs-.->Mapper
|
||||
controlleurs-.->Bowlingservice
|
||||
|
||||
tests-.->dto
|
||||
tests-.->Bowlingstub
|
||||
Bowlingstub-.->dto
|
||||
Bowlingstub-.->Bowlingservice
|
||||
BowlingRepository -.-> Entities
|
||||
Mapper-.-> Entities
|
||||
Mapper-.->dto
|
||||
|
||||
```
|
||||
|
||||
|
||||
: *-->* **indique la dependance**
|
||||
|
||||
|
||||
|
||||
DTO : cette paquage contient les différentes classes importantes implémentant les éléménts important de notre programme, avec le sous paquage Modele on regroupe ses différentes classes. Il s'agit des classes : Joueur, Equipe, Frame et Partie, permet de séparer les données de la couche de présentation de la couche de données.
|
||||
|
||||
Entities : Cette partie du programme regroupe les différentes classes et sous paquage pour la mise en place de Entity Framework, il contient deux parties dont le context pour la mise en place de la chaîne de connection, et l'Entities qui regroupe les différentes entités c'est à dire les classes liées aux tables de notre base de données. Il s'agit des classes : JoueurEntity, EquipeEntity, FrameEntity et PartieEntity.
|
||||
|
||||
BowlingStub : regroupe les classes StubJoueur,StubEquipe et StubPartie qui fournissent des données par défaut à utilser dans le reste de l'application pour les tests unitaires. Ils implémentent les méthodes d'ajout, de modification, de suppression et de sélection des données de la base de données. Respectivement, les listes d'objets des classes Joueur,Equipe et Partie sont utilisées pour stocker les données générées ou récupérées.
|
||||
|
||||
Test : regroupe les differents tests sur les classes Joueur, Equipe, Frame, Jouer et Partie et les fonctionnalités du programme , par exemple la création du partie et les joueurs ou équipes voulant participer.
|
||||
Mapper:Cette paquage contient les differents classes du programme pour convertir les objets DTO en entités de base de données et vice versa.
|
||||
|
||||
BowlingRepository contient de classes pour accéder aux données stockées dans notre base de données
|
||||
|
||||
Bowlingservice regroupe de classe pour implémenter les fonctionnalités de l'application
|
||||
|
||||
|
||||
|
||||
BowlingApi : regroupe les classes qui jouent le rôle de client sur le programme, principalement la classe Program qui permet de tester les fonctionnalités du programme via le Business. Un match de bowling est joué via plusieurs modes de jeu (Solo;individuel et équipe). Le démarrage d'un jeu est assuré par la classe Match qui fournit les differents fonctionnalités pour jouer.
|
||||
<img src="Images/Architecture.png" width="1691" height="1017" >
|
After Width: | Height: | Size: 118 KiB |
Loading…
Reference in new issue