Programmation d applications. Comprendre les fondements de la programmation d applications réparties
|
|
- Laure David
- il y a 7 ans
- Total affichages :
Transcription
1 Programmation d applications réparties Objectifs du cours Comprendre les fondements de la programmation d applications réparties Modèles de programmation Architecture et Middleware Savoir mettre en œuvre les principales solutions existantes Conception Plateformes 1
2 Plan du cours Introduction et principes de base Architecture, conception Plateformes Défis majeurs Middleware (définition, caractérisation, histoire) Invocation de méthodes à distance (RMI Java) Modèle, principes, mise en œuvre J2EE, EJB Objet distribué, Persistence, aspects non fonctionnels Service et orchestration Web Service, BPEL Bibliographie Cours de Martin Quinson (ESIAL 2008) Cours sur Internet Systèmes et Applications Répartis (S. Krakowiak) Ecole d été sur les intergiciels Autres références fr/~charoy/index.php?n=main.par2009 2
3 Introduction et principes de base Introduction Architectures applicatives RPC Multi-niveaux Patrons de conception Proxy, Factory, Wrapper, Interceptor, Conclusion Applications réparties Passage d un informatique centralisée à une informatique décentralisée Communication entre des applications développées séparément Mise en commun de ressources (grille, bases de données) Nouveaux domaines d application Web, mobilité, ubiquité Baisse des couts et des performances Machine Communication 3
4 Système réparti Définition (from S. Krakowiak) Ensemble composé d éléments reliés par un système de communication; les éléments ont des fonctions de traitement (processeurs), de stockage (mémoire) et de relation avec le monde extérieur (capteurs, actionneurs) Les éléments du système ne fonctionnent pas indépendamment mais collaborent à une ou plusieurs tâches communes. Une partie au moins de l état du système est partagée entre plusieurs éléments. Propriétés des applications Sureté Sécurité Disponibilité Maintenabilité, extensibilité Passage à l échelle 4
5 Définitions de propriétés Sureté (Reliability) Probabilité qu un système fonctionne à t+1 s il fonctionnait à t. Disponibilité ibili (Availability) Pourcentage du temps pendant lequel un système est disponible (de 99 à 99,999) Serviceability Facilité de maintenance corrective et préventive (améliore la disponibilité) Passage à l échelle Cout pour passer de 1 à 10, 100, 1000, clients Problèmes Détection des défaillances des éléments Multiplication des causes de pannes Problèmes liés à la communication i Coupure, déconnection, pertes de messages Ouverture et donc problèmes de sécurité Confidentialité, intégrité, déni de service Il faut prendre des décisions sont connaitre réellement la Il faut prendre des décisions sont connaitre réellement la situation Timeout, redéploiement, changement de service, annulation 5
6 Les applications Commerce et trading Applications bancaires Call Centers Assurances Nombreuses sources d information potentielles Interactions entre systèmes hétérogènes Grands nombre de transactions (throughtput) Evolution rapide Les questions à résoudre L invocation de méthodes à distance Le cycle de vie des objets L intégration avec le backend Les transactions L audit et les traces Le déploiement et le redéploiement Les arrêts du serveur La concurrence La gestion des messages L équilibrage de la charge La sécurité 6
7 Le problème n 1 L appel de méthodes à distance Comment faire en sorte de pouvoir appeler une fonction d un programme dans autre programme qui ne partage pas le même espace d adressage? Quels sont les problèmes qui se posent? Quelles sont les solutions? Découpage de l application La procédure comme brique de base Procédure = abstraction Appel de procédure à distance RPC remote procedure call 7
8 RPC Historique Idée en 1976 (RFC 707) Implantation ti par SUN en 1988 Utilisé par NFS (entre autre) Avantages Appel distant identique à l appel local Abstraction : la distribution est masquée SUN RPC (1988) Génération du code commun à tous les appels 8
9 SUN RPC Le Talon Client Reçoit l appel local Emballe les paramètres (marshalling) Crée un identificateur Exécute l appel client Attend le résultat Reçoit et déballe les résultats (unmarshalling) Les retourne au client Le Talon serveur Reçoit le message d appel Déballe les paramètres Exécute la procédure en local Emballe et transmet le résultat Découpage de l application Problème de la granularité des appels Cout d un aller retour sur les réseau (ms) Comment structurer t l application li : question d architecture t 9
10 Architectures applicatives : un niveau Deux niveaux Problème de déploiement et de maintenance Cohérence des traitements 10
11 Trois niveaux Quatre niveaux ou plus 11
12 Le modèle Client - Serveur Le client demande à exécuter un service Le serveur exécute le service Client et serveur sont sur des machines distinctes (ou pas) Indépendance Interface/Implantation Client Serveur Interface Les défis de l informatique répartie Problèmes théoriques Informatique concurrente : compétition, interblocage, famine If Informatique mti ditibé distribuée : connaissance partielle, till communication asynchrone, consensus Problèmes pratiques Identification des objets sur le réseau Transmission des paramètres et des résultats Hétérogénéité Traitement des erreurs Gestion de l exécution Gestion de la mémoire (GC distribué) 12
13 La désignation et la liaison Désignation : nom qu une entité donne à une autre Liaison : faire se rencontrer les entités Désignation : quelle est la procédure appelée, sur quel site d exécution. La désignation doit être indépendante de la localisation Liaison i précoce ou tardive Précoce : connue à la compilation Tardive : sélection à l exécution (au premier ou à chaque appel) Utilisation d un annuaire 1: Enregistrement du serveur dans l annuaire 2: Recherche du serveur par le client Critère de recherche Par nom (machine, fonction, service) Par propriété (CPU, mémoire, disque, ) 13
14 Représentation des données en mémoire Hétérogénéité des machines Différences de représentation Little-endian (x86) vs Big-endian (ppc, sparc) Représentation des flottants (IEEE 754) Alignement des données dans les structures Tailles Représentation des données sur le réseau external Data Representation (XDR, SUN RPC) Pivot pour la transmission sur le réseau Bibliothèques de conversion Autres solutions htonl, ntohl, etc : conversions manuelles ASN.1 : normalisé mais lourd XML : SOAP, JXTA. Un peu lourd IIOP : CORBA NDR : le récepteur décode. 14
15 Passage des paramètres Passage par valeur : toto(43) Pas de problème Passage par référence : toto(&x) Impossible, pas le même espace d adressage Passage par copie/restauration Solution imparfaite Problème d aliasing 15
16 Les défaillances Réseau Congestion message retardé mais pas perdu Perte de message Ordre d arrivée des messages Serveur Avant, pendant, après l exécution de la procédure Panne définitive vs reprise possible Client Pendant l exécution de la procédure Panne définitive ou retour ultérieur Traitement des défaillances Détection : timeout à différents points du RPC Sémantique du RPC en présence de défaillances Au moins une fois : essais tant que échec Au plus une fois : un seul essai Exactement une fois : difficile à assurer (transactions) 16
17 Congestion réseau ou serveur Panne transitoire Détection : délai de garde A ou D Reprise en A Réemission par le talon client (même Id) Le serveur peut détecteur une réémission Exécution en cours : ne fait rien Résultat émis : réémet le résultat Reprise en D Réémission du résultat Sémantique assurée Si défaillance transitoire : exactement une fois Si défaillance permanente : détection et notification de l application Panne du serveur Détection : expiration du délai de garde A Le client ne connait pas la défaillance État du traitement? Commencé? Fini? Reprise : Le client réémet dès le retour du serveur Sémantique : au moins une fois Exactement une fois possible avec un service transactionnel 17
18 Panne du client Appel traité, servant déclaré «orphelin» Détection : expiration du délai de garde D (n réémissions) i Reprise avant retour client Elimination des orphelins Reprise après le retour du client Client réémet l appel (ID différent, réémission non détectée) Sémantique : au moins une fois Objets distribués RPC avec des objets Utilisable comme un objet depuis un client distant 18
19 Développement d un objet distribué Prise en compte de son contexte d exécution Middleware explicite Le développeur est chargé des appels transversaux (sécurité, transactions, ) Middleware implicite Contexte déclaratif. C est le container de l objet qui se charge de tout. Middleware explicite 19
20 Middleware implicite RPC vs RMI (Remote Method Invocation) Les RPC masquent les communications Mais statique et synchrone Difficile il à mettre en œuvre Programmation objet Encapsulation, interface bien définie Classes et instances Héritage Polymorphisme (facile les évolutions) 20
21 Java RMI Objectif : simplifier la programmation d applications réparties en Java Même principe i que RPC Le programmer fournit La description des interfaces Les objets implantant ces interfaces L implantation du serveur qui instancie les objets Le client qui appelle des méthodes sur ces objets L environnement Java fournit La génération dynamique des talons Un service de nommage (registry) La possibilité de charger le code à distance Objets distants : les problèmes Créer un objet Comment faire un new du client vers le serveur Référence d objets distants Le nommage Objet opaque + méthodes d usage Localisation et protocole d accès Exemples Java RMI : talon client lui-même CORBA : IOR (Interoperable Object Reference) DCOM : format propriétaire Chargement du code Le bytecode java est portable et chargeable dynamiquement Simplifie le déploiement 21
22 Principes de programmation Les grandes lignes Définir l interface Implanter l interface (objet servant) Implanter le programme qui crée le servant et l enregistre (serveur) Implanter le programme qui appelle les méthodes sur le servant (client) Le contrat de l interface Doit être publique Doit étendre java.rmi.remote Chaque méthode doit retourner l exception java.rmi.remoteexception Principes de programmation La classe distante Doit implanter l interface distante (Remote) Peut avoir des méthodes locales (non disponibles pour le client) Le serveur Instancie et installe un gestionnaire de sécurité Instancie la classe servant Enregistre l instance de la classe servant dans le serveur de noms Le serveur de nom (registry) Maintient la relation nom référence d objet Implante java.rmi.registry.registry Fournit les méthodes d enregistrement et de recherche (bind, lookup) 22
23 Exemple L interface HelloInterface.java Exemple L implantation du servant : HelloImpl.java 23
24 Exemple Implantation du serveur : Serveur.java Exemple Implantation du client : Client.java 24
25 Compilation et déploiement Il faut bien sur compiler toutes les classes javac * Sur le serveur HelloInterface, HelloImpl, Serveur Sur le client Client, HelloInterface Il est préférable de faire des jar (simplifie le déploiement) Exécution rmiregistry & Port par défaut : 1099 Il est possible de changer le port mais mi il faudra le passer en argument dans le serveur et le client -J-Dsun.rmi.loader.logLevel=BRIEF pour écouter ce qui se passe Lancer le serveur java -Djava.security.policy=java.policy HelloServer & Lancer le client java HelloClient & 25
26 La sécurité Accepter des connections réseau de machines distantes est dangereux Exécuter du code téléchargé é est dangereux Politique de sécurité : spécification des actions autorisées Sans policy, les connections externes sont refusées Fichier java.policy Exécution d un RMI de base en Java 26
27 Téléchargement de code Talons centralisés et classes sur un site Web Téléchargement automatique sur les clients Il y a téléchargement quand Le client obtient une souche qui n est pas dans son CLASSPATH (prioritaire) Le serveur obtient une référence d objet dont la classe est inconnue Désignation de la localisation des classes : Spécification de l URL du codebase : RMI et téléchargement de code 27
28 Polymorphisme et RMI Polymorphisme Comme d habitude : utilisation d un type dérivé de celui attendu Téléchargement du code du sous-type Permet l évolution du code Par passage de paramètres Le serveur offre une méthode m(c1 p) Le client invoque serveur.m(p). La classe de p dérive de C1 Par retour de résultat Le client exécute C1 r=serveur.m( ) Serveur retourne un objet de classe C2 sous classe de C1 Création d objets à distance (Fabrique) Le client ne peut pas demander la création d objets sur le serveur Il doit demander d à un servant de lui créer des objets Par exemple maintien de session différentes pour chaque client 28
29 Implantation de la fabrique Mise en œuvre de la fabrique 29
30 L exécution Parallélisme et asynchronisme Plusieurs clients accède à un serveur RMI Quel doit être le comportement du serveur? Exécution parallèle? Séquentiel (FIFO)? Mise en œuvre actuelle : threads Appels en parallèle Accès concurrent aux ressources Gestion explicite de la cohérence des données globales 30
31 Appels en retour Les appels RMI sont synchrones (le client attend la réponse) Comment faire si Le serveur a besoin d interroger le client? Le serveur veut notifier le client (MVC) L exécution du service a besoin du client Solution : les callbacks (appels en retour) Permet au serveur d appeler un méthode sur le client Le client appelle le serveur avec retour immédiat Le serveur contacte le client en cas de besoin (callback) Le client est aussi un objet remote pour le serveur Appels en retour Problème : risque de deadlock Autre problème : référence pendante sur le serveur Les clients peuvent disparaitre sans prévenir 31
32 Mise en œuvre RMI On passe au serveur un objet remote qui fournit une méthode de rappel Implantation du serveur 32
33 Implantation du client Implantation du servant 33
34 Implantation du callback Où a lieu l affichage du message? Conception des applications réparties Problèmes récurrents Architecture logicielle Désignation et liaisoni Sécurité Gestion des erreurs, tolérance aux pannes Qualité de service Transactions, communication de groupe, anonymat 34
35 Conception des applications réparties Solutions éprouvées : patrons de conception Principe généraux Séparation des préoccupations Isoler les aspects orthogonaux et les traiter séparément Eliminer les interférences Evolution indépendante des solutions à chaque aspect Mise en œuvre Encapsulation Abstraction Composant Programmation par aspects Un patron : le proxy Le client accède à un objet distant On veut masquer au client les problèmes liés à la répartition Le proxy a la même interface que le servant Le proxy ou mandataire prend en charge la communication et tous les problèmes liés à la répartition 35
36 Proxy (rappel) La factory Problème : créer et obtenir une référence à un objet sur le serveur Il faut que l évolution reste possible Solution : la factory Fournit des méthodes de construction d objets Abstract factory : permet d obtenir des références sur des factory concrètes Evolution plus facile Mise en œuvre de nouvelles classes 36
37 Gestion des pools Réduire le cout de la gestion des ressources Connection à des bases de donnée Instances de classe Thread Principe Réutiliser des exemplaires existant On constitue une réserve de ressources On alloue les ressources plutôt que d en créer de nouvelles Wrapper ou adapter Contexte Les servants fournissent un service définit par une interface Les clients demandent d des services avec une interface différente Adapter l interface du servant au client On utilise un wrapper qui implante l interface dont a besoin le client et transforme les appels vers le servant. Le wrapper peut être mis du coté client (combinaison avec le proxy) Il peut être mis du coté du serveur (combinaison avec intercepteur) 37
38 Adapter (rappel) Intercepteur Transformation du service, changement conditionnel de l appel Contrôle de sécurité Audit Transaction Solution Créer des objets d interposition (décorateur) 38
39 Rappel décorateur Comparaison des patrons Wrapper vs proxy Wrapper vs Interceptor Proxy vs Interceptor
40 Conclusion sur RMI Points forts Intégration au langage Chargement dynamique de code Politique de sécurité explicite Copie profonde des paramètres passés Mais Intéropérabilité Services à mettre en œuvre à la main Nommage basique Gestion des threads, transactions, réplication Conclusion Objectifs pour la construction d applications réparties Simplifier le développement Simplifier la maintenance Intéropérabilité RPC Tout est à la charge du développeur Manque d abstraction Evolution difficile Objets distribués Meilleure abstraction/modularité Vers une séparation des préoccupations 40
41 Conclusion Limite des objets distribués Pas de vision de l architecture Pas de séparation des préoccupations Pas d outil pour la composition et le déploiement Réponse Les approches à composants Les approches orientées services Les serveurs d applications 41
RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailIntergiciel - concepts de base
Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques
Plus en détailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailLe cadre des Web Services Partie 1 : Introduction
Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailJava - RMI Remote Method Invocation. Java - RMI
Remote Method Invocation Yann Viémont Université de Versailles St-Quentin Plan 1. Introduction 2. Rappels sur les RPC 3. Le modèle objet de Java-RMI 4. Architecture générale 1. Introduction = Disponible
Plus en détailPrise en compte des ressources dans les composants logiciels parallèles
Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations
Plus en détailLe modèle client-serveur
Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)
Plus en détail24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailSystèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49
Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailSolutions de gestion de la sécurité Livre blanc
Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailJOnAS Day 5.1. Clustering
JOnAS Day 5.1 Clustering Solution complète de clustering Répartition de charge & bascule sur échec Application Web avec mod_jk/mod_proxy Connecteur http pour md_proxy Application Ejb avec CMIv2 Réplication
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailEnvironnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus
Plus en détailDiagrammes de Package, de déploiement et de composants UML
labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description
Plus en détailDescription de la formation
Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de
Plus en détailNFP111 Systèmes et Applications Réparties
NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon
Plus en détailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailSoftware Engineering and Middleware A Roadmap
Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems
Plus en détailVérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailFAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters
FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBILITE CONTINUE ET MOBILITE DES DONNEES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailServices OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique
Services OSI Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique 59 SERVICES "APPLICATION" Architecture spécifique : ALS (Application Layer
Plus en détailIntroduction aux intergiciels
Introduction aux intergiciels M. Belguidoum Université Mentouri de Constantine Master2 Académique M. Belguidoum (UMC) Introduction aux intergiciels 1 / 39 Plan 1 Historique 2 Pourquoi l'intergiciel? 3
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détailLes Architectures Orientées Services (SOA)
Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie
Plus en détailPlan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction
Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant
Plus en détailIntroduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Plus en détailD une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
Plus en détailMEAD : temps réel et tolérance aux pannes pour CORBA
MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier
Plus en détailIFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL
IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet
Plus en détailSystèmes d'informations historique et mutations
Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN
Plus en détailPlan. Department of Informatics
Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise
Plus en détailFAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES
FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBLITÉ CONTINUE ET MOBILITÉ DES DONNÉES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailEtude critique de mécanismes de sécurité pour l architecture Jini
UNIVERSITE LIBRE DE BRUXELLES Année académique 2001-2002 Faculté des Sciences Département d Informatique Etude critique de mécanismes de sécurité pour l architecture Jini Pierre Stadnik Directeur de Mémoire:
Plus en détailEvaluation Idéopass Cahier d analyse technique
Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005
Plus en détailIntergiciel. et Construction d Applications Réparties
Intergiciel et Construction d Applications Réparties 19 janvier 2007 Distribué sous licence Creative Commons : http://creativecommons.org/licenses/by-nc-nd/2.0/fr/deed.fr 1. Introduction à l intergiciel
Plus en détailNSY102. Conception de logiciels Intranet Introduction
Conception de logiciels Intranet Introduction Cnam Paris jean-michel Douin, douin au cnam point fr 6 Février 2009 Une Introduction 1 Sommaire Introduction Généralités Tendances historique API & Intergiciel
Plus en détailConception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailArchitectures n-tiers Intergiciels à objets et services web
Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailClasseur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels
Classeur de suivi de l auditeur Architecture et Ingénierie des Systèmes et des Logiciels 04/12/2012 2 Sommaire Introduction... 4 Objectifs... 4 Méthodologie... 4 Coordonnées... 5 Curriculum vitae de l
Plus en détailBases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailObjectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
Plus en détailOS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
Plus en détailConception de serveurs d'applications ouverts
Conception de serveurs d'applications ouverts Stéphane Frénot 3 Un modèle d'exécution standard Application Stéphane Frénot 4 1 Répartition "horizontale" d'une application Application de Présentation Application
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailCours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles
Plus en détailLe passage à l échelle de serveur J2EE : le cas des EJB
Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1 Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailWorkflow et Service Oriented Architecture (SOA)
White Paper Workflow et Service Oriented Architecture (SOA) Présentation Cet article offre une approche pragmatique de la SOA et du workflow à travers des problématiques d'entreprises, une méthodologie
Plus en détailEric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1
Calcul parallèle des options MC. Eric Bertrand ebertrand@ixis-cib.com 1 Plan Contexte du calcul parallèle Qualités requises Architecture Outillage Problèmes rencontrés perspectives 2 Contexte du calcul
Plus en détailMobile OGSI.NET: Grid Computing on Mobile Devices
Mobile OGSI.NET: Grid Computing on Mobile Devices David C.Chu Université de Californie, Berkeley Marty Humphrey Université de Virginie Publié en Novembre 2004 lors de la 5ième conférence IEEE/ACM International
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailProgrammation Web Avancée Introduction aux services Web
1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailUrbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1
Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailBPEL Orchestration de Web Services
Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience
Plus en détailPrincipes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Plus en détailJava c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Plus en détailComposants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
Plus en détailNetCrunch 6. Superviser
AdRem NetCrunch 6 Serveur de supervision réseau Avec NetCrunch, vous serez toujours informé de ce qui se passe avec vos applications, serveurs et équipements réseaux critiques. Documenter Découvrez la
Plus en détail4.2 Unités d enseignement du M1
88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter
Plus en détailProjet ESB - Retour d expérience
Projet ESB - Retour d expérience Projet de communication et d échange d informations entre SI 9 ème rencontre mondiale des logiciels libres - 02.07.2008 - ETNIC 1 Agenda Présentation 2. CFWB et ETNIC 4.
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailProgrammation parallèle et distribuée
ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences
Plus en détailLes Services Web. Jean-Pierre BORG EFORT http://www.efort.com
Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur
Plus en détailUrbanisme du Système d Information et EAI
Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat
Plus en détailRé-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP
Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d
Plus en détailCORBA haute performance
CORBA haute performance «CORBA à 730Mb/s!» Alexandre DENIS PARIS/IRISA, Rennes Alexandre.Denis@irisa.fr Plan Motivations : concept de grille de calcul CORBA : concepts fondamentaux Vers un ORB haute performance
Plus en détailConnaître les Menaces d Insécurité du Système d Information
Connaître les Menaces d Insécurité du Système d Information 1. LES MENACES EXTERIEURES VIA L INTERNET ET INFORMATIQUE LES PROGRAMMES MALVEILLANTS : VIRUS / MALWARES LES SPYWARES (LOGICIELS-ESPIONS) : LOGICIEL
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailagility made possible
DOSSIER SOLUTION CA VM:Manager Suite for Linux on System Z Comment réduire le coût et la complexité de la gestion et de la sécurisation des environnements z/vm et Linux on System z? agility made possible
Plus en détailDESCRIPTION DU COMPOSANT
Gestion des utilisateurs et des accès Composant pour un Egov intégré Qu'est-ce qu'un composant? C est un élément indispensable à l intégration des systèmes e-gov des différents niveaux politiques. Cet
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailDonnées Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr
Données Réparties Thibault BERNARD thibault.bernard@univ-reims.fr Sommaire Introduction Gestion de la concurrence Reprise après panne Gestion des données dupliquées Sommaire Introduction Gestion de la
Plus en détailFiche Technique. Cisco Security Agent
Fiche Technique Cisco Security Agent Avec le logiciel de sécurité de point d extrémité Cisco Security Agent (CSA), Cisco offre à ses clients la gamme de solutions de protection la plus complète qui soit
Plus en détailLICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS
LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS Contenu détaillé de la spécialité : SIMO : SYSTEMES D'INFORMATION, METHODES ET OUTILS (ASSISTANT CHEF DE PROJET INFORMATIQUE) Contenu détaillé
Plus en détailCA Automation Suite for Data Centers
FICHE PRODUIT : CA Automation Suite for Data Centers CA Automation Suite for Data Centers agility made possible «La technologie a devancé la capacité à la gérer manuellement dans toutes les grandes entreprises
Plus en détailUrbanisation des Systèmes d'information
Urbanisation des Systèmes d'information Des composants technologiques disponibles Urbanisation des Systèmes d'information - Henry Boccon-Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus
Plus en détailCréer et partager des fichiers
Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation
Plus en détailArchitectures d'intégration de données
Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration
Plus en détailIntégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)
Motivations Motivations Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat) Contraintes Applications conçues indépendamment, sans avoir prévu une intégration
Plus en détailCORBA. (Common Request Broker Architecture)
CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,
Plus en détailXML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million
XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................
Plus en détailC-JDBC. Emmanuel Cecchet INRIA, Projet Sardes. http://sardes.inrialpes.fr
Emmanuel Cecchet INRIA, Projet Sardes http://sardes.inrialpes.fr Plan Motivations Idées principales Concepts Caching Perspectives /ObjectWeb 15 octobre 2002 Emmanuel.Cecchet@inrialpes.fr 2 - Motivations
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détail//////////////////////////////////////////////////////////////////// Administration bases de données
////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données
Plus en détailPROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,
Plus en détail