Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques



Documents pareils
Tolérance aux fautes dans les grappes d applications Internet

Le passage à l échelle de serveur J2EE : le cas des EJB

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Introduction aux applications réparties

Passage à l échelle de serveur J2EE : le cas des EJB

Formation en Logiciels Libres. Fiche d inscription

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Java pour le Web. Cours Java - F. Michel

Mise en œuvre des serveurs d application

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

Introduction au Déploiement

Disponibilité et fiabilité des services et des systèmes

Développement des Systèmes d Information

Systèmes et algorithmes répartis

Architectures n-tiers Intergiciels à objets et services web

Web Tier : déploiement de servlets

Architecture Orientée Service, JSON et API REST

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

2 Chapitre 1 Introduction

JavaServer Pages (JSP)

JOnAS 5. Serveur d application d

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Système d administration autonome adaptable: application au Cloud

Architecture distribuée

10. Base de données et Web. OlivierCuré

Remote Method Invocation en Java (RMI)

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Serveur d'application à la juste taille

Hébergement de sites Web

Administration d'infrastructures logicielles avec Jade

Refonte front-office / back-office - Architecture & Conception -

1 JBoss Entreprise Middleware

Introduction aux «Services Web»

JOnAS Day 5.1. Clustering

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Architecture et infrastructure Web

Infrastructure Management

Nouvelles Plateformes Technologiques

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Module BDR Master d Informatique (SAR)

BMC Middleware Management

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Programmation Web. Madalina Croitoru IUT Montpellier

Etude de la pertinence et de l'intérêt des appliances WAF (IPS web) à l'inria

Cours en ligne Développement Java pour le web

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

EXALOGIC ELASTIC CLOUD MANAGEMENT

Tolérance aux fautes-2 Serveurs à haute disponibilité

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

RFID: Middleware et intégration avec le système d'information Olivier Liechti

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Zabbix. Solution de supervision libre. par ALIXEN

JOnAS 5 Enterprise OSGi javaee compliant

Module BD et sites WEB

Environnements de Développement

Cisco Certified Network Associate

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

RMI le langage Java XII-1 JMF

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Serveur d'archivage 2007 Installation et utilisation de la BD exist

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

RÉF : 2002/COFAX/LP V1.0

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

bienvenue chez Orange

ArcGIS 10.1 for Server

bienvenue chez Orange

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Java DataBaseConnectivity

Urbanisme du Système d Information et EAI

Apache : analyse d un succès passé et présent

Gestion d Epargne de Crédit & Comptabilité

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Introduction à la conception de systèmes d information

Le modèle client-serveur

GPC Computer Science

Implementing a simple RMI Application over the Internet (using and comparing HTTP tunneling, RMI Proxy)

Modernisation et développement d applications IBM i Stratégies, technologies et outils

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Introduction à la plateforme J2EE

Industrialisation du déploiement d'applications et de socles techniques

La montée des bases de données open source

Ingénieur Développement Nouvelles Technologies

IBM Tivoli Monitoring, version 6.1

ADMINISTRATION EXADATA

Transcription:

Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 2 Application dynamique Applications dynamiques Architecture multi-tier (extension du modèle client-serveur) Serveur multi-tier construit des documents à la volée et les retourne au client composants logiciels requêtes SQL CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 3 web requête HTTP réponse HTTP Serveur web Serveur d application req. SQL rep. SQL Serveur de base de données CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 4 tables BD

J2EE : Modèle d architecture multi-tier Grappes d applications J2EE Architecture multi-tier de plus en plus populaire [Cattel 2001] e-commerce, content delivery, etc. Architecture multi-tier Multiplication des couches logicielles Java 2 Enterprise Edition (J2EE) Spécification de Sun Microsystems Modèle pour développer des applications réparties Java dans une architecture multi-tier Serveur d applications J2EE Serveur middle-tier Plate-forme d exécution de composants logiciels ex. Servlets, EJB exécution de la logique de l application génération dynamique de documents web Charge plus importante des serveurs Solution : scalabilité Supporter la montée en charge Grappes de serveurs dupliqués L4 Serveurs Web (Apache) mod_jk Serveurs de Servlets (Tomcat) cmi Serveurs d EJB (Jona) c-jdbc Serveurs de base de données (MySQL) CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 5 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 6 Problématique : Tolérance aux fautes Plan Architecture multi-tier Multiplication des couches logicielles Applications encore plus sujettes aux défaillances Besoin de tolérance aux fautes JSR (Java Server Recovery) : Tolérance aux fautes des grappes de serveurs J2EE Rappel sur la tolérance aux fautes JSR Tolérance aux fautes des grappes J2EE Evaluation et perspectives CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 7 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 8

