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

Le cadre des Web Services Partie 1 : Introduction

Virginie!SALAS Janvier!09! NFE107

Architectures web/bases de données

Software Engineering and Middleware A Roadmap

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

Urbanisme du Système d Information et EAI

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

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

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

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

Cours Bases de données

Java et les bases de données

Mise en œuvre des serveurs d application

Introduction à la plateforme J2EE

Introduction aux bases de données

Les nouvelles architectures des SI : Etat de l Art

Compte Rendu d intégration d application

Programmation Web Avancée Introduction aux services Web

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

Fusion : l interopérabilité chez Oracle

Gestion de données réparties. Cours 1

2 Chapitre 1 Introduction

Java pour le Web. Cours Java - F. Michel

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

DotNet. Plan. Les outils de développement

Gestion de stock pour un magasin

Logiciel Enterprise Guide Version 1.3 Windows

Introduction à la conception de systèmes d information

NFP111 Systèmes et Applications Réparties

Bases de données 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

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

Le modèle client-serveur

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

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

Architectures d'intégration de données

Plan. Department of Informatics

Intranet et les Bases de Données

Forthcoming Database

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

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

Nouvelles Plateformes Technologiques

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

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

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

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

Bases de données et Interfaçage Web

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

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

BMC Middleware Management

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

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

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

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

Mise à jour : Octobre 2011

JOnAS 5. Serveur d application d

Catalogue des Formations Techniques

Bases de données avancées Introduction

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

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

Entreprises Solutions

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

L offre décisionnel IBM. Patrick COOLS Spécialiste Business Intelligence

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

Environnements de Développement

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

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Oracle 8i sous Linux

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

ArcGIS 10.1 for Server

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

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

Introduction aux intergiciels

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes

Architectures n-tiers Intergiciels à objets et services web

Notre Catalogue des Formations IT / 2015

IBM Tivoli Monitoring, version 6.1

INTRODUCTION AUX BASES de DONNEES

Implémentation des SGBD

De quoi avez-vous besoin pour ce manuel?

Commerce Server 2009 R2

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

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

Messagerie asynchrone et Services Web

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

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

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Fiche de l'awt Intégration des applications

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

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

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

Famille IBM WebSphere Application Server

Transcription:

Les Moniteurs Transactionnels Didier Donsez Université Joseph Fourier (Grenoble 1) PolyTech Grenoble LIG/ADELE Didier.Donsez@imag.fr Didier.Donsez@ieee.org

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 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() Faute!! Begin() action action action Rollback() Erreur! 3

Notion de Transaction Propriétés s ACID Atomicité 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 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 5

Validation d une Transaction Centralisé l application et les données sont sur la même machine Panne facile à traiter Distribué Validation à 1 phase 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) 6

Validation à 2 Phases Coordinateur Participant(s) Initial Initial Commit Cmd Prepare Vote-Abort Global-Abort Abort Wait Vote-Commit Global-Commit Commit Prepare Vote-Abort Global-Abort ACK Abort Ready Prepare Vote-Commit Global-Commit ACK Commit 7

2PC - Hors Panne SGBD1 Application SGBD2 SGBD1 Application SGBD2 begintrans reqsql result begintrans reqsql reqsql result prepare votecommit Gcommit result prepare votecommit Gcommit prepare voteabort Gabort prepare votecommit Gabort 8

2PC - Panne Coordinateur SGBD1 Coordinateur SGBD2 SGBD1 Coordinateur SGBD2 prepare prepare prepare prepare votecommit votecommit votecommit votecommit Gcommit Gcommit resume votecommit GCommit resume votecommit Gcommit 9

2PC - Panne Esclave SGBD1 Coordinateur SGBD2 SGBD1 Coordinateur SGBD2 prepare prepare prepare prepare votecommit votecommit votecommit GCommit Gcommit timeout Gabort Gabort resume Gabort resume Gcommit 10

Applications Transactionnelles Application requérant une sureté d exécution OLTP (OnLine Transaction Processing) Des centaines de transactions simultanées Batch Exemple en général courtes (peu d instruction + temps de réflexion opérateur humain) Travaux lourds pouvant être différés rapport, bilan Réservation de Transport, Guichet Automatique (DAB), Prise de Commande, Stock Exchange,... 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 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 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 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 15

Moniteur Transactionnel vs Serveur de Bases de Données Lite-TP vs Heavy-TP 16

Les Protocoles Standards X/OPEN OSI/TP OTS MIA/SPIRIT 17

X/OPEN DTP Modèle DTP: Distributed Transaction Processing Plusieurs interfaces : TX XA CRM XA+ RM XAP-TP SDTL (Structured Transaction Definition Language) 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) OSI TP vers d autres domaines TP XA+ CRM (Comm. Rsrc. Mnger) XAP-TP d après Bernstein et Newcomer 1997 19

