Les Moniteurs Transactionnels



Documents pareils
Module BDR Master d Informatique (SAR)

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Module BD et sites WEB

Virginie!SALAS Janvier!09! NFE107

Architectures web/bases de données

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

Le cadre des Web Services Partie 1 : Introduction

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

Software Engineering and Middleware A Roadmap

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

Mise en œuvre des serveurs d application

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

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

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

Compte Rendu d intégration d application

Urbanisme du Système d Information et EAI

Introduction à la plateforme J2EE

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

Cours Bases de données

DotNet. Plan. Les outils de développement

Nouvelles Plateformes Technologiques

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

Java et les bases de données

Bases de données cours 1

2 Chapitre 1 Introduction

Architectures d'intégration de données

Logiciel Enterprise Guide Version 1.3 Windows

NFP111 Systèmes et Applications Réparties

Gestion de données réparties. Cours 1

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

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

Java pour le Web. Cours Java - F. Michel

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Le modèle client-serveur

Bases de données et Interfaçage Web

Introduction à la conception de systèmes d information

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

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Programmation Web Avancée Introduction aux services Web

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Introduction aux bases de données

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

Intranet et les Bases de Données

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

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

CORBA. (Common Request Broker Architecture)

Oracle 8i sous Linux

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

Cadrage fonctionnel et technique des sites Visa Premier et Infinite. Réalisation des déploiements pour l hébergeur.

Les nouvelles architectures des SI : Etat de l Art

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

«Clustering» et «Load balancing» avec Zope et ZEO

GPC Computer Science

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

IBM Tivoli Monitoring, version 6.1

Environnements de Développement

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

BMC Middleware Management

JOnAS 5. Serveur d application d

Catalogue des Formations Techniques

Introduction aux intergiciels

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Architectures n-tiers Intergiciels à objets et services web

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

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

INTRODUCTION AUX BASES de DONNEES

Moderniser. le système d information et le portefeuille applicatif.

De quoi avez-vous besoin pour ce manuel?

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Implémentation des SGBD

Fonctions avancées de document dans Word 2003 Options de collaboration dans Word 2003

Mise à jour : Octobre 2011

NatStar V8.00. Ce document présente la liste des nouvelles fonctionnalités de la 8.00, disponible à partir de septembre 2013.

Configuration Matérielle et Logicielle AGORA V2

La reconquête de vos marges de manœuvre

Notre Catalogue des Formations IT / 2015

Eric Bertrand 08/11/06 Maître de conférence 1

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

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Intégration de systèmes

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

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

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

LA VOIX SUR GPRS. 1. Introduction. P. de Frino (1), S. Robert (2), G. Cecchin (3) Résumé

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique

CHAPITRE 1 ARCHITECTURE

Vulgarisation Java EE Java EE, c est quoi?

Fusion : l interopérabilité chez Oracle

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Auto-évaluation Aperçu de l architecture Java EE

Bases de données relationnelles : Introduction

Les processus métiers : concepts, modèles et systèmes

Entreprises Solutions

Gestion de stock pour un magasin

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

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Transcription:

Les Moniteurs Transactionnels Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Plan Rappel sur la notion de Transaction Rappel sur la Validation à 2 phases Les Principes Les Services Offerts Exemples d Application Les Protocoles Standardisés Les Produits Interopérabilité MT Transaction et Web Conclusion Bibliographie Les Moniteurs Transactionnels, 2

Notion de Transaction Pour le développeur une série d actions delimitées par Begin et Commit/Abort Abort. Un modèle simple de panne seulement 2 devenir Begin() action action action action Commit() Succès!! Begin() action action action Rollback() Begin() action action action Faute!! Rollback() Erreur Les Moniteurs Transactionnels, 3 Notion de Transaction Propriétés ACID Atomicitétomicité tous ou rien Consistance cohérence sémantique Isolation pas de propagation de résultats non validés Durabilité persistance des effets validés begin Ti BD Cohérente begin Ti BD Cohérente transaction Ti la BD peut être temporairement incohérente transaction Ti la BD peut être temporairement incohérente commit Ti BD Cohérente abort Ti BD Cohérente Les Moniteurs Transactionnels, 4

Modèles Avancés de Transaction Applications Tolérance aux pannes dans une transaction répartie Workflow, Coopération,... Modéles avancées Chaînées, Compensation Emboîtées (Nested [Moss85]) Sagas, Open Nested, + un formalisme ACTA Les Moniteurs Transactionnels, 5 Validation d une Transaction Centralisé l application et les données sont sur la même machine Õ Panne facile à traiter Validation à 1 phase Distribué l application et les données sont sur 2 à N machines Õ Panne (partielle) difficile à traiter Validation à 2 phases (2PC : Two Phases Commit) Validation à 3 phases (3PC : Three Phases Commit) Les Moniteurs Transactionnels, 6

