CONCEPTION ET IMPLANTATION D UNE GRILLE DE CALCULS DE RISQUES TOLERANTE AUX PANNES MEMOIRE EN INFORMATIQUE PRESENTE PAR. BEZZINE Sébastien JURY

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "CONCEPTION ET IMPLANTATION D UNE GRILLE DE CALCULS DE RISQUES TOLERANTE AUX PANNES MEMOIRE EN INFORMATIQUE PRESENTE PAR. BEZZINE Sébastien JURY"

Transcription

1 CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL DE LORRAINE CENTRE D ENSEIGNEMENT DE METZ CONCEPTION ET IMPLANTATION D UNE GRILLE DE CALCULS DE RISQUES TOLERANTE AUX PANNES MEMOIRE EN INFORMATIQUE PRESENTE PAR BEZZINE Sébastien Soutenu à Metz le 1 er décembre 2006 JURY Président : M. J-P. Arnaud, Professeur CNAM, Membres : M. S. Vialle, RRS Informatique au CNAM de Lorraine, M. L. Watrin, Professeur au CNAM de Lorraine, Mme. V. Galtier, Enseignant Chercheur à Supélec, M. R. Anger, Directeur des SI à Pricing Partners.

2 Remerciements Je remercie tout particulièrement Monsieur Stéphane Vialle, Professeur à Supélec, de m avoir donné l opportunité d effectuer mon stage au sein de l équipe IMS, et de m avoir orienté dans mon projet. Je remercie également Madame Virginie Galtier, enseignante et chercheur à Supélec, pour son aide dans l utilisation des JavaSpaces et de Grid 5000, Monsieur Michel Ianotto, enseignant et chercheur à Supélec, pour son aide dans la modélisation en UML, et toute l équipe technique pour sa disponibilité.

3 Table des matières Introduction... 6 I Les grilles de calcul Définition Evolution des grilles de calcul Composants actuels d une grille Architecture générale Exemples de middlewares existants Quelques projets La grille dans l entreprise Les débuts Les obstacles Les produits industriels II Définition du projet de mémoire Le projet ANR "GCPMF" Contexte du projet Principaux objectifs informatiques Le sous projet Risque Choix de l environnement de développement III Introduction à ProActive Qu est ce que ProActive? Installation et utilisation de ProActive Concept d objet Actif et d objet Futur Création d un objet actif Création à l instanciation Création à partir d un objet existant Spécification des nœuds d accueil des objets actifs Enregistrement des objets actifs Concept de groupe d objets Mécanisme de déploiement Exemple de déploiement d objets ProActive Bilan IV Introduction aux JavaSpaces Qu est ce qu un JavaSpace? Fonctionnement Exemple avec des services transients Exemple avec des services persistants activables et des transactions Bilan V Architecture logicielle du projet Principaux concepts de l architecture logicielle "PicsouGrid" Page 3

4 5.2 Conséquences des conditions d exploitation en salle de marché Description de l architecture logicielle "PicsouGrid" Mécanismes de déploiement de "PicsouGrid" Mécanismes d équilibrage de charge Stratégie au niveau applicatif Exemple de mise en oeuvre Mécanismes de tolérance aux pannes Stratégie à collaboration multi niveaux Mécanismes au niveau de "PicsouGrid" Mécanismes intégrés aux middlewares sous-jacents Mécanismes au niveau applicatif Utilisation des classes "generics" (Java 1.5) Principe des "generics" Architecture logicielle générique de "PicsouGrid" Autre solution sans les "generics" Bilan des difficultés techniques rencontrées Problème résolu entre ProActive et Jini/JavaSpaces Problèmes rencontrés avec les groupes de ProActive Problème rencontré entre les "generics" et ProActive VI Plateforme d expérimentation et exemple d application Les options européennes Principe des options négociés sur les marchés Détail des options européennes Calcul du prix d une option européenne Interface graphique du client de l application Utilisation de la plateforme Grid Caractéristiques techniques Réservation de ressources Déploiement d image Linux Problèmes techniques rencontrés VII Implantation Diagramme de déploiement sur le cluster de Supélec Diagramme de classes de l application utilisant "PicsouGrid" Analyse des principales classes de "PicsouGrid" Classe générique Server Classe générique SubServer Classe générique Worker Classe générique PoolNode Analyse des principales classes de l application Classe UserServer Classe UserSubServer Classe UserWorker Classe UserData VIII Mesures de performances Performances de "PicsouGrid" sur un cluster Page 4

5 8.1.1 Performances sur un petit cluster en mode ProActive Performances sur un petit cluster en mode JavaSpace Performances sur un gros cluster en mode ProActive Performances de "PicsouGrid" sur une grille en mode ProActive "PicsouGrid" et la tolérance aux pannes Mesures de performance sur un petit cluster en mode ProActive Mesures de performance sur un petit cluster en mode JavaSpace Bilan des performances actuelles Premiers résultats avec une tolérance aux pannes renforcée Conclusion et perspectives Bibliographie Annexe A : Correspondance avec l équipe support de ProActive A.1 Difficultés rencontrées avec ProActive A.2 Problème entre ProActive et Jini/JavaSpaces Annexe B : Article publié Annexe C : Fichier XML de déploiement sur le cluster de Supélec à Metz Page 5

6 Introduction La technologie grid computing est de plus en plus adoptée par l industrie et notamment par l industrie financière (banques et assurances). Les grilles permettent de distribuer efficacement certains types de calculs et de diminuer ainsi les temps de traitement ou d augmenter la quantité de données traitées. Cette technologie intéresse particulièrement les institutions financières qui réalisent en permanence d importants calculs de risques. L objectif est de prévoir l évolution de produits financiers pour décider de conclure une transaction ou d y renoncer. Mais ces produits et leurs modèles mathématiques sont de plus en plus complexes. De plus, le calcul de risque global d une banque sur l ensemble de ses actifs (ou de gros sous-ensembles) doit être plus précis pour limiter les pertes. Toutes ces contraintes mènent à une quantité toujours plus importante de calculs à effectuer en un minimum de temps. Les grilles sont une solution potentielle aux besoins de calculs de risques, mais elles souffrent toutes d un problème inhérent aux architectures de grandes tailles : la fréquence des défaillances et des disparitions momentanées des ressources. Les middlewares de grilles professionnels actuels gèrent la tolérance aux pannes sans s inquiéter des retards engendrés. Pour pallier ces faiblesses, nous développons une architecture logicielle sur grille qui soit tolérante aux pannes tout en minimisant les surcoûts de récupération sur panne sans toutefois garantir une qualité de service («QoS») et des traitements temps réel. Elle s appuie sur des mécanismes intégrés au niveau applicatif, donc adaptés aux applications pour minimiser les temps de détection de pannes et de réparation. Ces mécanismes logiciels collaborent avec ceux existants dans le middleware de grille utilisé par le système pour effectuer les réparations sans arrêter le reste du système. Cette étude fait partie du projet "Grilles de Calcul appliqués à des Problèmes de Mathématiques Financières" du programme de recherche "Calcul Intensif et Grilles de calcul" de l Agence Nationale de la Recherche, en collaboration pour la partie informatique avec l INRIA de Sophia- Antipolis, le CERTIS de l ENPC, et des sociétés privées d informatique bancaire dont notamment Pricing Partners. Notre architecture est décrite dans un article [1] accepté à la conférence suivante : "2 nd IEEE International Conference on e-science and Grid Computing", qui aura lieu du 4 au 6 décembre 2006 à Amsterdam (voir Annexe B). Après une description des grilles de calculs, nous expliquerons le fonctionnement des technologies Java utilisées pour développer ce système : ProActive et JavaSpaces. Ensuite nous présenterons l architecture logicielle, les classes Generics utilisées, et nous expliquerons dans le détail les différentes classes du programme. Enfin nous terminerons par la présentation de performances expérimentales obtenues sur des clusters et des grilles multi sites comprenant des centaines de processeurs. Page 6