Rappel sur la tolérance aux fautes Origine des défaillances dans les services Types de fautes Fautes matérielles (ex. pannes franches de serveurs) Fautes logicielles (ex. fautes transitoires dues/charge du serveur) Fautes de l opérateur (ex. erreurs de configuration du serveur) Online e-commerce unknown 12% operator 33% network 20% hardware software 10% 25% Content delivery unknown 22% operator 36% network 15% hardware 2% software 25% Mise en œuvre de la tolérance aux fautes Détection de fautes Traitement de fautes Une grande partie des défaillances dans les services est due aux fautes logicielles et aux fautes de l opérateur [Oppenheimer 2003] Fautes logicielles/opérateur peu étudiées CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 9 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 10 JSR Tolérance aux fautes de grappes de serveurs J2EE Principes de conception Hypothèses Fautes logicielles et fautes de l opérateur, transitoires (liées à un contexte particulier du serveur) Grappe de serveurs J2EE dupliqués Principe replay replay Scalabilité Solution centralisée pour la grappe : problème de goulot d étranglement Violation de la scalabilité des grappes de serveurs J2EE Mise en œuvre décentralisée de la tolérance aux fautes Ex. chaque Servlet a la responsabilité de détecter/traiter les fautes survenant dans cette Servlet 1 st peer app. server processing 2 nd peer app. server Généricité Solution générique pour les applications et intergiciels J2EE applicable à toute application J2EE et à tout intergiciel J2EE sans modification manuelle du code de l application sans aide du programmeur de l application sans modification de l intergiciel Error DB tables Utilisation de techniques de programmation par aspects (AOP) CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 11 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 12

Solution décentralisée - Scalabilité AOP - Généricité/Automatisme // Java Servlets public void doget(httprequest, HttpResponse response) throws IOException, ServletException { try { // Fault détection // Normal execution of the software component... catch (Exception e) { // Fault recovery 1 st attempt on 1 st peer server if second fault, 2 nd attempt on 2 nd peer server J2EE application (aspect 1) Weaving rules Aspect weaving Fault-tolerant J2EE application Fault-tolerance system (aspect 2) CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 13 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 14 Fautes dans J2EE: Exemple 1 Fautes dans J2EE: Exemple 2 Faute de l opérateur Mauvais déploiement de l application TPC-W, librairie en ligne [TPC-W 2004] mauvaise version de librairie utilisée par TPC-W lors du déploiement de l application traitement de requêtes interrompu sur serveur J2EE Faute perçue par le client Faute temporelle RUBiS, site de ventes aux enchères [Amza 2002] spécification d un délai max de traitement des requêtes trop court traitement de requêtes interrompu sur serveur J2EE Faute perçue par le client CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 15 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 16

Conclusion Perspectives JSR Tolérance aux fautes des grappes J2EE Principes de la solution applicable à toute application J2EE et à tout intergiciel J2EE pas de modification manuelle du code de l application pas d aide du programmeur de l application pas de modification de l intergiciel compatible avec la scalabilité de grappes de serveurs Mesure de la performabilité des applications J2EE avec JSR Injection de fautes fictives, ariation de la fréquence d occurrence de fautes Observation des fautes perçues par le client Applications benchmarks TPC-W, RUBiS Généralisation de l approche à d autres tiers de l architecture multi-tier Ex. au niveau des serveurs de BD Détection/traitement de fautes plus tôt CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 17 CFSE'4, 6-8 avril 2005 Tolérance aux Fautes dans J2EE 18