Validation à 2 Phases Coordinateur Participant(s) Initial Initial Commit Cmd Prepare Prepare Prepare Vote-Abort Vote-Commit Vote-Abort Wait Vote-Commit Global-Abort Ready Global-Commit Global-Abort Global-Commit ACK ACK Abort Commit Abort Commit Les Moniteurs Transactionnels, 7 2PC - Hors Panne SGBD1 Application SGBD2 SGBD1 Application SGBD2 EHJLQWUDQV UHT64/ UHVXOW EHJLQWUDQV UHT64/ UHVXOW UHT64/ UHVXOW SUHSDUH SUHSDUH SUHSDUH SUHSDUH YRWHFRPPLW YRWHFRPPLW YRWHFRPPLW *FRPPLW *FRPPLW YRWHDERUW *DERUW *DERUW Les Moniteurs Transactionnels, 8

2PC - Panne Coordinateur SGBD1 Coordinateur SGBD2 SGBD1 Coordinateur SGBD2 SUHSDUH SUHSDUH SUHSDUH SUHSDUH YRWHFRPPLW YRWHFRPPLW YRWHFRPPLW YRWHFRPPLW UHVXPH UHVXPH YRWHFRPPLW YRWHFRPPLW *FRPPLW *FRPPLW *&RPPLW *FRPPLW Les Moniteurs Transactionnels, 9 2PC - Panne Esclave SGBD1 Coordinateur SGBD2 SGBD1 Coordinateur SGBD2 SUHSDUH SUHSDUH SUHSDUH SUHSDUH YRWHFRPPLW YRWHFRPPLW YRWHFRPPLW *&RPPLW *FRPPLW *DERUW timeout *DERUW UHVXPH *FRPPLW UHVXPH *DERUW Les Moniteurs Transactionnels, 10

Applications Transactionnelles Application requérant une sureté d exécution OLTP (OnLine Transaction Processing) Des centaines de transactions simultanées en général courtes Batch Travaux lourds pouvant être différés rapport, bilan Exemple Réservation de Transport, Guichet Automatique, Stock Exchange,... Les Moniteurs Transactionnels, 11 Exemple : Réservation de Transport Systèmes SABRE (IBM & Américan Airlines, 1960) SOCRATE (SNCF) Fonctions réservation de place, suivi clientèle,... Charge de Travail SABRE : 300 000 postes et pic de 4200 msg/sec SNCF Les Moniteurs Transactionnels, 12

Exemple Guichet Automatique (DAB) Automated Teller Machine (ATM) plusieurs centaines de Guichets plusieurs millions de clients une transaction dure 30 secondes Stock Exchange Achat et Vente de Titre NYSE :10000000 Titres échangés par jour Les Moniteurs Transactionnels, 13 Moniteur Transactionnel TP Monitor Pilote l exécution distribuée de transactions globales Fonctionnalités Multiplexage de connexions Nommage Routage dépendant des données Accès hétérogène aux RM (Resource Manager) Haute disponibilité Bas prix, Haute Performance Equilibre de charge Les Moniteurs Transactionnels, 14

Moniteur Transactionnel TP Monitor Services Offerts Coordination de Validation Distribuée Validation de 2 phase (en général) parfois modèle de transactions emboîtées File de Transactions Les Moniteurs Transactionnels, 15 Moniteur Transactionnel vs Serveur de Bases de Données Lite-TP vs Heavy-TP Les Moniteurs Transactionnels, 16

Les Protocoles Standards X/OPEN OSI/TP OTS MIA/SPIRIT Les Moniteurs Transactionnels, 17 X/OPEN DTP Modèle DTP: Distributed Transaction Processing Plusieurs interfaces : TX XA CRM XA+ RM XAP-TP SDTL (Structured Transaction Definition Language) Les Moniteurs Transactionnels, 18

Le Modèle DTP de l X/Open AP (Application Program) AP avec STDL / AP utilisant d autres langages SQL, ISAM... TX TxRPC, XATMI CPI-C RM (Ressource Mnger) XA TM (Transaction Mnger) XA+ CRM (Comm. Rsrc. Mnger) XAP-TP OSI TP vers d autres domaines TP d après Bernstein et Newcomer 1997 Les Moniteurs Transactionnels, 19 OSI/TP Les Moniteurs Transactionnels, 20

CORBA/OTS OTS : Object Transaction Service Compatibilité avec X/OPEN DTP Client Transactionnel Serveur Transactionnel Serveur Recouvrable ORB (Object Request Broker) Transaction Service (OTS) Les Moniteurs Transactionnels, 21 CORBA/OTS Commit Client Transactionnel Serveur Transactionnel Serveur Recouvrable ORB (Object Request Broker) Commettre Commis Prêt Prêt à!! Commettre? Transaction Service (OTS) Les Moniteurs Transactionnels, 22

