Histoire du Transactionnel
en construction
Retour histoire de l'informatique
2002 Jean Bellec
version provisoire 13 dc. 2003
La rvolution transactionnelle dans les
entreprises. La rvolution transactionnelle n'a comme quivalent en informatique que la naissance de la mcanographie au moment o Hermann Hollerith a mcanis le recensement amricain de 1890. Le traitement mcanographique des informations s'est fait par lots depuis cette date. Il faut noter que cette mthode d'opration correspondait presque toutes les oprations manuelles de traitement d'information telles que les statistiques dont le recensement, la comptabilit, les bilans des entreprises, la paye des employs, les taxes qui sont par nature ou par habitude des oprations "batch" et qui le restent encore aujourd'hui. La ralit est chantillonne sur une base annuelle, trimestrielle, mensuelle ou quotidienne. On ne sait pas encore bien l'heure actuelle l' influence de la frquence d'chantillonnage sur le systme conomique, mais il est probable qu'une partie du bruit remarqu dans le systme boursier a quelque chose voir avec la frquence des indicateurs. Cependant, comme il y a des bnficiaires institutionnels de ce bruit, comme il y a toujours des rticences aux changements, nombre de processus desservis maintenant par les ordinateurs restent soumis aux rgles de batch processing. Cela durera aussi longtemps qu'on n'aura pas su repenser les systmes de rgulation micro-conomiques. Par contre, certains problmes de traitement d'informations de gestion sont par nature peu conformes au traitement par lots. Certes, on a pens dans les annes 1950 repenser l'entreprise autour de l'ordinateur, mais cette approche s'est heurt la reconnaissance de l'importance conomique de facteurs comme le volume des stocks ou bien la dure de l'interaction avec un client. C'est ainsi qu'est ne la fin des annes 1950 des rflexions la fois dans les entreprises et chez les constructeurs sur un usage diffrent de l'informatique naissante. La gestion en temps rel des stocks ne pouvait que rarement se satisfaire d'informations sur un support d'accs squentiel (cartes perfores ou bandes magntiques) ayant un temps d'accs dpassant la minute et donc peu susceptible de remplacer la recherche par un humain dans un support papier aid ou non d'outils comme les fiches Rolodex ou de ses concurrents. La rflexion mene en ce sens au laboratoire IBM de San Jos conduisit au dveloppement du disque magntique RAMAC puis de diffrents essais de supports qui ne parvinrent pas d'ailleurs supplanter les disques. Un ordinateur de recherche dans un dispositif de stockage " accs alatoire" ne reprsentait pas toutefois qu'un aspect de la solution du problme. Le temps d'accs pour infrieur qu'il soit devant les solutions "humaines" tait non ngligeable et les performances d'un systme tel que le RAMAC 305 ne suffisaient pas aux besoins des entreprises devant mobiliser plusieurs employs la gestion d'une catgorie de stocks. Il est inutile de prciser que le prix d'un RAMAC pour infrieur qu'il fut un IBM 705 ou un Gamma 60 de l'poque tait bien suprieur celui d'un PC et au salaire mensuel de l'employ qui le servait. Pour pouvoir grer en temps rel les stocks par plusieurs employs
simultanment, soit pour des raisons d'emplacements de postes de travail, soit parce que
l'opration de mise jour s'accompagnait d'un dialogue avec le client, il tait
ncessaire de supporter plusieurs terminaux connects ordinateur grant le stock.
Deux solutions divisrent la communaut informatique des annes 1960, la premire
comportait un ordinateur frontal regroupant les messages et prparant le traitement dans
un ordinateur de gestion de la base d e donnes, l'autre donnait un seul ordinateur la
gestion de toute la transaction. En pratique, la premire solution fut aussi utilise
sous couvert d'un ordinateur unique (dans IMS de IBM par exemple), le mise en queue des
messages tant faite par un processus spcialis. En fait, la mise en place dans les entreprises d'un systme
transactionnel s'effectua en plusieurs phases. La premire tant souvent l'utilisation
de terminaux pour la saisie interactive d'informations traites en batch la nuit. Cette
saisie permettait de faire l'conomie de la phase vrification d'un traitement
mcanographique traditionnel. Dans d'autres cas, la priorit tait donne
l'instauration d'un systme de consultation (sans mise jour) d'informations permettant
l'accs certaines bases de donnes de l'entreprise mises jour sur une base
quotidienne, conomisant ainsi l'impression et la diffusion de gros volumes de papier de
valeur fugitive. De tels systmes survivront encore longtemps, le besoin de lire tant
suprieur celui de crer. Caractristiques des transactions Atomicit Consistance Isolation Durabilit Consquences sur les systmes d'exploitation des ordinateurs. Protection
|
Multithreading Le temps de traitement d'une transaction ne dpend pas que du temps pris par l'ordinateur et la transmission des donnes. Il dpend aussi du temps de dialogue entre l'oprateur et son client l'occasion des interactions. En effet, si certaines transactions ne comportent qu'une question et une rponse, ce n'est pas le cas le plus gnral et des choix sont souvent soumis au client en fonction de la disponibilit des stocks d'objets concerns. Il existe mme des super-transactions qui comportent des processus asynchrones comme la dconnexion du client et sa reconnexion depuis un autre terminal. Ces super-transactions restaient actuellement gres selon des protocoles spcifiques l'application si bien que le rle du systme d'exploitation restait limit la gestion d'une transaction multi-changes depuis un mme terminal ou du moins depuis la mme adresse. Il est vident qu'il est ncessaire de ne monopoliser que le minimum de ressources pour des transactions en attente de la rflexion du client ou celles qui taient en cours de transmission avant la gnralisation des affichages rapides. Mais le temps d'accs aux fichiers sur mmoire de masse reprsentait tout de mme une part importante du temps-ordinateur et trs tt, les concepteurs ont prouv le besoin de traiter en parallle plusieurs transactions. Une premire approche -sur IMS- a t de parallliser les divers types de transactions en leur affectant chaque type un serveur et de multiplexer ces serveurs la manire du multitraitement en batch. Cette approche convient certaines applications trs varies, mais est peu efficace dans le cas des transactions trs varies et pour une utilisation en multiprocesseurs. Le programme du serveur doit tre rutilisable, mais non ncessairement rentrant. Une autre approche a t dveloppe l'origine pour le systme SABRE et les successeurs spcialiss APARS de IBM, puis utilis par CICS et les diffrents systmes de Bull et Honeywell (TDS, DM-IV TP...) et de Microsoft (MTS), c' est l'excution des transactions en multi-threading avec du code partag (donc compltement rentrant). Il peut s'avrer coteux d'affecter une thread chaque transaction en cours (ce nombre peut se monter plusieurs centaines), si bien que l'on distingue les transactions actives des transactions dormantes, les premires constituant un cache de l'ensemble de toutes les transactions. Le nombre de transactions actives maximum est au moins gal celui du rapport entre le temps d'attente des accs la base de donnes au temps consomm par le processeur dans une transaction. Intgrit Pour cela un mcanisme de contrle de la concurrence entre threads doit tre cr et il doit couvrir tous les accs aux bases de donnes y compris ceux du batch processing. En cas d'treinte fatale, le mcanisme doit tuer la thread la moins coteuse recommencer. Bien entendu, il est ncessaire d'annuler toutes les modifications faites sur les bases de donnes avec un journal des modifications. Commitment volution des systmes transactionnels. Entre 1980 et 1985, alors qu'on pouvait penser que les systmes
transactionnels avaient atteint leur maturit avec CICS/VS et TDS, la gnralisation du
remplacement de terminaux traditionnels (3270 et VIP) par des micro-ordinateurs causa une
certaine remise en cause des acquis. Les mainframers avaient d'abord pens utiliser
les capacits de traitement des PC pour dcharger ordinateur central des fonctions de
saisie et de mise en page de l'dition, voire de l'impression de documents et d'utiliser
pour cela un mulateur de terminaux sans utiliser la mmoire du ordinateur par
l'application. Le retard la disponibilit d'outils de cration d'applications
distribues provoqua la vogue d'une remise en question du modle transactionnel. Les
applications de l'avenir seraient client-serveur et les mainframes seraient
remplacs par de simples serveurs de bases de donnes qui les ordinateurs individuels
transmettraient des requtes SQL. La mmoire de la transaction encours serait conserve
dans le PC et pourrait, si besoin tait, tre accde par le central. L'avantage de ce
modle tait essentiellement l'abaissement du cot du matriel ncessaire et
l'utilisation de logiciel standard, mme de logiciel libre. Il est certain que beaucoup de problmes transactionnels sont plus conomiquement grs par des systmes distribus base de PC, condition que leur systme d'exploitation soit dot de fonctions mises au point pour les mainframes, ce qui ne s'est rpandu qu' la fin du XXe sicle et que le traitement de la transaction n'implique pas d'autres ordinateurs autres que le seul client et leurs serveurs.
|