WEA Un Gérant d'objets Persistants pour des environnements distribués



Documents pareils
Cours Bases de données

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

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

//////////////////////////////////////////////////////////////////// Administration bases de données

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Introduction aux applications réparties

Bases de données Cours 1 : Généralités sur les bases de données

Implémentation des SGBD

Gestion répartie de données - 1

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

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

Solutions informatiques (SI) Semestre 1

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Configuration de SQL server 2005 pour la réplication

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

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

COSWIN MOBILE SERVEUR DE SYNCHRONISATION GUIDE D INSTALLATION

Introduction aux SGBDR

Les stratégies de groupe (GPO) sous Windows Server 2008 et 2008 R2 Implémentation, fonctionnalités, dépannage [2ième édition]

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Module BDR Master d Informatique (SAR)

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Projet gestion d'objets dupliqués

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

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

CHAPITRE 1 ARCHITECTURE

Nouvelles stratégies et technologies de sauvegarde

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Module 0 : Présentation de Windows 2000

Cours de Génie Logiciel

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Architectures d'intégration de données

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

INTRODUCTION AUX BASES de DONNEES

SQL SERVER 2008, BUSINESS INTELLIGENCE

Architectures n-tiers Intergiciels à objets et services web

La réplication sous SQL Server 2005

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Citrix XenApp 7.5 Concepts et mise en oeuvre de la virtualisation d'applications

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

NFS Maestro 8.0. Nouvelles fonctionnalités

Cours Base de données relationnelles. M. Boughanem, IUP STRI

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Mise en œuvre des serveurs d application

Administration de systèmes

Lotus Notes et Domino 8.5 Administration de serveurs Domino

Préparation à l installation d Active Directory

Sage CRM SalesLogix. Gagnez en compétitivité. Sage CRM Solutions

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

White Paper - Livre Blanc

Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server Référence Cours : 6238B

MEAD : temps réel et tolérance aux pannes pour CORBA

Bases de données avancées Introduction

Fiche Technique Windows Azure

Chapitre 1 Windows Server

Patrons de Conception (Design Patterns)

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

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Conception des systèmes répartis

Présentation du module Base de données spatio-temporelles

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Les Enseignants de l Ere Technologique - Tunisie. Niveau 1

1. Introduction à la distribution des traitements et des données

Fiche de l'awt Le modèle peer to peer

Le Network File System de Sun (NFS)

Table des matières Chapitre 1 Virtualisation, enjeux et concepts Chapitre 2 Ligne de produit XEN

CORBA haute performance

Valoriser vos bases de connaissances avec AMI Help Desk. AMI Enterprise Discovery version 3.9

Projet : PcAnywhere et Le contrôle à distance.

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

Linux sécurité des réseaux

Etude de cas : PGE JEE V2

et Groupe Eyrolles, 2006, ISBN :

Cloud computing Votre informatique à la demande

Projet Active Object

Fiche méthodologique Rédiger un cahier des charges

Bases de données cours 1

NFP111 Systèmes et Applications Réparties

Introduction aux Bases de Données Relationnelles Conclusion - 1

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Le modèle client-serveur

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

LES ACCES ODBC AVEC LE SYSTEME SAS

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Configuration Matérielle et Logicielle AGORA V2

Rapport d activité. Mathieu Souchaud Juin 2007

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

LICENCE : INFORMATIQUE GENERALE

Architectures en couches pour applications web Rappel : Architecture en couches

Description de la formation

Bases de données relationnelles : Introduction

Environnements de Développement

Transcription:

Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et Architecture des Systèmes Informatiques

Plan de l'exposé les Objectifs de WEA le Modèle des Workspaces la Modélisation d'architectures de GO une application : le Travail Coopératif Implémentation Perspectives WEA, un Gérant d'objets Persistants pour des Environnements Distribués 2

Rappel Qu'est ce qu'un objet? un état une donnée simple ou complexe un comportement typage interface d'accès = un ensemble de fonctions manipulant l'état Qu'est ce que la persistance? une propriété d'objet d'exister après la terminaison du programme qui la crée WEA, un Gérant d'objets Persistants pour des Environnements Distribués 3