Interopérabilité OTS - X/OPEN Une Application X/OPEN accède un Obj X/OPEN Client TX X/OPEN Client TM Trans. Obj ORB OTS X/OPEN Serveur XOPEN Client TM X/OPEN Serveur Trans. Obj ORB OTS Les Moniteurs Transactionnels, 23 Interopérabilité OTS - X/OPEN (2) Des Obj Transactionnels incluent des ressources XOPEN dans une transaction gérée par OTS Client ORB Serveur RM API CM API XOPEN Ressource Manager X/OPEN Serveur OTS Transaction Manager Les Moniteurs Transactionnels, 24

OTS Produits Inprise ITS BEA M3 Orbix OTS Arguna OTS Les Moniteurs Transactionnels, 25 MIA/SPIRIT Consortiums MIA : Multivendor Integration Architecture SPIRIT : Service Providers Integrated Requirements for IT But: définition une API standard STDL: Structured Transaction Definition Language STDL STDL STDL précompilation précompilation précompilation CICS API Encina API Tuxedo API d après Bernstein et Newcomer, 1997 Les Moniteurs Transactionnels, 26

Interopérabilité MT Xopen et ISO normalisent les interfaces pas les protocoles Interopérabilité MT difficile à mettre en œuvre Politique de la non interopérabilité Tuxedo, Encina Les Moniteurs Transactionnels, 27 Performance Transactionnelle Benchmarks OLTP TPC/A et B environnement «réel» (TPC/A) environnement «laboratoire» (TPC/B) 90 % des transactions réalisés en moins de 2 secondes TPC/C et E mix de 5 à 8 types de transactions TPC/W commerce électronique Les Moniteurs Transactionnels, 28

Les Produits CICS IMS TDS Tuxedo ACMS Encina Top End Pathways/TS Microsoft Transaction Server Comparaison Les Moniteurs Transactionnels, 29 Tuxedo (Novell) Non Stop Tuxedo (Tandem) Les Moniteurs Transactionnels, 37

Encina (Transarc Corporation, IBM) racheté par IBM Les Moniteurs Transactionnels, 38 Microsoft Transaction Server Basé sur DCOM, Intégration DCOM+ Module DTC : Distributed Transaction Coordinator Serveur sur NT et SGBD SQL Server MMQS (MS Message Queue Service) Nom de Code : Falcon file d attente de messages transactionnels stockant des requêtes client prévue dans MTS 2.0 Les Moniteurs Transactionnels, 41

MTS et ASP È#Ã75$16$&7,21 5HTXLUHGÃ/$1*8$*( Å-6FULSWÅÃÈ! ÄÆLQFOXGHÃILOH ÅDGRMDYDVLQFÅ! +70/!+($'!7,7/(!0RGLILFDWLRQÃ7UDQVDFWLRQQHOOHÃGÃ XQHÃ%DVH7,7/(!+($'!%2'<! K!0RGLILFDWLRQÃGHÃODÃ&RPPDQGHÃK!KU! È YDUÃR&RQQÃ Ã6HUYHU&UHDWH2EMHFWÅ$'2'%&RQQHFWLRQÅ YDUÃR5VÃÃÃ Ã6HUYHU&UHDWH2EMHFWÅ$'2'%5HFRUGVHWÅ R&RQQ2SHQÅ'61 /RFDO6HUYHU8,' VD3:' '$7$%$6( SXEVÅ R5V$FWLYH&RQQHFWLRQÃ ÃR&RQQ R5V6RXUFHÃ ÃÅ6(/(&7ÃÃ)520Ã&PGÃ:+(5(ÃFPGBLG Å R5V&XUVRU7\SHÃ ÃDG2SHQ6WDWLF R5V/RFN7\SHÃ ÃDG/RFN2SWLPLVWLF R5V2SHQ LIÃÄÃR5V(2)Ã^ Ã&KDQJHÃODÃTXDQWLWp R5VÅTW\Å9DOXHÃ ÃR5VÅTW\Å9DOXHÃÃ R5V8SGDWH ` È! %2'<!+70/! ÈÃÃÃIRQFWLRQVÃH[pFXWpHVÃjÃODÃWHUPLQDLVRQÃGHÃODÃWUDQVDFWLRQ ÃÃÃÃIXQFWLRQÃ2Q7UDQVDFWLRQ&RPPLWÃ^Ã5HVSRQVH:ULWHÅS!0RGLILFDWLRQÃHQUHJLVWUpHÅÃ` ÃÃÃÃIXQFWLRQÃ2Q7UDQVDFWLRQ$ERUWÃ^Ã5HVSRQVH:ULWHÅS!0RGLILFDWLRQÃDEDQGRQQpHÅÃ` È! Les Moniteurs Transactionnels, 43 Passerelle MTS vers l X/Open Application Program (AP) Native Interface (SQL) MS RM Trx OLE MS DTC XA Interface RTR (TM) Les Moniteurs Transactionnels, 44