7 I Les grilles de calcul 1.1 Définition Le terme grid computing a été initialement utilisé en référence au réseau d électricité public (power grid) [2]. La définition des grilles informatiques donnée par le ministère français de la recherche est : Globalisation des Ressources Informatiques et des Données (GRID). L objectif est de pouvoir mutualiser des ressources, souvent réparties géographiquement sur plusieurs sites, ainsi un utilisateur dispose de la puissance de calcul, des données et de l espace de stockage dont il a besoin pour lancer des applications, sans se préoccuper de savoir quelles machines sont utilisées. Comme pour la distribution d électricité, le client ne perçoit pas l architecture sous-jacente de la grille, le middleware masque le système réel. On distingue souvent plusieurs types de grilles : Les grilles d information permettent l accès à de très grandes bases d informations réparties géographiquement et à des capacités de traitement adaptées. Les quantités de données stockées ou générées peuvent atteindre plusieurs petaoctets ou plus (comme les résultats du collisionneur du CERN), nécessitant des capacités de stockage inaccessibles pour un organisme seul. Ces grandes bases de données sont issues de nombreuses expériences scientifiques (physique des particules, biologie, observation spatiale, etc.) ou contiennent des données commerciales, économiques, techniques ou textuelles. Ces grilles d information demandent une bonne gestion des problèmes de migration et de réplication des données, et ils permettent souvent de faire du data-mining à large échelle. Les grilles de calcul permettent de distribuer des calculs sur des ressources réparties pour bénéficier d une plus grande puissance de calcul. Ces grilles sont en général formées de clusters et de serveurs, mais parfois des PC de bureau sont utilisés. Ces grilles deviennent de plus en plus nécessaires pour faire face à l augmentation constante des besoins en puissance de calcul. Ainsi, la complexité des systèmes étudiés en recherche scientifique et dans l industrie (thermique, structure, fluides, biologie, etc.) induit des besoins de puissance de calcul pouvant atteindre plusieurs téraflops. Les projets nécessitant de telles puissances de calcul sont par exemple les modèles météo et les études sur le changement climatique global, les simulations de matériaux, les simulations et outils de conceptions en aéronautique, automobile, chimie ou nucléaire, certains calculs de risques dans le domaine de la finance. Les grilles collaboratives sont utilisées pour faire collaborer des personnes éloignées géographiquement grâce à des transmissions en temps réel. Ainsi, ces personnes peuvent travailler ensemble et échanger documents, données, logiciels, résultats, etc., la cohérence de ceux-ci étant assurée au cours de l ensemble des manipulations. Les grilles réparties sur des sites éloignés ont commencé à apparaître lorsque les réseaux de communication à haut débit ont été installés. Ainsi, le réseau européen GEANT [3] fournit un débit de 10 Gbit/s aux organismes de recherche (voir figure 1.1). En France, le réseau RENATER (Réseau National de télécommunications pour la Technologie, l Enseignement et la Recherche) [4] offre un débit allant de 2,5 Gbit/s à 10 Gbits/s (migration en cours) aux chercheurs (voir figure 1.2). Page 7

8 Figure 1.1 Le réseau GEANT Figure 1.2 Le réseau RENATER Page 8

9 1.2 Evolution des grilles de calcul Le grid computing est présenté comme la suite du meta-computing. Ce terme regroupe l ensemble des techniques permettant d utiliser plusieurs supercalculateurs au sein d une même application, en tenant compte des temps de communication sur les réseaux WAN. Ainsi, le projet américain CASA a permis la distribution de simulations intensives de phénomènes chimiques et météorologiques, sur plusieurs supercalculateurs à travers un réseau Gigabit ( ) (voir figure 1.3). L objectif était de comprendre l impact des réseaux rapides longue distance sur le calcul intensif, et de tester des algorithmes et des implantations de calculs intensifs distribués sur de grandes distances. Ce projet a montré la nécessité de concevoir un middleware de grille pour prendre en charge et masquer à l utilisateur l hétérogénéité des environnements informatiques de chaque nœud du système. Il a aussi montré l efficacité des grilles pour les calculs distribués [5]. Figure 1.3 Le projet CASA Ensuite, grâce au projet GUSTO (Globus Ubiquitous Supercomputing Testbed Organization), une grille expérimentales, composée de 125 sites répartis sur 23 pays, a été créée pour tester les premiers prototypes de middleware de grille ( ). Cette grille fut un des plus grands systèmes de calcul distribué jamais construit, et montra la faisabilité d une architecture à très grande échelle. Le projet européen Data-GRID a regroupé 15 pays d Europe, 21 organisations, et 200 personnes pour créer une grille d exploitation bâtie sur Globus-II ( ). Des applications dans les domaines de la physique des particules, de la biologie et de l observation de la terre ont été expérimentées. Ce projet a montré l utilité des grilles de données et leur manque de robustesse : un fort pourcentage de nœuds étaient souvent inaccessibles (observable sur la cartographie du projet sur un site Web). 1.3 Composants actuels d une grille Architecture générale Pour construire une grille efficace, il est important d y implanter un middleware robuste et un environnement de développement contenant de nombreuses fonctionnalités. Page 9

10 Figure 1.4 Architecture de grille Il existe deux types de middleware (voir Figure 1.4) : middleware de grille générique et ambitieux (ex : Globus) middleware générique traditionnel avec un complément spécifique (ex : Java RMI + ProActive, Java/Jini + JavaSpaces) Le middleware de grille doit résoudre de nombreux problèmes : authentification unique et politique de sécurité, tolérance aux pannes, équilibrage de charge dynamique, découverte et analyse dynamique de ressources partage et allocation des différentes ressources suivant des critères techniques et économiques, cohérence des données distribuées et des versions des logiciels, évaluation des performances et mesure de la qualité de service, comptabilisation des ressources consommées (distribuées et partagées!) et facturation L environnement de développement doit posséder un certains nombres de fonctionnalités : déploiement dynamique de programmes sur la grille, recouvrement des calculs et des communications, possibilité de communications synchrones et asynchrones, accès au monitoring de la grille, Exemples de middlewares existants Des middlewares génériques et ambitieux ont été développés comme par exemple Globus aux Etats-Unis et Unicore en Europe. Le projet Globus a créé un standard d architecture de grille, OGSA (Open Grid Services Architecture). La dernière version de Globus associe les technologies de grille de OGSA et les technologies Web Services et a abouti à la norme WSRF (Web Services Resource Framework). Des middlewares associés à des environnements de développement ont Page 10

11 aussi été conçu, par exemple NetSolve, DIET, JavaSpaces/Jini, ProActive. Ils sont génériques, moins ambitieux et plus simples à déployer et à utiliser. XtremWeb est un autre type de middleware de grille, basé sur la distribution de calculs indépendants et la récupération de la puissance de calcul inutilisée des PC de bureau. Un exemple extrême de tel middleware est le projet qui, pour la recherche de signaux extra-terrestres, a réussi, en récupérant des milliers de PC sur Internet, à produire l équivalent d une machine de 54 téraflops. Des tentatives d interopérabilité entre des middlewares de grille ont été lancées comme par exemple le projet européen UniGrids. Par contre, les entreprises préfèrent utiliser des middlewares propriétaires moins ambitieux et plus opérationnels comme le SUN Grid Engine, ou les middlewares de Data Synaspe et de Platform Computing. 1.4 Quelques projets De nombreux projets de grille sont en cours de développement dans le monde. Le projet américain TeraGrid, commencé en 2001, a permis de mettre en place une infrastructure composée d un réseau rapide, de supercalculateurs et de grandes capacités de stockage [6]. Des projets scientifiques et informatiques ont testé ce système. Par exemple, des expérimentations sur les transferts de données ont été menées (voir figure 1.5). Figure 1.5 Projet TeraGrid Le projet américain Open Science Grid (OSG), bâti sur Globus, permet depuis 2004 à diverses communautés scientifiques (les virtual organizations) d accéder à une même infrastructure de grille et ainsi de partager leurs ressources [7] (voir figure 1.6). Page 11

12 Figure 1.6 Le projet Open Science Grid Le projet japonais NAREGI (National Research Grid Initiative) [8] s est donné depuis 2003 plusieurs objectifs (voir figure 1.7) : amélioration des couches réseaux pour les grilles, conception d un middleware de grille, conception d application, mise en place d un testbed, expérimentations et mesures de performances. Figure 1.7 Le projet NAREGI L Union européenne a incité la recherche sur les grilles dans le 6 ème Programme Cadre de Recherche et de Développement (PCRD ). On peut citer quelques exemples de projets financés par ce programme : UniGrids : grille associant OGSA et UNICORE pour des applications scientifiques et industrielles [9]. Akogrimo : grille de mobiles avec des services distribués pour gérer des organisations virtuelles [10]. Page 12

13 HPC4U : un middleware de grille pour clusters apportant une qualité de service [11]. SIMDAT : grille de données permettant le développement de produit utilisant la simulation numérique et la découverte de connaissance [12]. DataMiningGrid : développement d outils et de services data mining pour la grille [13]. Le projet européen EGEE (The Enabling Grids for E-sciencE) a été financé depuis 2004 par la Commission européenne pour construire une grille basée sur les dernières technologies, et s appuyant sur le réseau GEANT [14]. L objectif est de permettre aux scientifiques d utiliser les services de cette grille jour et nuit (voir figure 1.8). Figure 1.8 Le projet EGEE Le projet européen DEISA (Distributed European Infrastructure for Supercomputing Applications) a débuté en 2004 pour permettre la création d une grille de production composée de supercalculateurs, pour la recherche scientifique [15]. Cette grille s appuie sur des technologies propriétaires, principalement sur la technologie IBM : Global Parallel File System (voir figure 1.9). Figure 1.9 Le projet DEISA Page 13