Architecture d'un Gérant d'objets Persistants (GOP) Application Cache de Données Serveurs Clients Réseau (Local) Application Cache de Données Data-Shipping = transfert de données Buffer des données Stockage Journal WEA, un Gérant d'objets Persistants pour des Environnements Distribués 4

Objectifs de WEA s'adapter à un système informatique hétérogéne Réseaux : débit, coût, fiabilité Machines : puissance, mémoire, stockage Réseau Local Mainframe Réseau Distant Serveurs départementaux Serveur d'accès communication céllulaire stations de travail Wireless LAN laptops laptops PDAs WEA, un Gérant d'objets Persistants pour des Environnements Distribués 5

Objectifs de WEA s'adapter aux besoins des applications Data-Shipping Maximise l'utilisation des ressources des clients Query-Shipping Sécurité (client non sécurisé) Déléguer les calculs sur les sites stockant les données Informatique mobile Nouvelles applications Travail Coopératif WEA, un Gérant d'objets Persistants pour des Environnements Distribués 6

le Modèle des Workspaces un noyau générique de Gérant d'objet fonctions du client et du serveur une mécanisme de communication basé sur les services imbrication par des services récursifs fonction Client WS fonction Serveur Traitement WS WS Données WS Traitement + Données WS Traitement WS Données Traitement + Données WEA, un Gérant d'objets Persistants pour des Environnements Distribués 7

Travaux les plus Voisins Gérants d'objets ObjectStore, Exodus, Ontos... Architecture Symétrique SHORE [Carey 94] WEA Transactions Imbriquées [Moss 81] Travail Coopératif ObjectStore, WEA, un Gérant d'objets Persistants pour des Environnements Distribués 8

le Workspace : un noyau de GOP générique un espace de données un ensemble de transactions un ensemble d'activités une propriété de validation des transactions WEA, un Gérant d'objets Persistants pour des Environnements Distribués 9

le Workspace un espace de données fusion d'une vue sur une base locale d'une vue sur un autre espace de données Transparence à la localisation Récursivité Workspace Espace de Données du Workspace via service de Données Archive Locale L Workspace S WEA, un Gérant d'objets Persistants pour des Environnements Distribués 10

le Workspace un ensemble de transactions Modèle d'exécution transactionnelle Transactions Concurrentes Propriétes ACID Réalisation des applications des services propriétés ACID Archive Locale L Workspace S WEA, un Gérant d'objets Persistants pour des Environnements Distribués 11

le Workspace : un ensemble d'activités activité = groupe de transactions participant à la réalisation d'une application à un service au profit d'un client Activités Application Application Service Service Archive Locale L Workspace S WEA, un Gérant d'objets Persistants pour des Environnements Distribués 12

le Workspace : Validations des Transactions propriété passante propriété englobante T1 modifie en T2 modifie en T1 modifie en T2 modifie en validation de T1 validation de T2 validation de T1 validation de T2 espace de données espace de données propagation propagation STOP Archive Locale L Workspace S Archive Locale L Workspace S Cache de Données WS = Transaction Englobante WEA, un Gérant d'objets Persistants pour des Environnements Distribués 13

Workspace et Services le modèle de communication service = offrir un accès à une ressource privée Publication - Abonnement ➁ abonnement 1 publication du service le WS devient Serveur 2 abonnement au service le WS devient Client 3 dialogue ➀ publication demande réponse 3 dialogue le Client demande le Serveur répond la ressource WEA, un Gérant d'objets Persistants pour des Environnements Distribués 14

Workspaces et Services service de Données service d'opérations service Mixte de Données et d'opérations service Coopératif WEA, un Gérant d'objets Persistants pour des Environnements Distribués 15

Service de Données Echange des Données entre le Client et le Serveur chargement des données demandées redescente des données modifiées lors de la validation WS Client WS Serveur demande d'importation de activités applicatives réponse : envoi d'une image de activité serveur WEA, un Gérant d'objets Persistants pour des Environnements Distribués 16

Service de Données - la Récursivité hièrarchie de clients et de serveurs WS Client B WS Client A WS Intermédiaire I (client+serveur) WS Serveur X WS Serveur Y WEA, un Gérant d'objets Persistants pour des Environnements Distribués 17

