Les Moniteurs TransactionnelsLes Moniteurs Transactionnels Didier Donsez Université Joseph Fourier...

52
Les Moniteurs Transactionnels Didier Donsez Université Joseph Fourier (Grenoble 1) PolyTech’Grenoble LIG/ADELE [email protected] [email protected]

Transcript of Les Moniteurs TransactionnelsLes Moniteurs Transactionnels Didier Donsez Université Joseph Fourier...

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

Les Moniteurs Transactionnels

Didier DonsezUniversité Joseph Fourier (Grenoble 1)

PolyTech’Grenoble LIG/[email protected]

[email protected]

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

2

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

3

Notion de Transaction

� Pour le développeur

� une série d’actions delimitées par

Begin et Commit/Begin et Commit/AbortAbort.

� Un modèle simple de panne

� seulement 2 devenir

Begin()action

action

action

action

Commit()

SuccSuccèès!!s!!

Begin()action

action

action

Rollback()

Begin()action

action

action

Rollback()

Faute!!Faute!!

Erreur !Erreur !

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

4

Notion de Transaction

�� PropriPropriééttéés ACIDs ACID

�� AAtomicittomicitéé

� tous ou rien

�� CConsistanceonsistance� cohérence sémantique

�� IIsolationsolation

� pas de propagationde résultats non validés

�� DDurabiliturabilitéé

� persistance des effets validés

transaction Ti

la BD peut être temporairement

incohérentebeg

inT

i

com

mit

Ti

BD

Cohérente

BD

Cohérente

transaction Ti

la BD peut être temporairement

incohérente

begin

Ti

abor

t Ti

BD

Cohérente

BD

Cohérente

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

5

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

6

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)

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

7

Validation à 2 Phases

� Coordinateur � Participant(s)

Initial

Wait

Abort Commit

Commit Cmd

Prepare

Vote-Abort

Global-Abort

Vote-Commit

Global-Commit

Initial

Ready

Abort Commit

Prepare

Vote-Abort

Global-Abort

ACK

Global-Commit

ACK

Prepare

Vote-Commit

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

8

2PC - Hors Panne

begintrans

begintrans

ApplicationSGBD1 SGBD2

reqSQL

result

reqSQL

result

reqSQL

result

prepare prepare

votecommit

votecommit

Gcommit Gcommit

prepare prepare

votecommit

voteabort

Gabort Gabort

ApplicationSGBD1 SGBD2

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

9

2PC - Panne Coordinateur

CoordinateurSGBD1 SGBD2

prepare prepare

votecommit

votecommit

Gcommit Gcommit

prepare prepare

votecommit

votecommit

GCommit Gcommit

CoordinateurSGBD1 SGBD2

resume resume

votecommitvotecommit

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

10

2PC - Panne Esclave

CoordinateurSGBD1 SGBD2

prepare prepare

votecommit

Gabort Gabort

prepare prepare

votecommit

votecommit

GCommit Gcommit

CoordinateurSGBD1 SGBD2

resume

Gabort

resume

Gcommit

timeout

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

11

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 (peu d’instruction + temps de réflexion opérateur humain)

� Batch

� Travaux lourds pouvant être différés

� rapport, bilan

� Exemple

� Réservation de Transport, Guichet Automatique (DAB),

� Prise de Commande, Stock Exchange, ...

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

12

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

13

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

14

Moniteur TransactionnelTP 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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

15

Moniteur TransactionnelTP 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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

16

Moniteur Transactionnel

vs Serveur de Bases de Données

� Lite-TP vs Heavy-TP

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

17

Les Protocoles Standards

� X/OPEN

� OSI/TP

� OTS

� MIA/SPIRIT

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

18

X/OPEN DTP

� Modèle DTP: Distributed Transaction Processing

� Plusieurs interfaces :

� TX

� XA

� CRM

� XA+

� RM

� XAP-TP

� SDTL (Structured Transaction Definition Language)

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

19

Le Modèle DTP de l’X/Open

AP (Application Program)

AP avec STDL / AP utilisant d’autres langages

OSI TP

vers d’autres domaines TP

TM(Transaction Mnger)

TXSQL, ISAM

...

XA XA+

TxRPC, XATMI

CPI-C

RM(Ressource Mnger)

CRM(Comm. Rsrc. Mnger)

XAP-TP

d’après Bernstein et Newcomer 1997

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

17/12/2007

Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

20

OS

I/TP

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

21

CORBA/OTS

� OTS : Object Transaction Service

� Compatibilité avec X/OPEN DTP