14 Enfin, citons le projet français Grid 5000, commencé en 2004, et qui a permis la réalisation d une plateforme de neuf sites reliés par le réseau RENATER avec un débit allant de 2,5 Gbit/s à 10 Gbits/s [16]. Chaque nœud est composé de clusters de 94 à 1024 processeurs. Actuellement la grille possède presque 3000 processeurs, mais ce chiffre augmente continuellement pour atteindre les 5000 processeurs. L objectif est d expérimenter les différents niveaux logiciels de la grille comme les applications, les algorithmes, les middlewares, les protocoles réseaux (voir figure 1.10). Lille Rennes Paris Nancy Lyon Bordeaux Toulouse Grenoble Sophia (Nice) Figure 1.10 Le projet Grid 5000 Une grande partie de nos expérimentations ont été réalisées sur cette grille. 1.5 La grille dans l entreprise Les débuts Les grilles informatiques ont d abord été utilisées dans le monde de la recherche scientifique, car celle-ci demande une puissance de calcul et une capacité de stockage de plus en plus importantes. Mais certaines entreprises privées commencent aussi à y avoir recours pour effectuer des simulations de gros volumes de données, de l ordre du téraoctet, notamment dans les secteurs de l automobile, de l aéronautique, des biotechnologies et de la microélectronique. D autres applications apparaissent dans le domaine de la finance (diversification de portefeuilles financiers et évaluation des risques), de la santé (analyse de clichés en mammographie assistée par ordinateur), de l énergie (traitement des données d exploration pétrolière), ou de l industrie des médias (calcul d animations en images de synthèse) [17]. Parmi les premiers utilisateurs (surtout pour des besoins en calculs intensifs), on peut citer : Boeing : analyses statistiques pour la conception d engins utilisant une grille formée d un supercalculateur SGI, d un cluster Linux et de deux serveurs SUN. Browne & Co (fournisseur d informations financières) : projet pilote de grille de serveurs et de PC sous Windows pour faire tourner un module d une application de composition automatique. Diversa (recherche pharmaceutique) : fédération de clusters pour l étude de protéines. EADS : simulation numérique pour l ingénierie sur les projets Airbus. EDF : simulation de mécanique et de dynamique des fluides pour le réseau électrique. GlaxoSmithKline : utilisation de la puissance de plusieurs centaines de postes de travail de la société, au Royaume-Uni, en Italie et aux Etats-Unis pour la recherche moléculaire. Page 14

15 JP Morgan Chase : projet Compute Backbone pour faire tourner des applications de courtage et de gestion de risques. Monsanto : calcul distribué sur plusieurs clusters et PC de bureau pour la recherche génétique dans le domaine agricole. Novartis AG (groupe pharmaceutique suisse) : utilisation de PC de bureau pour des calculs de protéines. Pratt & Whitney : calculs de simulations (moteurs d avions) sur un réseau de plusieurs stations de travail réparties sur trois sites. Shell : analyses sismologiques pour la prospection pétrolière. SGCIB (branche de la Société Générale) : calculs de risques sur une ferme de serveurs gérée par le logiciel de grille de Platform Computing Les obstacles Avant de pouvoir utiliser le concept de grille, les entreprises doivent souvent surmonter un certain nombre d obstacles. Toutes les applications ne se prêtent pas au calcul distribué. Ainsi il n est pas toujours possible de paralléliser des tâches lorsque le programme original n a pas été conçu dans cette optique. Cela demande d entreprendre un travail souvent lourd et fastidieux pour développer à nouveau l application. L utilisation d une grille répartie sur plusieurs sites comporte plusieurs obstacles : les problèmes de sécurité, le temps de transfert des données et la qualité de service sur les liaisons longues distances, l harmonisation des procédures de sauvegarde, ou le refus des employés de mutualiser leur PC de bureau Les produits industriels Plusieurs grandes sociétés comme IBM, Oracle et Sun Microsystems proposent des solutions industrielles. De nombreuses jeunes sociétés informatiques se sont aussi lancées dans la conception de grilles industrielles : Avaki, Axceleon, Entropia, Grid Infrastructure, GridSystems, Parabon, United Devices etc. Certaines entreprises se sont spécialisées dans les grilles pour le monde de la finance comme Data Synaspe et Platform Computing. Oracle utilise Globus pour ses solutions de grille, il a développé le Oracle Globus Development Kit (OGDK) pour simplifier l utilisation d Oracle9i avec Globus. Sun propose le Sun Grid Engine pour gérer une grille depuis une seule interface graphique. Page 15

16 II Définition du projet de mémoire 2.1 Le projet ANR "GCPMF" Contexte du projet Notre projet d architecture logicielle de grille s inscrit dans le cadre du projet "Grilles de Calcul appliqués à des Problèmes de Mathématiques Financières" (GCPMF) du programme de recherche "Calcul Intensif et Grilles de Calcul" de l Agence Nationale de la Recherche. Ce projet est conçu en collaboration avec des laboratoires de recherche en calcul numérique probabiliste appliqué à la finance, des "quants" de Banques intervenant dans le domaine de la finance de marché, et pour la partie informatique avec l INRIA de Sophia-Antipolis, le CERTIS de l ENPC et des sociétés privées d informatique bancaire (Pricing Partners et Summit Systems) Principaux objectifs informatiques Les applications financières nécessitent de résoudre des problèmes de grandes tailles : gestion de portefeuilles composés de plusieurs milliers d actifs, évaluation de risque de crédits, contrôle du risque global de la banque, calculs d actifs exotiques complexes,...etc. On peut distinguer principalement deux types de calculs : - des calculs courts quasiment en permanence et en temps réel dans les salles de marché où se traitent très rapidement des milliers de transactions. Les traders ont besoin de calculer le risque associé à chaque transaction qu ils s apprêtent à effectuer, pour décider de conclure ou de renoncer à ces transactions. Ils effectuent donc de nombreux calculs de risques de courte durée, mais avec de fortes contraintes de temps. - des calculs plus longs : d une part certaines transactions complexes sont lourdes à évaluer (options exotiques), et d autre part il est nécessaire d analyser le risque global (c est le rôle du contrôle du risque d une banque) portant sur un ensemble d activités. Ces analyses de risques ne sont pas aussi nombreuses mais durent très longtemps et peuvent monopoliser l ensemble des ordinateurs, et leur aboutissement doit aussi être garanti en un temps prédéterminé (elles sont souvent effectuées pendant la nuit). Ainsi, les calculs de risques exigent de respecter des contraintes de temps pour prendre rapidement de nombreuses décisions et engager des actions. Ces contraintes qui ne cessent de se complexifier imposent de dépasser les limites des ordinateurs actuels. C est pourquoi le recours à des grilles de calcul est d hors et déjà courant dans ce contexte mais pose des difficultés nouvelles que ce projet se propose de résoudre. Les principaux objectifs informatiques de ce projet ANR sont : - Concevoir des algorithmes de calculs distribués à grande échelle, prenant en compte les besoins en tolérance aux pannes. La conception de versions adaptées aux grilles de problèmes d algorithmique numérique connus comme très intensifs est nécessaire (ex. : problèmes paraboliques, options américaines en grande dimension). - Concevoir des mécanismes de tolérance aux pannes engendrant de faibles surcoûts de temps d exécution afin de respecter les contraintes de temps même en cas de défaillance légère de la grille. - Concevoir un système de grille compatible avec les mécanismes de sécurité forte des institutions financières (sites sécurisés et utilisation de réseaux dédiés et sécurisés). Page 16