Service de Données hiérarchisation du Contrôle de Concurrence Callback Locking [Wang 1991] WS B T2 détient ce verrou par T2 WS C T1 demande un verrou sur WS A par C Rappel Verrou WS Intermédiaire Demande Verrou Rappel Verrou WS Serveur par I WEA, un Gérant d'objets Persistants pour des Environnements Distribués 18

Service de Données hiérarchisation de la Validation des Transactions 2 propriétes de Validations passante englobante WS B passant T2 modifie en WS C passant T1 modifie en WS I englobant WS A passant STOP WS S passant WEA, un Gérant d'objets Persistants pour des Environnements Distribués 19

Service de Données Bases Privées / Bases Partagées Workspace Publiant (passant) Workspace Abonné (passant) Activité Applicative Activité Serveur Activité Applicative DataShipping (Rouge) Archive des Couleurs Rouges (partagée) Archive des Couleurs Noires (privée) WEA, un Gérant d'objets Persistants pour des Environnements Distribués 20

Bases Client/Serveur Structure Directe connexion directe d'un client vers le serveur WS Client A WS Client B Avantages : souplesse pas d'intermédiaire Inconvénients : contrôle fiable des validations cas de plusieurs applications sur un même client service de Données (Rouge) Archive des Couleurs Rouges WS Serveur X service de Données (Noire) Archive des Couleurs Noires WS Serveur Y WEA, un Gérant d'objets Persistants pour des Environnements Distribués 21

Service de Données Bases Privées / Bases Partagées Workspace Publiant (passant) Workspace Abonné (passant) Activité Applicative Activité Serveur Activité Applicative DataShipping (Rouge) Archive des Couleurs Rouges (partagée) Archive des Couleurs Noires (privée) WEA, un Gérant d'objets Persistants pour des Environnements Distribués 22

Bases Client/Serveur Structure Symétrique connexion directe d'un serveur vers les autres serveurs Avantages : contrôle fort des validations WS Client A Service Données (Noire+Rouge) WS Client B Service Données (Noire+Rouge) mise en commun des données importées (SHORE serveur local ) Archive des Couleurs Rouges Service Données (Noire) Service Données (Rouge) Archive des Couleurs Noires WS Serveur X WS Serveur Y WEA, un Gérant d'objets Persistants pour des Environnements Distribués 23

Bases Client/Serveur - Frontal Réseau Distant Station A Client Station B Client WS A Client WS B Client Réseau local Frontal Réseau F WS F Frontal Service de Données (Rouge+Noire) F a F b Cache de Données par rapport au Réseau Distant WS F Englobant CheckIn - CheckOut Réseau Distant Service de Données (Rouge) Service de Données (Noire) Serveur X Serveur Y Archive des Archive des Couleurs Rouges Couleurs Noires WS X Serveur WS Y Serveur WEA, un Gérant d'objets Persistants pour des Environnements Distribués 24

Service d'opérations Client Traitement des données par le serveur sécurisation des traitements confidentialité des données ➀ requête de calcul ➂ retour de valeur WS Serveur 3 traitements WEA, un Gérant d'objets Persistants pour des Environnements Distribués 25

Service Mixte de Données et d'opérations bénéficie Data-Shipping utilisation des ressources du client Query-Shipping sécurité et confidentialité des traitements et des données Mise en cohérence entre le client et le serveur WEA, un Gérant d'objets Persistants pour des Environnements Distribués 26

Définition Utilisation du Workspace : le Travail Coopératif 1 Initialisation le superviseur demarre un groupe de travail les coopérants (autorisées) s'attachent au groupe 2 Travail les coopérants consultent, produisent et modifient des versions alternatives de la base le superviseur modère les changements 3 Conclusion les coopérants choisissent les propositions à valider le superviseur coordonne le consensus et applique celui-ci WEA, un Gérant d'objets Persistants pour des Environnements Distribués 27