Transactions et Web (i) Web Transactionnel HTTP : protocole «stateless» pas de notion de session 3 approches Session transactionnelle sur 3 tiers Script Serveur Transactionnel Applet Transactionnelle Les Moniteurs Transactionnels, 46 Transactions et Web (ii) Architecture 3 tiers Session transactionnelle coté client (navigateur) «Cookies» (souvent déactivés car il y a risque de traçage) Inputs HIDDEN coté serveur (serveur HTTP) Gestion des sessions» SYBASE Jaguar CTS, IIS+MTS, Les Moniteurs Transactionnels, 47

Transactions et Web (iii) Script Serveur Transactionnel ActiveX Les Moniteurs Transactionnels, 48 Transactions et Web (iv) Applet Transactionnelle JOLT (Java OnLine Transaction) Les Moniteurs Transactionnels, 49

Transaction et ASP Les Moniteurs Transactionnels, 50 Transaction et ASP - Modèle (i) Script ISAPI Browser HTTP IIS ISAPI Extension DLL Extension DLL Serveur Web Script ASP Browser HTTP IIS DLL Script objet COM Extension DLL Serveur Web ASP objet COM Les Moniteurs Transactionnels, 51

Transaction et ASP - Modèle (ii) Script ASP avec MTS Browser HTTP IIS Extension DLL DLL MTS Script ASP objet COM objet COM Serveur Web Script ASP avec MTS + MSMQ Browser HTTP IIS Extension DLL Serveur Web MTS DLL Script ASP MSMQ objet COM Les Moniteurs Transactionnels, 52 Transaction et ASP (exemple) Les Moniteurs Transactionnels, 53

Java et les transactions JTS JTA Servlet EJB JavaSpace JINI Les Moniteurs Transactionnels, 54 JTS Java Transaction Service Interface Java à un service transactionnel reprend exactement les interfaces de l OTS de CORBA à partir du JDK 1.2 A noter notion de transaction dans les JavaSpaces Les Moniteurs Transactionnels, 55

Transaction et Servlet Les Moniteurs Transactionnels, 56 Conclusion Attention Les standards ne sont pas assez précis et les leaders les interprètent de différentes façons L interopérabilité est donc souvent compliquée Les Moniteurs Transactionnels, 58

Bibliographie (i) P.A. Bernstein, E. Newcomer, «Principles of Transaction Processing for the Systems Professional», Ed. Morgan Kaufmann, 1997, ISBN 1-55860-415-4. la bible des Moniteurs Transactionnels P.A. Bernstein, V. Hadzilacos, N. Goodman, «Concurrency Control and Recovery in Database Systems», Ed. Addison-Wesley, 1987 pour se rappeler des techniques de contrôle de concurrence et de reprise sur panne. Besancourt, Cart, Ferrié, Guerraoui, Pucheral, Traverson, «Les Systèmes Transactionnels», Ed. Hermes, 1997, ISBN 2-86601-645-9. La communauté française «noyaux transactionnels» A. Elmagarmid, «Advanced Transaction Models for New Applications», ed. Morgan-Kaufmann, 1992. la compilation des travaux majeurs sur les transactions avancées Sushil Jajodia (Editor), Larry Kerschberg (Editor), «Advanced Transaction Models and Architectures», Ed Kluwer Law International, June 1997, ISBN: 0792398807 Les Moniteurs Transactionnels, 59 Bibliographie (ii) Alex HOMER. David SUSSMAN, Programmation MTS et MSMQ avec Visual Basic et ASP, Mars 1999, Editeur Eyrolles, 504 Pages, ISBN 2-212-09047-1 un manuel de développement avec MTS et MSMQ avec les sources des exemples Andreas Vogel, Madhav Rangarao, «Programming Enterprise Javabeans, JTS and OTS : Building Distributed Transactions With Java and C++», 1999, Ed John Wiley & Sons; ISBN 0-471-31972-4 orienté programmation CORBA/OTS en C++ et Java. L exemple utilisé est la résearvation de billets d avion. Karen Boucher ; Fima Katz, «Essential Guide to Object Monitors», 1999, Ed John Wiley & Sons; ISBN 0471319716 Robert Orfali, Dan Harkey, Jeri Edwards, «Client/Server Survival Guide», 3rd edition, February 1999, Ed John Wiley & Sons; ISBN: 0471316156 Les Moniteurs Transactionnels, 60