17 2.2 Le sous projet Risque 1 Ce travail de stage ingénieur fait partie du sous projet (Work Package) Risque 1 du projet ANR qui consiste à distribuer et implanter des calculs de risques standards et à les expérimenter sur clusters et grilles. Ce sous projet doit se réaliser de janvier 2006 à janvier Les principales étapes de notre travail de mémoire d ingénieur sont les suivantes : - Conception d une architecture logicielle de grille permettant le développement d applications distribuées variées par envoi de messages ou RMI, et par mémoire partagée. - Conception d une tolérance aux pannes s appuyant simultanément sur des mécanismes développés aux niveaux applicatif et middleware pour minimiser les surcoûts de récupération sur panne. - Conception d algorithmes distribués de calculs de risques pour accélérer ces calculs et traiter de plus gros volumes de données tout en tolérant les pannes. - Implantation de cette architecture logicielle et de ces algorithmes distribués en utilisant des mécanismes «templates» pour permettre de spécialiser facilement l architecture à tout type d application. - Expérimentation de cette architecture logicielle sur un système distribué à large échelle. Deux types d environnement de programmation distribuée sous Java ont été expérimentés et utilisés : un environnement à base d envoi de messages entre objets actifs (ProActive), et un autre à base de partage de données au sein d un espace d adressage partagé virtuel (JavaSpaces). Dans les deux cas, de nombreuses expérimentations ont eu lieu sur diverses architectures distribuées (cluster de PC homogène et grille de PC multi-sites). Les calculs de risques choisis pour être distribués sont des algorithmes élémentaires de pricing. Ils permettent de fixer le prix d une transaction (d une option) en fonction de son risque propre. 2.3 Choix de l environnement de développement Dès le début du projet nous avons réfléchi au choix d un langage de développement : C++, Java ou Python. Le langage C++ (ou C) est très rapide mais il n est pas portable. Python est très portable mais il n est associé à aucun middleware de grille. Nous choisissons donc de développer une solution dans le langage de programmation Java pour bénéficier de sa portabilité sur des architectures hétérogènes et pour sa popularité dans le milieu bancaire. Java est moins rapide mais il peut utiliser du code écrit en C grâce à JNI. De plus, il est utilisé par des middlewares de grille comme ProActive et Jini/JavaSpaces. Page 17

18 III Introduction à ProActive 3.1 Qu est ce que ProActive? ProActive est un environnement de développement sur grille se présentant sous la forme d une bibliothèque Java, permettant la programmation de calculs parallèles, distribués et concurrents. Il est aussi un middleware de grille. Cette bibliothèque a été développée par l INRIA de Sophia- Antipolis dans le but de fournir une API complète simplifiant la programmation d applications distribuées sur le réseau local, sur un cluster ou sur des grilles. ProActive est construit avec des classes Java standards et n exige donc aucun changement de la machine virtuelle, il utilise cependant un class loader spécifique. Il utilise actuellement la bibliothèque Java RMI en tant que couche de transport par défaut. ProActive est open Source et s inclut dans la communauté ObjectWeb. On peut l obtenir avec une documentation détaillée sur le site Web suivant : Installation et utilisation de ProActive Pour pouvoir utiliser ProActive après l avoir installé, il faut inclure tous les fichiers jar nécessaires à son fonctionnement dans la variable d environnement Classpath. Lorsqu on lance une application avec la machine virtuelle Java, il faut indiquer un fichier de politique de sécurité donnant les droits d accès aux ressources du système. On précise aussi un fichier log4j qui configure la journalisation des erreurs de l application, sinon un fichier par défaut est utilisé. Voici un exemple de ligne de commande pour lancer un programme HelloWorld : java -Djava.security.policy=$HOME/ProActive/scripts/proactive. java.policy -Dlog4j.configuration=file:$HOME/ProActive/scripts/proactive-log4j HelloWorld 3.3 Concept d objet Actif et d objet Futur ProActive repose sur le concept d objet actif. Un objet actif est en fait un objet Java qui possède ses propres threads et sa propre file d exécution, accessible à distance. Tout autre objet passif (normal) ou actif peut donc faire appel aux méthodes de cet objet comme s il se trouvait sur la même machine que lui [18]. Lorsqu un programme fait un appel de méthode sur un objet actif renvoyant un objet en retour, l application n est pas bloquée jusqu à l arrivée de la réponse, car un objet futur est envoyé tout de suite, et sera remplacé par l objet attendu lorsqu il sera disponible. Si le programme tente d accéder à la valeur de l objet futur (avant que sa vraie valeur ne soit connue), il sera bloqué. Ce mécanisme, appelé wait-by-necessity, permet au programme de se poursuivre jusqu au moment où il aura réellement besoin du résultat, c est une communication asynchrone entre objets. Le résultat doit être sérialisable pour traverser le réseau. De plus, ce mécanisme ne peut fonctionner que si l objet résultat est réifiable (au sens de ProActive). C est-à-dire s il respecte les trois points suivants : il n est pas de type primitif (boolean, int, float ), la classe de l objet n a pas l attribut final et ne possède pas de méthode de type final il a une méthode constructeur vide et sans argument. Page 18