17/12/2007 OSI/TP 20

CORBA/OTS OTS : Object Transaction Service Compatibilité avec X/OPEN DTP Client Transactionnel Serveur Transactionnel ORB (Object Request Broker) Transaction Service (OTS) Serveur Recouvrable 21

CORBA/OTS Commit Client Transactionnel Commettre Commis Prêt Prêt à!! Commettre? Serveur Transactionnel ORB (Object Request Broker) Transaction Service (OTS) Serveur Recouvrable 22

Interopérabilité OTS - X/OPEN Une Application X/OPEN accède un Obj X/OPEN Client X/OPEN Serveur TX X/OPEN Client TM XOPEN Client TM Trans. Obj ORB OTS X/OPEN Serveur Trans. Obj OTS ORB 23

Interopérabilité OTS - X/OPEN (2) Des Obj Transactionnels incluent des ressources XOPEN dans une transaction gérée par OTS Client ORB OTS Serveur RM API CM API XOPEN Ressource Manager Transaction Manager X/OPEN Serveur 24

OTS Produits Inprise ITS BEA M3 Orbix OTS Arguna OTS 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 précompilation CICS API STDL précompilation Encina API STDL précompilation Tuxedo API d après Bernstein et Newcomer, 1997 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 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 28

Les Produits CICS IMS TDS Tuxedo ACMS Encina Top End Pathways/TS Microsoft Transaction Server Comparaison 29

Tuxedo (Novell) Non Stop Tuxedo (Tandem) 37

Encina (Transarc Corporation, IBM) racheté par IBM 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 41

MTS et ASP <%@ TRANSACTION=Required LANGUAGE="JScript" %> <!--#include file="adojavas.inc"--> <HTML><HEAD><TITLE>Modification Transactionnelle d une Base</TITLE></HEAD><BODY> <h1>modification de la Commande 123<h1><hr> <% var oconn = Server.CreateObject("ADODB.Connection"); var ors = Server.CreateObject("ADODB.Recordset"); oconn.open("dsn=localserver;uid=sa;pwd=;database=pubs"); ors.activeconnection = oconn; ors.source = "SELECT * FROM Cmd WHERE cmd_id=123"; ors.cursortype = adopenstatic; ors.locktype = adlockoptimistic; ors.open(); if (! ors.eof) { // Change la quantité ors("qty").value = ors("qty").value + 1; ors.update(); } %> </BODY></HTML> <% // fonctions exécutées à la terminaison de la transaction function OnTransactionCommit() { Response.Write("<p>Modification enregistrée."); } function OnTransactionAbort() { Response.Write("<p>Modification abandonnée."); } %> 43

Passerelle MTS vers l X/Open Application Program (AP) MS RM Native Interface (SQL) Trx OLE MS DTC XA Interface RTR (TM) 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 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, 47

Transactions et Web (iii) Script Serveur Transactionnel ActiveX 48

Transactions et Web (iv) Applet Transactionnelle JOLT (Java OnLine Transaction) 49

Transaction et ASP 50

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

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

Transaction et ASP (exemple) 53

Java et les transactions JTS JTA Servlet EJB JavaSpace JINI 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 55

Transaction et Servlet 56

XAML Transaction Authority Markup Language 58

XAML - Transaction Authority Markup Language BWTP versus OLTP BWTP business web transaction processing OLTP «Online Transaction Transcation Processing» Multiples parties B2B Complex interactions E-Business Plug-and-Play e-commerce Across several Firewalls Request with XML, HTTP, SMTP, SOAP, on Web Server Multi vendor TP Monitors One party Inside an (secure) intranet Requests on DBMS (SQL,RPC), MOM, One vendor TP Monitor Standards (Xopen, ) however Interoperability is hard 59

XAML Motivations defines a set of XML message formats and interaction models that web services can use in order to provide business-level transactions that span multiple parties across the Internet. Business web transactions involve web services from multiple organizations on the web and must coordinate the low-level operations of commit, cancel, retry, and compensate (undo or reverse), in order to ensure business-level transaction integrity. XAML Group Vendor-Neutral Standard Promoted by Bowstreet, Hewlett-Packard Company, IBM, Oracle, Sun Microsystems 60

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 61

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 Les PDF en ligne sur http://research.microsoft.com/pubs/ccontrol/ 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 62

Bibliographie (ii) Gerhard Weikum, Gottfried Vossen, «Transactional Information Systems, Ed. Morgan Kaufmann, 2002, ISBN 1-55860-508-8 Krithi Ramamritham, Panos K. Chrysanthis, Advances in Concurrency Control and Transaction Processing, IEEE Press, ISBN 0-8186-7405-9 63

Bibliographie (iii) 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 64