ORB (Object Request Broker)

Client

Transactionnel

Transaction

Service (OTS)

Serveur

Transactionnel

Serveur

Recouvrable

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

22

ORB (Object Request Broker)

CORBA/OTS

CommettrePrêt à

Commettre ?Prêt !

� Commit

Client

Transactionnel

Transaction

Service (OTS)

Serveur

Transactionnel

Serveur

Recouvrable

Commis !

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

23

Interopérabilité OTS - X/OPEN

� Une Application X/OPEN accède un Obj

X/OPEN Client

TM

TX

Trans. Obj

OTS

X/OPEN Client

TM

X/OPEN Serveur Trans. Obj

OTS

X/OPEN Serveur

ORB

ORB

XOPENClient

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

24

Interopérabilité OTS - X/OPEN (2)

� Des Obj Transactionnels incluent des ressources

XOPEN dans une transaction gérée par OTS

Client Serveur

OTS

ORB

XOPENRessourceManager

RM API

X/OPEN ServeurCM API

Transaction Manager

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

25

OTS

� Produits

� Inprise ITS

� BEA M3

� Orbix OTS

� Arguna OTS

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

26

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

STDLSTDL

CICS APICICS API

précompilation

STDLSTDL

Encina APIEncina API

précompilation

STDLSTDL

Tuxedo APITuxedo API

précompilation

d’après Bernstein et Newcomer, 1997

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

27

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

28

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

29

Les Produits

� CICS

� IMS

� TDS

� Tuxedo

� ACMS

� Encina

� Top End

� Pathways/TS

� Microsoft Transaction Server

� Comparaison

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

17/12/2007

Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

37

Tu

xe

do

(Novell)

�N

on

Sto

p T

uxe

do

(Ta

nd

em

)

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

38

Encina (Transarc Corporation, IBM)

� racheté par IBM

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

41

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 transactionnelsstockant des requêtes client

� prévue dans MTS 2.0

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

43

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."); }

%>

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

44

Passerelle MTS vers l’X/Open

Application Program (AP)

RTR (TM)

Native Interface (SQL)

XA Interface

MS

DTC

TrxOLE

MS RM

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

46

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

47

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, …

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

48

Transactions et Web (iii)

� Script Serveur Transactionnel

� ActiveX

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

49

Transactions et Web (iv)

� Applet Transactionnelle

� JOLT (Java OnLine Transaction)

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

17/12/2007

Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

50

Tra

nsactio

n e

t AS

P

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

51

IIS Extension

DLL

ISAPI

Browser

Serveur Web

Extension

DLL

HTTP

IIS Script

ASP

DLL

Browser

Serveur Web

Extension

DLL

HTTP

objet

COM

objet

COM

Transaction et ASP - Modèle (i)

� Script ISAPI

� Script ASP

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

52

MTS

IIS Script

ASP

DLL

Browser

Serveur Web

Extension

DLL

HTTP

objet

COM

objet

COM

Transaction et ASP - Modèle (ii)

� Script ASP avec MTS

� Script ASP avec MTS + MSMQ

MTS

IIS Script

ASP

DLL

Browser

Serveur Web

Extension

DLL

HTTP

objet

COM

MSMQ

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

17/12/2007

Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

53

Tra

nsactio

n e

t AS

P (e

xe

mp

le)

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

54

Java et les transactions

� JTS

� JTA

� Servlet

� EJB

� JavaSpace

� JINI

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

55

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

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

17/12/2007

Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

56

Tra

nsactio

n e

t Se

rvle

t

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

58

XAMLTransaction Authority Markup Language

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

59

XAML - Transaction Authority Markup Language

BWTP versus OLTP� BWTP “business web

transaction 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

� OLTP « Online Transaction Transcation Processing »

� One party

� Inside an (secure) intranet

� Requests on DBMS (SQL,RPC), MOM, …

� One vendor TP Monitor

� Standards (Xopen, …)however Interoperability is hard

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

60

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

61

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

62

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

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

63

Bibliographie (ii)

� Gerhard Weikum, Gottfried Vossen, « TransactionalInformation Systems, Ed. Morgan Kaufmann, 2002, ISBN 1-55860-508-8

� Krithi Ramamritham, Panos K. Chrysanthis, Advancesin Concurrency Control and Transaction Processing, IEEE Press, ISBN 0-8186-7405-9

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

17/12/2007Didier DONSEZ, 1997-2001, Moniteurs Transactionnels

64

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 SurvivalGuide », 3rd edition, February 1999, Ed John Wiley & Sons; ISBN:

0471316156