19 Si on souhaite retourner un résultat de type primitif, il faut l encapsuler dans un objet réifiable (voir l exemple de la section 3.7). La figure 3.1 (extraite de la documentation ProActive) nous montre que les méthodes des objets actifs peuvent être facilement appelées par d autres objets se trouvant sur une autre JVM de la même machine ou d une autre machine. Figure Modèle ProActive (extraite de la documentation web de ProActive) 3.4 Création d un objet actif Création à l instanciation Nous allons illustrer la création d un objet actif en considérant une classe A dont l instance peut être définie de la manière suivante : A a = new A(26, "essai"); Une première méthode pour créer une instance active de la classe A est de créer directement un objet actif en utilisant la méthode newactive() de la classe ProActive. On passe comme argument le nom de la classe et un tableau d objets contenant les arguments du constructeur : Object[] params = new Object[] {new Integer(26), "essai" ; Try { A a = (A) ProActive.newActive(A.class.getName(), params); catch (Exception e) { e.printstacktrace(); Si un des arguments du constructeur est un type primitif Java (int, boolean ), il faut mettre à la place un objet de la classe enveloppe correspondante : Integer dans l exemple ci-dessus. Comme pour les objets retournés par les appels de méthodes asynchrones, les classes des objets actifs doivent être réifiables (voir section 3.3). Rappel : elles ne sont pas de type primitif (int, boolean, float, ), elles ne sont pas des classes de type final, et ne possèdent aucune méthode de type final. elles possèdent une méthode constructeur vide et sans argument : public A() {, Page 19

20 En fait, lorsqu un objet actif est créé, une sous classe de A appelé Stub-A est aussi créé, qui redéfinit toutes les méthodes de A. Ceci serait impossible avec une classe de type final, ou possédant des méthodes de type final Création à partir d un objet existant Il est aussi possible de rendre actif un objet passif, grâce à la méthode turnactive() : A a = new A(26, "essai"); a = (A) ProActive.turnActive(a); Spécification des nœuds d accueil des objets actifs Dans les deux méthodes de création d objets actifs que nous venons de décrire, nous n avons précisé aucune adresse de machine : les objets ont été créés localement. Cependant, il est possible d ajouter un argument précisant une adresse de machine d accueil : une adresse de noeud. Un nœud doit contenir les services nécessaires au bon fonctionnement de ProActive, comme ceux permettant le dialogue entre la machine virtuelle locale et celle où se trouve l objet actif. Une adresse de nœud est identifiée par le protocole utilisé (par exemple "RMI"), l URL de la machine et un nom de nœud. Exemple : A a = (A) ProActive.newActive(A.class.getName(), params, rmi://sh04.metz.supelec.fr/anode ); En fait, le noeud spécifié doit d abord exister pour que l on puisse y installer un objet actif. En pratique, on crée des noeuds avec un descripteur de déploiement (voir section 3.6). On obtient ainsi des objets nœud que l on passe en paramètre lors de la création des objets. On peut ensuite faire des appels de méthodes sur les objets distants comme s ils étaient locaux Enregistrement des objets actifs Un objet actif créé peut être utilisé par un autre objet se trouvant sur un autre nœud. Mais pour cela il faut qu il soit enregistré grâce à la méthode register() de ProActive. Cette opération d enregistrement ne peut se faire que localement sur le nœud où est créé l objet. Par exemple, un objet Obj_a est créé localement sur la machine sh00: A Obj_a = (A) ProActive.newActive(A.class.getName(), params); Ensuite il est enregistré sur la machine sh00 avec l identifiant "TheObj_a" : ProActive.register(Obj_a, "//localhost/theobj_a"); L objet distant utilise alors la méthode lookupactive() pour rechercher l objet Obj_a identifié "TheObj_a" et obtenir une référence sur celui-ci. Par exemple, on exécute sur la machine sh01: A Obj_a1 = (A) ProActive.lookupActive(A.class.getName(), "//sh00/theobj_a"); Page 20

21 Donc (à ce stade) pour retrouver un objet actif, il faut connaître l adresse du nœud qui l héberge. 3.5 Concept de groupe d objets ProActive permet de construire des groupes d objets. Ces objets doivent être de même type, c està-dire appartenir à la même classe ou bien à des classes filles de la même classe mère, et peuvent être actifs ou passifs. On peut alors faire un appel de méthode sur le groupe et obtenir un groupe de résultats. Cependant la méthode appelée doit être exactement la même, elle doit être commune à tous les objets du groupe (appartenir à la classe mère si ils sont de classes différentes). De plus, les objets du groupe doivent être réifiables, ainsi que les objets résultats car le groupe de résultats est obligatoirement construit avec des objets futurs [19]. On utilise la méthode ProActiveGroup.newGroup() pour créer un groupe et obtenir une représentation fonctionnelle du groupe (du même type que les objets composant le groupe), propre à ProActive. En revanche, la méthode ProActiveGroup.getGroup() appelée avec la représentation fonctionnelle, permet d obtenir une représentation standard du groupe. Cette représentation standard (de type Group) utilise l interface Collection de Java, qui fournit des méthodes très utiles telles que add(), remove(), size() On utilise la représentation fonctionnelle pour appeler les méthodes de groupe, et la représentation standard pour modifier la composition du groupe (voir section 3.7 pour un exemple). 3.6 Mécanisme de déploiement ProActive fournit une fonctionnalité très pratique pour répandre rapidement des objets actifs sur de nombreuses machines. On utilise un fichier XML pour décrire le déploiement de l application. On définit à l intérieur de ce fichier tous les paramètres nécessaires à ProActive pour créer les machines virtuelles et les nœuds sur les ordinateurs distants. Le fichier commence par un XML Namespaces (xmlns), un espace de nommage, associé à une URL pour l identifier, et par une adresse de Schéma définissant la grammaire XML utilisé : <ProActiveDescriptor xmlns:xsi=" XMLSchemainstance" xsi:nonamespaceschemalocation="descriptorschema.xsd"> Avant d expliquer ce fichier en détail, on peut représenter une hiérarchie des balises de déploiement : <ProActiveDescriptor > <componentdefinition> <virtualnodesdefinition> <!--définir le nom des noeuds virtuels--> </virtualnodesdefinition> <!--et ses propriétés--> </componentdefinition> <deployment> <mapping> <map> <jvmset> <!--associer des noms de JVM à chaque--> </map> </mapping> <jvms> </jvms> </jvmset> <!--noeud virtuel--> <!--chaque JVM est associé à un nom de--> <!--processus--> Page 21

22 </deployment> <infrastructure> <processes> <processdefinition> <!--indication de l adresse des classes--> </jvmprocess> <!--des programmes et des fichiers--> <classpath> <!--pour le fonctionnement des JVM--> </classpath> <javapath> </javapath> <policyfile> </policyfile> <log4jpropertiesfile> </log4jpropertiesfile> </jvmprocess> </processdefinition> <processdefinition> <!--chaque JVM est associé à une adresse--> <rshprocess> <!--de machine et à un protocol d accès--> </rshprocess> <!--à distance (ici rsh)--> </processdefinition> </processes> </infrastructure> </ProActiveDescriptor> Avec la balise <componentdefinition> on commence par définir un ou plusieurs nœuds virtuels auquel on attachera un groupe de nœuds à créer. <componentdefinition> <virtualnodesdefinition> <virtualnode name="noeudsalut" property="multiple"/> </virtualnodesdefinition> </componentdefinition> La propriété multiple permet d indiquer que plusieurs nœuds seront associés à ce nœud virtuel. Puis avec la balise <deployment> on définit les machines virtuelles Java associé à ce nœud virtuel ("Jvm1" ), sur lesquelles un noeud sera créé. On associe à chaque machine virtuelle un processus s occupant de la connexion à une machine et de la création d un nœud ("rshprocess1" ). <deployment> <mapping> <!--définition des JVM associées aux nœuds virtuels--> <map virtualnode="noeudsalut"> <jvmset> <vmname value="jvm1"/> <vmname value="jvm2"/> <vmname value="jvm7"/> <vmname value="jvm8"/> </jvmset> </map> </mapping> <jvms> <!--définition des processus s occupant de la connexion--> <jvm name="jvm1"> <!--à une machine et de la création d un noeud--> <creation> <processreference refid="rshprocess1"/> </creation> </jvm> Page 22

23 <jvm name="jvm2"> <creation> <processreference refid="rshprocess2"/> </creation> </jvm> <jvm name="jvm7"> <creation> <processreference refid="rshprocess7"/> </creation> </jvm> <jvm name="jvm8"> <creation> <processreference refid="rshprocess8"/> </creation> </jvm> </jvms> </deployment> La balise <infrastructure> permet d abord d associer à un processus d exécution d une JVM "MyJvmProcess" l adresse de l interpréteur Java et de tous les fichiers nécessaires au fonctionnement d une machine virtuelle et de son nœud : classes, jar, politique de sécurité et journalisation des erreurs. Ensuite, à chaque processus de création des machines virtuelles (par exemple "rshprocess1") est associé le programme de connexion (utilisant un protocole de connexion à distance : rsh, ssh ) avec le nom de la machine à atteindre, et le processus d exécution d une JVM permettant de lancer la machine virtuelle et de créer le nœud. <!--dernière partie du fichier xml pour définir les processus de--> <!--création des JVM--> <infrastructure> <processes> <!--définition du processus d exécution d une JVM--> <processdefinition id="myjvmprocess"> <jvmprocess class="org.objectweb.proactive.core.process.jvmnodeprocess"> <classpath> <absolutepath value="/usr/users/staginfo/bezzine/proactive/classes"/> <absolutepath value="/usr/users/staginfo/bezzine/proactive/proactive.jar"/> <absolutepath value="/usr/users/staginfo/bezzine/proactive/lib/bcel.jar"/> <absolutepath value="/usr/users/staginfo/bezzine/proactive/lib/jsch.jar"/> </classpath> <javapath> <absolutepath value="/usr/lib/jre/bin/java"/> </javapath> <policyfile> <absolutepath value="/usr/users/staginfo/bezzine/proactive/scripts /proactive.java.policy"/> </policyfile> <log4jpropertiesfile> <absolutepath value="/usr/users/staginfo/bezzine/proactive/scripts/proactive -log4j"/> Page 23

24 </log4jpropertiesfile> </jvmprocess> </processdefinition> <processdefinition id="rshprocess1"> <!--définition du processus--> <rshprocess <!--de création d une JVM distante--> class="org.objectweb.proactive.core.process.rsh.rshjvmprocess" hostname="sh01"> <processreference refid=" MyJvmProcess"/> </rshprocess> </processdefinition> <processdefinition id="rshprocess8"> <rshprocess class="org.objectweb.proactive.core.process.rsh.rshjvmprocess" hostname="sh08"> <processreference refid=" MyJvmProcess"/> </rshprocess> </processdefinition> </processes> </infrastructure> Il faut faire attention à un point important en ce qui concerne ce fichier XML. En principe une machine virtuelle recherche des classes en se référant au classpath du système d exploitation. Mais lorsque des objets actifs créés sur un nœud ont besoin des classes d un projet pour instancier des objets, l adresse du projet doit être précisée dans le classpath du processus de création de la machine virtuelle et du nœud du descripteur de déploiement. En fait la machine virtuelle créée à distance par ProActive ne se réfère qu aux fichiers indiqués dans le descripteur XML sans tenir compte du classpath de la machine hôte. 3.7 Exemple de déploiement d objets ProActive Nous allons voir dans un exemple comment utiliser le descripteur de déploiement pour créer des objets actifs distants et des groupes. On crée tout d abord la classe Salut permettant de créer les futurs objets actifs, cette classe possède une méthode retournant la chaîne "Salut de : " concaténée avec l adresse de la machine envoyant le message : //la classe Salut permettant la création d objets actifs public class Salut { //constructeur vide pour créer des objets actifs public Salut() { //une méthode retournant un objet réifiable public ContainerString saysalut() { return new ContainerString ("Salut de : " + ProActive.getBodyOnThis().getNodeURL()); On utilise ContainerString comme objet de retour et non String car ce dernier n est pas réifiable (la classe String possède l attribut final), donc on ne pourrait pas en faire un objet futur Page 24

25 et utiliser la communication de groupe. La classe ContainerString peut être écrite très simplement comme suit : //classe permettant la création d objets réifiables de type String public class ContainerString implements Serializable{ private String string; public ContainerString() { public ContainerString (String string){ this.string=string; public String getstring(){ return(string); Puis dans une autre partie de l application on va déployer et utiliser des objets actifs de la classe Salut sur un cluster. On associe un fichier XML à une variable ProActive (pad = getproactivedescriptor()). Ensuite on active la création des nœuds distants définis dans le descripteur de déploiement (pad.activatemappings()). On récupère le nœud virtuel (pad.getvirtualnode("noeudsalut")) qui vient d être créé. On l utilise comme argument pour créer un groupe d objets actifs (ProActiveGroup.newGroup( )) : un objet actif est créé sur chaque nœud associé au nœud virtuel. Dans le descripteur de déploiement huit nœuds sont associés au nœud virtuel obtenu, donc huit objets actifs sont créés. Dans cet exemple on crée aussi un objet passif et un objet actif en local, puis on les ajoute au groupe (groupstdsalut.add( )) grâce à la représentation standard du groupe (groupstdsalut). Après avoir lancé la méthode saysalut() sur le groupe, on obtient un groupe de messages résultats, on récupère chaque résultat du groupe de résultat avec la méthode get(), ensuite avec la méthode getstring() de ContainerString on peut obtenir le vrai message de chaque message résultat (donc de chaque nœud dans cet exemple). Enfin la méthode killall(false) associé au descripteur ProActive pad permet de détruire tous les nœuds et machine virtuelles créés. //extrait de code d une application déployant et utilisant des objets //actifs Salut try { //déploiement des noeuds décrits dans le fichier Salut.xml ProActiveDescriptor pad = ProActive.getProactiveDescriptor( "/usr/users/staginfo/bezzine/proactive/descriptors/salut.xml"); pad.activatemappings(); VirtualNode virtuelnoeudsalut = pad.getvirtualnode("noeudsalut"); //creation d un groupe d objets actifs Salut sur les noeuds associés //au noeud virtuel VirtuelNoeudSalut Salut groupsalut = (Salut) ProActiveGroup.newGroup( Salut.class.getName(), new Object[] {, virtuelnoeudsalut); //création d un objet classique sur la machine local Salut salut1 = new Salut(); //création d un objet actif sur la machine local Salut salut2 = (Salut) ProActive.newActive( Salut.class.getName(), new Object[] {); Page 25

26 //création de la représentation standard du groupe pour ajouter 2 //objets au groupe Group groupstdsalut = ProActiveGroup.getGroup(groupSalut); groupstdsalut.add(salut1); groupstdsalut.add(salut2); //méthode saysalut() lancée sur le groupe et récupération des //résultats ContainerString groupmessageres = GroupSalut.saysalut(); Group groupstdmessageres = ProActiveGroup.getGroup(groupMessageRes); for(int i=0;i< groupstdmessageres.size();i++) { System.out.println( ((ContainerString) groupstdmessageres.get(i)).getstring()); //destruction des nœuds et des objets associés pad.killall(false); System.exit(1); catch (Exception e) { System.err.println("Error: " + e.getmessage()); e.printstacktrace(); Voici le résultat affiché sur la console du poste utilisateur : Salut de : //sh03.metz.supelec.fr/noeudsalut Salut de : //sh01.metz.supelec.fr/noeudsalut Salut de : //sh06.metz.supelec.fr/noeudsalut Salut de : //sh07.metz.supelec.fr/noeudsalut Salut de : //sh04.metz.supelec.fr/noeudsalut Salut de : //sh05.metz.supelec.fr/noeudsalut Salut de : //sh08.metz.supelec.fr/noeudsalut Salut de : //sh02.metz.supelec.fr/noeudsalut Salut de : LOCAL Salut de : //sh00.metz.supelec.fr/node Un autre exemple consiste à obtenir un tableau des nœuds associés à un nœud virtuel grâce à la méthode getnodes() et à créer seulement quelques objets actifs (sur certains nœuds). Par exemple on peut alors créer un objet actif sur un des nœuds obtenus, et appeler sa méthode saysalut() même s il est sur une machine distante. VirtualNode NoeudSalut = pad.getvirtualnode("noeudsalut"); Node[] nodes = NoeudSalut.getNodes(); Salut salut = (Salut) ProActive.newActive( Salut.class.getName(), new Object[] {, nodes[0]); System.out.println(salut.saysalut().getString()); Page 26

27 3.8 Bilan La documentation ProActive permet assez facilement de commencer à installer et à utiliser ProActive sur un exemple simple fourni, mais elle n est malheureusement pas assez détaillée pour maîtriser rapidement des opérations plus complexes comme les communications de groupes et le fichier de déploiement. Il faut passer beaucoup de temps à expérimenter soi-même sur de petits programmes pour vraiment bien comprendre le fonctionnement de ProActive. Il nous a fallu environ un mois pour bien se former. Une fois assimilé, ProActive est très pratique pour distribuer des calculs et déployer des objets sur un grand nombre de machines, mais comporte malheureusement des limites d utilisation avec d autres bibliothèques Java : - on nous demande d utiliser les threads avec précaution pour éviter des conflits avec ProActive, - les generics de Java 1.5 ne sont pas encore bien supportés par ProActive (voir section 5.7.3), - nous avons rencontré des difficultés à utiliser les JavaSpaces (Sun) avec ProActive, à cause d un problème lié au class loader de ProActive. Ce problème a finalement été résolu par l équipe Oasis qui développe ProActive (voir section 5.7.2). Page 27

GRID : Overview ANR-05-CIGC «GCPMF» 8 juin 2006 Stéphane Vialle

GRID : Overview ANR-05-CIGC «GCPMF» 8 juin 2006 Stéphane Vialle GRID : Overview ANR-05-CIGC «GCPMF» 8 juin 2006 Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Grid : Overview 1. Définition et composition 2. Exemple de Middleware 3. Interconnexion

Plus en détail

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr http://www.metz.supelec.

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr http://www.metz.supelec. 3A-IIC - Parallélisme & Grid Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions 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étail

Clusters for Application Service Providers. T. Monteil, J.M. Garcia P. Pascal, S. Richard

Clusters for Application Service Providers. T. Monteil, J.M. Garcia P. Pascal, S. Richard Clusters for Application Service Providers (www.laas.fr/casp) T. Monteil, J.M. Garcia P. Pascal, S. Richard 1 Généralités Le monde du calcul dans un environnement ASP Les ASP : Application Service Provider

Plus en détail

Présentation. Logiciels libres. Open Source. Clinkast 4 Avenue du Général de Gaulle F 92360 Meudon (+33) 6 20 44 86 95 (+33) 1 46 30 24 13

Présentation. Logiciels libres. Open Source. Clinkast 4 Avenue du Général de Gaulle F 92360 Meudon (+33) 6 20 44 86 95 (+33) 1 46 30 24 13 Présentation Logiciels libres et Open Source Description Un logiciel libre* est en général gratuit. Il est utilisable et modifiable sans notification préalable à son auteur, qui a renoncé à ses droits

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Présentation de la solution SAP SAP Technology SAP Afaria. La mobilité d entreprise comme vecteur d avantage concurrentiel

Présentation de la solution SAP SAP Technology SAP Afaria. La mobilité d entreprise comme vecteur d avantage concurrentiel Présentation de la solution SAP SAP Technology SAP Afaria La mobilité d entreprise comme vecteur d avantage concurrentiel des périphériques et des applications des périphériques et des applications La

Plus en détail

Dream Report. Dream Report vs Reporting Services

Dream Report. Dream Report vs Reporting Services Dream Report Dream Report vs Reporting Services Date : Mars 2015 A propos de Dream Report Dream Report est le 1 er logiciel d édition de rapport prêt à l emploi offrant aux utilisateurs la possibilité

Plus en détail

OpenText Content Server v10 Cours 3-0126 (ex 215)

OpenText Content Server v10 Cours 3-0126 (ex 215) v10 Cours 3-0126 (ex 215) Administration système et indexation-recherche Durée : 5 jours Ce cours de 5 jours apprendra aux administrateurs, aux architectes système et aux services support comment installer,

Plus en détail

Hébergement MMI SEMESTRE 4

Hébergement MMI SEMESTRE 4 Hébergement MMI SEMESTRE 4 24/03/2015 Hébergement pour le Web Serveurs Mutualités Serveurs Dédiés Serveurs VPS Auto-Hébergement Cloud Serveurs Mutualités Chaque Serveur héberge plusieurs sites Les ressources

Plus en détail

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+ Guide de formation avec exercices pratiques Configuration et dépannage de PC Préparation à la certification A+ Sophie Lange Troisième édition : couvre Windows 2000, Windows XP et Windows Vista Les Guides

Plus en détail

Historique. Évolution des systèmes d exploitation (à travers les âges)

Historique. Évolution des systèmes d exploitation (à travers les âges) Historique Évolution des systèmes d exploitation (à travers les âges) Historique L histoire des systèmes d exploitation permet de dégager des concepts de base que l on retrouve dans les systèmes actuels

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail

La gestion du poste de travail en 2011 : Panorama des technologies

La gestion du poste de travail en 2011 : Panorama des technologies La gestion du poste de travail en 2011 : Panorama des technologies François Clémence C.R.I Université Paul Verlaine Metz UFR Sciences Humaines et Arts clemence@univ-metz.fr Olivier Mathieu C.R.I Université

Plus en détail

Présentation du déploiement des serveurs

Présentation du déploiement des serveurs Présentation du déploiement des serveurs OpenText Exceed ondemand Solutions de gestion de l accès aux applications pour l entreprise OpenText Connectivity Solutions Group Février 2011 Sommaire Aucun environnement

Plus en détail

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr 1 ViSaGe Virtualisation du Stockage dans les Grilles Informatiques RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr IRIT Projet RNTL labellisé pré-compétitif Solution ViSaGe ViSaGe Accès transparent

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul

Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul Thomas Ropars Équipe-projet PARIS 1 Les applications de calcul scientifique Objectifs : Simuler des

Plus en détail

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET Projet OpNet Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET 1Présentation...3 1.1Le besoin de mobilité...3 1.2Le protocole IP Mobile...4 1.3Opnet...5 1.4Le projet...6 2La réalisation du

Plus en détail

Changement dans les achats de solutions informatiques

Changement dans les achats de solutions informatiques Changement dans les achats de solutions informatiques Ce que cela signifie pour l informatique et les Directions Métiers Mai 2014 Le nouvel acheteur de technologies et la nouvelle mentalité d achat Un

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit & SERLI & ITMatic Serli : SSII

Plus en détail

Systèmes de fichiers distribués : comparaison de GlusterFS, MooseFS et Ceph avec déploiement sur la grille de calcul Grid 5000.

Systèmes de fichiers distribués : comparaison de GlusterFS, MooseFS et Ceph avec déploiement sur la grille de calcul Grid 5000. : comparaison de, et avec déploiement sur la grille de calcul Grid 5000. JF. Garcia, F. Lévigne, M. Douheret, V. Claudel 30 mars 2011 1/34 Table des Matières 1 2 3 4 5 6 7 1/34 Présentation du sujet Présentation

Plus en détail

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com. 2010 IBM Corporation Perspectives pour l entreprise Desktop Cloud JC Devos IBM IT Architect jdevos@fr.ibm.com Principe technique Disposer d un poste de travail virtuel accessible par la plupart des terminaux disponibles Ce

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

BONPRIX. Contexte et problématique : Les problèmes rencontrés :

BONPRIX. Contexte et problématique : Les problèmes rencontrés : BONPRIX BONPRIX fait communiquer en temps réel ses applications RPG Power i au moyen de Web Services avec le logiciel Strategi webservices Contexte et problématique : Bonprix est une société de vente à

Plus en détail

CONSEIL STRATÉGIQUE. Services professionnels. En bref

CONSEIL STRATÉGIQUE. Services professionnels. En bref Services professionnels CONSEIL STRATÉGIQUE En bref La bonne information, au bon moment, au bon endroit par l arrimage des technologies appropriées et des meilleures pratiques. Des solutions modernes adaptées

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Systèmes et réseaux d information et de communication

Systèmes et réseaux d information et de communication 233 DIRECTEUR DES SYSTÈMES ET RÉSEAUX D INFORMATION ET DE COMMUNICATION Code : SIC01A Responsable des systèmes et réseaux d information FPESIC01 Il conduit la mise en œuvre des orientations stratégiques

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Explications sur l évolution de la maquette. Version : 1.0 Nombre de pages : 9. Projet cplm-admin

Explications sur l évolution de la maquette. Version : 1.0 Nombre de pages : 9. Projet cplm-admin Explications sur l évolution de la maquette Version : 1.0 Nombre de pages : 9 Rédacteur : David Elias 22/07/2008 STATUT DU DOCUMENT Statut Date Intervenant(s) / Fonction Provisoire 20/07/2008 David Elias

Plus en détail

Référence Etnic Architecture des applications

Référence Etnic Architecture des applications Référence Etnic Architecture des applications Table des matières 1. Introduction... 2 2. Architecture... 2 2.1 Démarche générale... 2 2.2 Modèle d architecture... 3 2.3 Découpe d une architecture applicative...

Plus en détail

Réflexion Epreuve E4 pour le parcours SISR. Conception et maintenance de solutions informatiques

Réflexion Epreuve E4 pour le parcours SISR. Conception et maintenance de solutions informatiques Réflexion Epreuve E4 pour le parcours SISR Conception et maintenance de solutions informatiques Un étudiant propose une situation professionnelle basée sur une activité réalisée lors de son stage de seconde

Plus en détail

Mission Val de Loire 81 rue Colbert BP 4322 37043 TOURS CEDEX 1 Siret 254 503 048 00012. Cahier des charges MAINTENANCE INFORMATIQUE

Mission Val de Loire 81 rue Colbert BP 4322 37043 TOURS CEDEX 1 Siret 254 503 048 00012. Cahier des charges MAINTENANCE INFORMATIQUE Mission Val de Loire 81 rue Colbert BP 4322 37043 TOURS CEDEX 1 Siret 254 503 048 00012 Cahier des charges MAINTENANCE INFORMATIQUE Mai 2013 Table des matières Sommaire 1 Introduction... 3 1.1 Objectifs...

Plus en détail

INDUSTRIALISATION ET RATIONALISATION

INDUSTRIALISATION ET RATIONALISATION INDUSTRIALISATION ET RATIONALISATION A. LA PROBLEMATIQUE La mission de toute production informatique est de délivrer le service attendu par les utilisateurs. Ce service se compose de résultats de traitements

Plus en détail

Les Systèmes et Applications Réparties et leur Programmation

Les Systèmes et Applications Réparties et leur Programmation Les Systèmes et Applications Réparties et leur Programmation Samia Bouzefrane Maître de Conférences Laboratoire CEDRIC Conservatoire National des Arts et Métiers 292 rue Saint Martin 75141 Paris Cédex

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail

Le Répertoire National des Certifications Professionnelles (RNCP) Résumé descriptif de la certification

Le Répertoire National des Certifications Professionnelles (RNCP) Résumé descriptif de la certification 1 sur 8 26/09/2013 16:49 Le Répertoire National des Certifications Professionnelles (RNCP) Résumé descriptif de la certification Intitulé Licence : Licence Sciences, technologies, santé mention Informatique

Plus en détail

Le lycée pilote innovant de Poitiers

Le lycée pilote innovant de Poitiers Merci d'utiliser le titre suivant lorsque vous citez ce document : OCDE (1998), «Le lycée pilote innovant de Poitiers : Futuroscope - 10 ans déjà», PEB Échanges, Programme pour la construction et l'équipement

Plus en détail

Alcatel-Lucent VitalQIP Appliance Manager

Alcatel-Lucent VitalQIP Appliance Manager Alcatel-Lucent Appliance Manager Solution complète de gestion des adresses IP et de bout en bout basée sur des appliances Rationalisez vos processus de gestion et réduisez vos coûts d administration avec

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Pilot4IT Monitoring : Mesurez la qualité et la performance perçue de vos applications.

Pilot4IT Monitoring : Mesurez la qualité et la performance perçue de vos applications. Pilot4IT Monitoring : Mesurez la qualité et la performance perçue de vos applications. La supervision est la «surveillance du bon fonctionnement d un système ou d une activité». Elle permet de surveiller,

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 09 : CC : Cloud Computing Sommaire Introduction... 2 Définition... 2 Les différentes

Plus en détail

Module 1. Introduction à la gestion de l environnement Windows Server 2008 R2

Module 1. Introduction à la gestion de l environnement Windows Server 2008 R2 Module 1 Introduction à la gestion de l environnement Windows Server 2008 R2 Vue d ensemble du module Rôles serveur Utilisation des outils d administration Microsoft Windows Server 2008 R2 Utilisation

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Business Central Wireless Manager

Business Central Wireless Manager Business Central Wireless Manager Guide de présentation Sommaire CATÉGORIE DE PRODUIT... 3 PRÉSENTATION... 3 PRÉSENTATION DE BUSINESS CENTRAL... 3 FONCTIONNALITÉS ET ATOUTS... 4 POINTS D ACCÈS WIFI PRIS

Plus en détail

Veille Technologique. Cloud-Computing. Jérémy chevalier

Veille Technologique. Cloud-Computing. Jérémy chevalier E6 Veille Technologique Cloud-Computing Jérémy chevalier Table des matières DESCRIPTION :...2 Introduction :...2 Définition du Cloud :...2 Exemple de serveur proposant la solution de Cloud :...2 Les spécificités

Plus en détail

L ABC du Cloud Computing

L ABC du Cloud Computing L ABC du Cloud Computing Apprendre à démystifier le Cloud Computing Bien en saisir les avantages Comment aide-t-il votre entreprise? Le Cloud Computing démystifié L infonuagique, plus connue sous le nom

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

Plus en détail

3 ème Concours de technicien de classe normale des systèmes d information et de communication. «Session 2009»

3 ème Concours de technicien de classe normale des systèmes d information et de communication. «Session 2009» 3 ème Concours de technicien de classe normale des systèmes d information et de communication «Session 2009» Meilleure copie "Etude de cas" Note : 11/20 Thème : réseaux de télécommunication et équipements

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

JASPERSOFT ET LE PAYSAGE ANALYTIQUE. Jaspersoft et le paysage analytique 1

JASPERSOFT ET LE PAYSAGE ANALYTIQUE. Jaspersoft et le paysage analytique 1 JASPERSOFT ET LE PAYSAGE ANALYTIQUE Jaspersoft et le paysage analytique 1 Ce texte est un résumé du Livre Blanc complet. N hésitez pas à vous inscrire sur Jaspersoft (http://www.jaspersoft.com/fr/analyticslandscape-jaspersoft)

Plus en détail

Professeur superviseur ALAIN APRIL

Professeur superviseur ALAIN APRIL RAPPORT TECHNIQUE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE DANS LE CADRE DU COURS LOG792 PROJET DE FIN D ÉTUDE EN GÉNIE LOGICIEL BLUEUPDATES FRANÇOIS BOYER BOYF18048004 DÉPARTEMENT DE GÉNIE LOGICIEL

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction du cours Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Mise en œuvre des serveurs d application

Mise 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étail

Fiche technique WS2012

Fiche technique WS2012 Le 18/03/013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche technique Objectif 18/03/2013 26/03/2013 WS2012

Plus en détail

Etude d architecture de consolidation et virtualisation

Etude d architecture de consolidation et virtualisation BOUILLAUD Martin Stagiaire BTS Services Informatiques aux Organisations Janvier 2015 Etude d architecture de consolidation et virtualisation Projet : DDPP Table des matières 1. Objet du projet... 3 2.

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

CNAM 2010-2011. Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 CNAM 2010-2011 Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010 Déploiement d une application dans le cloud. 1. Cloud Computing en 2010 2. Offre EC2

Plus en détail

DRS. Donnez des Capacités à Votre Serveur d Impression d Entreprise. Distributeur exclusif de la gamme des logiciels Levi, Ray & Shoup, Inc.

DRS. Donnez des Capacités à Votre Serveur d Impression d Entreprise. Distributeur exclusif de la gamme des logiciels Levi, Ray & Shoup, Inc. DRS Donnez des Capacités à Votre Serveur d Impression d Entreprise Distributeur exclusif de la gamme des logiciels Levi, Ray & Shoup, Inc. Les documents les plus importants de votre entreprise sont issus

Plus en détail

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI Institut Galilée Année 2014-2015 TP WEBSERVICES Programmation et Logiciels sûrs Master 2 PLS Résumé Ce TP s appuie sur le cours de C. Fouqueré traitant des Environnements et Langage Évolués, ainsi que

Plus en détail

Le langage UML 2.0 Diagramme de Déploiement

Le langage UML 2.0 Diagramme de Déploiement Claude Belleil Université de Nantes Le langage UML 2.0 Diagramme de Déploiement 1 Introduction Le diagramme de déploiement spécifie un ensemble de constructions qui peuvent être utilisées pour définir

Plus en détail

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie étude de cas architecture et systèmes Concours interne d ingénieur des systèmes d information et de communication «Session 2010» Meilleure copie "étude de cas architecture et systèmes" Note obtenue : 14,75/20 HEBERGE-TOUT Le 25 mars 2010 A

Plus en détail

Conception des systèmes répartis

Conception 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étail

Notre offre Système. systemes@arrabal-is.com

Notre offre Système. systemes@arrabal-is.com systemes@arrabal-is.com Généralités Généralités des systèmes Windows Les systèmes Microsoft sont au cœur du système d information de la majorité des entreprises, si bien qu environ 90% des postes utilisateurs

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD1 Exercices Exercice 1 : Décrivez les facteurs internes qui ont un impact sur les communications réseau. Les facteurs internes ayant un impact sur les communications sont liés à la nature

Plus en détail

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...

Plus en détail

Fiche de lecture de PFE Guillaume HEMMERTER

Fiche de lecture de PFE Guillaume HEMMERTER 1. INTRODUCTION Les maîtres d ouvrage ou propriétaires de patrimoine immobilier qui s engagent dans la construction ou la rénovation d installations climatiques veulent avoir la certitude d obtenir le

Plus en détail

Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot

Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot Makhlouf OUBACHA Salima OUZZMAN Stevens RABEHAJA Armelle HOUNDJO Mercredi 04 février 2015 1 Table des matières 1 But du projet

Plus en détail

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

Plus en détail

RICM 4 ème année 12/1/2012

RICM 4 ème année 12/1/2012 RICM 4 ème année 12/1/2012 Examen de Systèmes Répartis Durée : 2h, Documents autorisés à l exception des livres. Le barème est indicatif. Partie A Applications Web Question 1. Dans un répertoire contenant

Plus en détail

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com L essentiel Coopérative, flexible, très performante : la plateforme Engineering Base web aucotec.com Les défis La globalisation des structures d ingénierie avec le travail en réseau sur des sites dispersés

Plus en détail

Introduction. Exigences matérielles (Virtual PC)

Introduction. Exigences matérielles (Virtual PC) Introduction Ce kit de formation est conçu pour les professionnels des technologies de l information (TI) qui prennent en charge ou pensent prendre en charge des réseaux Windows Server 2008 et qui envisagent

Plus en détail

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance. CLOUD CP3S La virtualisation au service de l entreprise Virtualisation / Cloud Évolutivité Sécurité Redondance Puissance SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE SOLUTION D INFRASTRUCTURE

Plus en détail

Cisco Secure Access Control Server Solution Engine. Introduction. Fiche Technique

Cisco Secure Access Control Server Solution Engine. Introduction. Fiche Technique Fiche Technique Cisco Secure Access Control Server Solution Engine Cisco Secure Access Control Server (ACS) est une solution réseau d identification complète qui offre à l utilisateur une expérience sécurisée

Plus en détail

Demartek Janvier 2007. Évaluation du logiciel Emulex HBAnyware. Introduction. Résumé de l évaluation

Demartek Janvier 2007. Évaluation du logiciel Emulex HBAnyware. Introduction. Résumé de l évaluation Demartek Évaluation du logiciel HBAnyware Rapport d évaluation préparé sous contrat avec Corporation Introduction Corporation a chargé Demartek d évaluer la facilité d installation et d utilisation de

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

Solutions informatiques (SI) Semestre 1

Solutions informatiques (SI) Semestre 1 Solutions informatiques (SI) Cette unité vise l acquisition de compétences générales à partir desquelles sont construites les compétences propres aux parcours de spécialisation. Elle comprend, d une part,

Plus en détail

PLAN DE FORMATION TECHNICIEN(NE) D'ASSISTANCE EN INFORMATIQUE TAI

PLAN DE FORMATION TECHNICIEN(NE) D'ASSISTANCE EN INFORMATIQUE TAI PLAN DE FORMATION TECHNICIEN(NE) D'ASSISTANCE EN INFORMATIQUE TAI Technicien(ne) d'assistance en Informatique Titre professionnel Ministère du travail : TP-00476 Niveau : IV Date de parution au JO : 26

Plus en détail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

Documentation télémaintenance

Documentation télémaintenance Documentation télémaintenance Table des matières Introduction... 2 Interface web du technicien... 2 Connexion à l interface... 2 Mon compte... 3 Configuration... 4 1. Jumpoint... 4 2. Jump clients... 4

Plus en détail

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

les GDT dans le Système d Information informatisé Muriel Pinel Laurent Tabourot

les GDT dans le Système d Information informatisé Muriel Pinel Laurent Tabourot les GDT dans le Système d Information informatisé Muriel Pinel Laurent Tabourot Introduction Le Système d Information Les fonctions du SI Un système d information collecte diffuse, transforme et stocke

Plus en détail

Intégration et protection de données Avril 2008. IBM ireflect : Intégration et protection des données pour les environnements Oracle

Intégration et protection de données Avril 2008. IBM ireflect : Intégration et protection des données pour les environnements Oracle Avril 2008 IBM ireflect : Intégration et protection des données pour les environnements Oracle Page 2 Le saviez-vous? ireflect peut répliquer les données entre différentes versions d Oracle, vous permettant

Plus en détail