Travail Coopératif - Exemple I 1- Soumission et Rejet 2- Soumission et Acceptation C1 cooperative activity S supervisor activity C2 cooperative activity C1 cooperative activity S supervisor activity C2 cooperative activity 2-submission 1- VA2 2-submission 1-VA2 3-rejection generation 3-acceptation 3-acceptation modification VA1 alternative version created by C1 Database VA2 alternative version created by C2 VA1 alternative` version created by C1 Database VA2 alternative version created by C2 =Initial version =Initial version WEA, un Gérant d'objets Persistants pour des Environnements Distribués 28

Travail Coopératif - Exemple 1- Consensus d'élaboration 2 - Validation du travail de groupe Activité Coopérative C1 Activité Superviseur S Activité Coopérative C2 Activité Coopérative C1 Activité Superviseur S Activité Coopérative C2 1-Votez! 2-OK pour 1-Votez! 2'-OK pour élaboration de la version finale Version alternative créée par C1 Base Version alternative créée par C2 = Version initiale Base = Version finale WEA, un Gérant d'objets Persistants pour des Environnements Distribués 29

Travail Coopératif - Besoins Versions Altenatives Notifications Communication Coopérants <-> Superviseur Service Coopératif Accès distant par des Coopérants Distants WEA, un Gérant d'objets Persistants pour des Environnements Distribués 30

Implémentation Workspace MultiThreading Transactions, Communications Asynchrones Memory-Mapping Accès aux données persistantes par matériel Publication-Abonnement Service générique Interface C++ Persistance et Verrouillage transparents Distribution par le service de Données en cours WEA, un Gérant d'objets Persistants pour des Environnements Distribués 31

Perspectives MultiMédia Flots Multiples ( synchronisation, temps réel ) Filtres Travail Coopératif Comportements (Consensus, Modération,...) Persistance du travail (verrou persistant) Bases de Données Nomades Migration du contexte d'une transaction fiabilité des connections (checkin-checkout, CC optimiste) WEA, un Gérant d'objets Persistants pour des Environnements Distribués 32

Implémentation du Workspace Application Application Coopérative Couche Langage Manipulation des objets en instances de classes C++ Accès aux pages persistantes locales et distantes Couche Objet Couche Page Couche Coopérative Versions Alternatives Notifications Structuration des pages persistantes en objets Contrôle de Concurrence Reprise sur Panne Workspace WEA, un Gérant d'objets Persistants pour des Environnements Distribués 33

Exécution des Applications et des Services utiliser les fonctionnalités des OS Threads Transactions Applicatives Transactions Serveurs Threads systèmes (communication asynchrone, journalisation) thread Communication Workspace client connecté à plusieurs Workspaces serveurs une seule connexion une seule connexion thread Serveur WEA, un Gérant d'objets Persistants pour des Environnements Distribués 34

Accès aux Pages Persistantes utiliser les fonctionnalités des OS Memory-Mapping Accès direct aux objets Chargement des pages implicite Demande de verrou implicite Thread Thread Thread Thread O b Image d'une Archive Distante b a a Archive Locale a 4Go Thread de Communication Log WORKSPACE vers un WS serveur WEA, un Gérant d'objets Persistants pour des Environnements Distribués 35

Objets Courts Accès aux Objets Persistants Slotted Pages Identifiant physique #V #S #P #O Table des mappings privés de la thread #V,#S @ mapping privé @seg (a) #P Mapping privé du segment (#V,#S) @pag = @seg + #P*PageSize (b) #O Slotted Page (#V,#S,#P) #slot Objet #O @obj = @pag + tab[#o]*slotsize (c) Objets Longs (BLOBs) Contiguité en Mémoire Virtuelle (bibliothéque externe, objets WEA, un Gérant d'objets Persistants pour des Environnements Distribués 36

Interface Langage C++ Programmation OO avec persistance transparente au développeur Déclaration du schéma de la base Définition de l'application et des méthodes Interface C++= PréCompilateur élémentaire + Compilateur du Marché (GNU ou ATT) + Outils associées (Debugger, Profiler...) Ajout des méthodes d'accès,... Swizzling des Références Persistantes Acces rapide aux objets WEA, un Gérant d'objets Persistants pour des Environnements Distribués 37