Introduction 1 Ingénierie informatique est une discipline qui traite de la con

Introduction 1 Ingénierie informatique est une discipline qui traite de la conception, du développement et de la fabrication de systèmes informatiques, à la fois matériels et logiciels. L’ingénierie des systèmes répartis consiste à rendre la tache de développement des applications réparties plus simple en facilitant la gestion de la complexité inhérente aux applications. Notre but dans un premier temps est de voir une approche de modélisation dite : MDA (Model Driven Architecture) pour le développement des applications réparties. 2 Systèmes répartis 3 Définitions Déf1 :"Un système réparti est un ensemble de machines autonomes connectées par un réseau, et équipées d’un logiciel dédié à la coordination des activités du système ainsi qu’au partage de ses ressources." Déf2 : "Un système réparti est un système qui s’exécute sur un ensemble de machines sans mémoire partagée, mais que pourtant l’utilisateur voit comme une seule et unique machine." 4 L’image de la fourmilière permet d’illustrer les systèmes répartis : chaque ordinateur est une fourmi, et l’ensemble des ordinateurs collaborant est la fourmilière. Chaque fourmi, prise seule, semble avoir un comportement simple et rudimentaire. Mais d’un point de vue global, la fourmilière a un comportement cohérent et efficace. Le plus impressionnant est d’observer la robustesse d’une telle structure : si l’on écrase la moitié des fourmis composant la fourmilière, elle continuera à fonctionner. 5 Pourquoi un système réparti ? 1. Partage des ressources (données, applications, périphériques chers). 2. Tolérance aux pannes (fiabilité, disponibilité). 3. Facilite la communication entre utilisateurs. 4. Concurrence, parallélisme 5. Prix des processeurs de petite puissance inférieur à ceux de grande puissance =⇒raisons économiques. 6. Flexibilité, facilité d’extension du système (matériels, logiciels). 6 Inconvénients des systèmes répartis - distribués Logiciel relativement peu d’expérience de conception, mise en œuvre et utilisation de logiciels distribués la distribution doit elle être transparente aux utilisateurs ? Réseau de communication saturation perte de messages Sécurité facilité de partage de données rend nécessaire la protection des données confidentielles 7 Les principaux problèmes à résoudre: – Répartition de l’application. – Hétérogénéité des équipements et technologies, besoin d’interopérabilité. – Ouverture de système. – Sécurité. – Évolutivité. –Tolérance aux fautes et la fiabilité/ Détection et isolation des fautes/défaillances. – Concurrence, Synchronisation et Interblocage. –Transparence. –Validation et tests. 8 Répartition de l’application: Partitionnement de l'application en différents composants. Equilibrer la charge de l’application à travers différents composants répartis (client, nœuds de la grappe), statiquement ou dynamiquement. Architecture simple, propice à l'évolutivité et au maintien de la sécurité. 9 Hétérogénéité: – Réseaux et protocoles utilisés; – Matériel; – Systèmes d’exploitation; – Langages de programmation; – Implémentations; – Représentations internes. Solutions: – Protocoles et formats de stockage normalisés; – Intergiciels d'adaptation (e.g. CORBA, Java RMI, .NET). 10 Systèmes ouverts: – Possibilité d'évoluer, de re-développer le système en tout ou en partie. – Interopérabilité avec des systèmes complémentaires. – Portabilité vers du nouveau matériel. – Services développés selon des règles normalisées, formalisées à l'intérieur de protocoles, formats de stockage et interfaces de programmation. 11 Sécurité : –Transmettre des informations sensibles sur un lien de communication non sécuritaire et non fiable de manière sécuritaire. – Confidentialité, intégrité, disponibilité. 12 Évolutivité – Le système doit demeurer performant lorsque le nombre d’utilisateurs et/ou de ressources augmente. –Taille du système. – Etendue géographique. –Architecture du logiciel réparti. 13 Tolérance aux fautes et fiabilité – Les fautes et les défaillances sont plus courantes que dans les systèmes centralisés. – Les défaillances sont habituellement indépendantes. – Détection des fautes/défaillances. – Masquage ou tolérance des fautes/défaillances. – Redondance et réplication. 14 Concurrence: – Permettre au système de traiter simultanément plusieurs requêtes à une même ressource. – Les opérations doivent être sérialisées ou donner un résultat cohérent équivalent. 15 Transparence: – Masquer à l’utilisateur tous les aspects reliés à la répartition du système. –Accès, localisation, concurrence, réplication, défaillance, mobilité, performance, évolutivité. 16 Validation et Tests: ―Comment tester le système complet? Chaque composante? ― Les fautes lors des tests pourraient être masquées par la tolérance aux pannes? ―Validation formelle de certaines portions. SPIN, modelchecker développé par Bell Labs, http://spinroot.com/spin/whatispin.html. UPPAAL est un modelchecker développé par l'Université Uppsala, en Suède et l'Université d'Aalborg en Danemark, http://www.uppaal.com/. Standard OpenSource pour la fiabilité et interopérabilité: ― Service Availability Forum (SAF) et Availability Management Framework (AMF), http://www.saforum.org/. 17 Exemples : Systèmes répartis 18 Le DNS (Domain Name System) Le DNS (Domain Name System) : le système qui permet de trouver l’adresse IP associée à un nom de machine. DNS est une base de données répartie. www.univ-saida.dz 193.194.87.133 19 DNS : traitement d’une requête Je veux me connecter à cvs- etud.ufrmd.dauphine.fr : 1. demande du serveur local à un root server 2. réponse du root server : il faut demander à un serveur fr (délégation) 3. fr dauphine.fr 4. dauphine.fr ufrmd.dauphine.fr 5. ufrmd.dauphine.fr 193.51.89.162 Dans le cache après cette requête : adresses IP des serveurs DNS de fr, dauphine.fr et ufrmd.dauphine.fr. 20 Le serveur WEB : Hyper Text Transfer Protocol (HTTP). solution de base de type client/serveur intrinsèquement réparti à cause des liens (par exemple, toutes les requêtes CGI peuvent être exécutées sur un serveur différent du serveur principal) CGI : Common Gateway Interface (Interface de passerelle commune). 21 22 23 CGI est le standard industriel qui indique comment transmettre la requête du serveur HTTP au programme, et comment récupérer la réponse générée. Le peer to peer : peer to peer pur : pas de serveur connexions directes entre les participants peer to peer “pratique” : l’essentiel des communications s’effectue entre les participants (mais il reste des serveurs). 24 Edonkey 2000 : Réseau Peer to Peer(P2P) Programme eMul . tout le monde peut devenir serveur sur le serveur : liste des clients, pour chaque client : liste des documents proposés au téléchargement. Communication client vers serveur : le client demande un document le serveur lui renvoie la liste des clients qui possèdent le document Communication client vers client : téléchargement des documents morceaux par morceaux (un client peut télécharger une partie d’un document d’un client et le reste d’un autre). 25 Les grilles de calcul Une grille de calcul permet de faire du calcul distribué : elle exploite la puissance de calcul (processeurs, mémoires, ...) de milliers d'ordinateurs afin de donner l'illusion d'un ordinateur virtuel très puissant. Ce modèle permet de résoudre d'importants problèmes de calcul nécessitant des temps d'exécution très longs en environnement "classique". 26 Développement des applications réparties 27 Le système d'information est la partie du réel constituée:d'informations organisées.d'événements ayant un effet sur ces informations. et d'acteurs qui agissent sur ces informations ou à partir de ces informations.selon des processus visant une finalité de gestion et utilisant les technologies de l'information. Le Système d’Information 28 Le Système Informatique Est un ensemble organisé d'objets techniques – matériels, logiciels – dont la mise en œuvre réalise l'infrastructure d'un système d'information. 29 La modélisation Le but de la modélisation d'un SI est d'aboutir à une spécification qui soit une représentation simplifiée de sa réalité passive ou active. Les ingrédients de la modélisation des SIs sont bien connus : modèle, langage, démarche, outil et méthode. 30 Un modèle est un instrument de travail intellectuel et pratique qui permet de représenter une réalité observée à l'aide d'un formalisme conventionnel et de règles de représentation de type logicomathématique. Exemples modèle relationnel n-aire structuration des informations modèles des réseaux de Petri la dynamique des systèmes 31 Catégories des méthodes les méthodes dites d'analyse : CORIG, dans les années 1960. les méthodes dites cartésiennes, comme SADT, des années 1970. les méthodes systémiques, comme MERISE, des années 1980. les méthodes objets, comme UML, des années 1990. 32 33 Outils et services pour les applications réparties 34 Parmi les services nécessaire à la mise en oeuvre d’applications réparties, nous distinguons : Les infrastructures de systèmes: fournissent le support d’exécution et les outils de développement. permettent la spécification, la programmation, l’intégration et la mise au point des applications. Les outils d’administration, qui permettent de mettre en place l’application et de l’adapter à l’évolution des besoins. Infrastructures de systèmes 35 Les années 1985-90 ont vu le développement de systèmes et langages expérimentaux, à base d’objets partagés. un exemple : DCE (Distributed Computing Environment, défini par l’OSF). En 1991, l’Object Management Group (OMG) définit une architecture générique CORBA (Common Object Request Broker Architecture). vise à organiser les applications comme des ensembles d’objets communiquant entre eux selon le schéma client-serveur (un objet jouant souvent les deux rôles). CORBA 36 Un langage de définition d’interfaces (Interface Definition Language , ou IDL), qui sert à décrire les interfaces des objets. Un "courtier d’objets" (Object Request Broker , ou ORB ), dont la fonction est de mettre en relation un objet client et un objet serveur et de réaliser la communication entre eux. Un ensemble de services permettant de remplir des fonctions plus élaborées que la simple communication (gestion d’objets persistants, événements, transactions). FIN 37 uploads/Industriel/ srep-cours-01.pdf

  • 15
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager