Untitled Flashcards Set
❏Couches de vue de Services:
Clients : Utilisateurs finaux envoyant des requêtes via des interfaces (ex. navigateur).
Serveur Web : Interface intermédiaire recevant et transmettant les requêtes des clients aux serveurs applicatifs.
Serveurs Applicatifs : Contiennent la logique métier, traitent les requêtes et interagissent avec les fournisseurs de services.
Fournisseurs de Services : Modules exécutant des tâches spécifiques (ex. authentification, calculs).
Base de Données : Stocke les données pour lecture/écriture par les serveurs applicatifs.
Étapes du traitement d’une requête HTTP :
Envoi de la requête : Client envoie une requête HTTP au serveur Web.
Routage : Le routeur dirige la requête au serveur Web.
Réception : Le serveur reçoit la requête via un socket.
Traitement : Un processus de travail traite la requête.
Accès au contenu : Le serveur récupère les fichiers de la page demandée.
Accès à la base de données : Si nécessaire, il récupère des données supplémentaires.
Création de la réponse : Le serveur crée une réponse HTTP avec le contenu requis.
Envoi de la réponse : Le serveur envoie la réponse au client.
Affichage : Le navigateur interprète le code HTML et affiche la page à l’utilisateur.
❏Systèmes distribués
Ensemble d’ordinateurs indépendants répartis sur différents environnements:
Ils communiquent à l'aide d'un middleware.
Ils travaillant ensemble pour apparaître comme un seul système cohérent à l’utilisateur final.
Echangent des messages entre eux afin d’atteindre des objectifs communs.
Caractéristiques d'un système distribué
Évolutivité
Répartition des données et des services
Disponibilité : Tolérance aux interruptions
Transparence : Interactions centralisées, indépendamment de l'architecture.
Communication dans un environnement distribué
Middleware : Interface assurant la communication entre différents environnements.
Principe : Échange de messages via un réseau pour optimiser collaboration et répartition des tâches.
Composants dans l’architecture de communication d’un système distribué
Machines A, B, C : Nœuds avec leur système d'exploitation local (LOS).
Applications distribuées : Fonctionnent sur plusieurs machines et nécessitent une coordination.
Service de Middleware (Distributed System Layer) : Couche intermédiaire pour la communication et gestion des données entre nœuds.
Réseau (TCP/IP) : Transfert de messages et données via un réseau.
Définitions des composants clés
Client : Utilisateur ou application initiant une requête pour accéder à une ressource ou service.
Middleware : Intermédiaire qui traite les requêtes du client et interagit avec les services cibles.
Application E : Exemple de ressource cible comme une application Web ou base de données.
Applications A, B, C, et D : Services ou ressources supplémentaires interagissant avec le middleware.
Sites A et B : Ressources externes, par exemple une API distante, accessibles par le middleware.
Flux de requêtes : Flèches illustrant le passage des requêtes et réponses entre composants.
Aspects clés de l'architecture middleware
Découplage et flexibilité : Facilite la maintenance et l’évolutivité.
Traitement des requêtes : Transforme, sécurise, et journalise les requêtes.
Découverte et routage : Oriente les requêtes selon les règles métier.
Équilibrage de charge : Distribue les requêtes pour une disponibilité continue.
Transformation des données : Convertit les formats et met en cache les données.
Sécurité : Applique des politiques de sécurité et gère l'autorisation.
Étapes du traitement d'une requête dans le middleware
Requête du client : Initiée par un utilisateur ou application.
Interception et traitement : Le middleware reçoit et traite la requête.
Routage : Détermine le service ou ressource cible.
Interaction avec la cible : Communication avec le service requis.
Transformations éventuelles : Adaptation des données échangées.
Mise en cache et optimisation : Pour réduire la latence.
Gestion des erreurs : Relance, notification, ou basculement si nécessaire.
Réponse au client : Envoi des informations traitées au client.
Interactions continues : Middleware prêt pour les nouvelles requêtes.
Points clés à retenir
Rôle du middleware : Facilite la communication et gestion des interactions client-service.
Fonctionnalités centrales : Routage, transformation, mise en cache, sécurité.
Centralisation : Simplifie la maintenance et l'administration.
Choix du middleware : Dépend des besoins en performance, sécurité, et scalabilité.
Fonctionnement d'un Middleware RPC (Remote Procedure Call)
Les RPC permettent à un programme d'appeler des fonctions distantes comme si elles étaient locales. Cette architecture repose sur trois composants principaux :
Client (l'appelant) : Composant initiant l'appel à distance.
Serveur (l'appelé) : Composant exécutant la procédure appelée.
Langage de définition d'interface (IDL) : Langage utilisé pour que le client et le serveur puissent communiquer.
Étapes du scénario RPC
Requête du client : Le client souhaite exécuter une procédure distante. Il envoie une requête RPC au middleware, spécifiant la procédure, les arguments, et l'identifiant du serveur.
Interception et analyse : Le middleware analyse la requête, vérifie le serveur cible et localise la procédure à exécuter.
Encapsulation et envoi : Le middleware encapsule la requête dans un message avec des métadonnées nécessaires et l'envoie au serveur.
Réception par le serveur : Le serveur reçoit et décode le message, identifie la procédure à exécuter et récupère les arguments.
Exécution de la procédure : La procédure s'exécute sur le serveur en utilisant les ressources locales.
Préparation de la réponse : Le serveur prépare une réponse incluant les résultats, les valeurs de retour, et l'état final.
Décodage de la réponse : Le middleware reçoit la réponse, décode les informations et vérifie les erreurs éventuelles.
Retour au client : Le middleware envoie la réponse au client qui peut alors traiter les résultats.
Points clés à retenir
Masquage de la complexité : Le middleware RPC simplifie la communication réseau pour le client.
Gestion efficace des requêtes et des erreurs : Le middleware optimise les requêtes, assure une communication sécurisée, et gère les erreurs.
Simplification du développement : L’approche RPC réduit les soucis liés à la communication réseau et favorise une architecture orientée objet.
Composants du Middleware RPC
Client : Utilisateur ou application initiant l'appel.
Client Stub : Traduit les appels locaux en requêtes RPC.
Client Network Interface : Assure la communication réseau côté client.
Middleware : Intercepte, analyse, et route les requêtes RPC.
Server Network Interface : Communication réseau côté serveur.
Server Stub : Traduit les requêtes RPC en appels locaux.
Server : Exécute les procédures distantes.
Avantages principaux de l'architecture SOA
Modularité et flexibilité
Réutilisabilité
Interopérabilité
Scalabilité
Résilience
Gouvernance et sécurité
Alignement avec les objectifs métiers
SOA permet de mieux aligner les solutions informatiques avec les objectifs métiers,
car les services peuvent être conçus spécifiquement pour répondre aux besoins de l’entreprise.
Cela améliore la communication et la collaboration entre les équipes informatiques et métiers, facilitant le développement de solutions plus pertinentes.