|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 44 ![]() |
Bonjour,
J'ai lu l'article de wikipedia dédié à IMS (Information Management System) et je ne comprend toujours pas ce que c'est. Il est noté sur wiki que IMS était une base, mais une base de quoi, pour qui? On nous a toujours dit en classe que les bases de données étaient conçues à partir du modèle logique de données qui lui même découle du modèle conceptuel de données si on passe par Merise. Les bases sont donc conçues selon des besoins précis. Il est aussi noté que IMS était un gestionnaire de transactions, donc si je comprend bien, un peu comme phpMyadmin ? Comment peut-on être une base et un gestionnaire en même temps? Voila, si vous pouviez m'expliquer avec des mots simples
|
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : décembre 2008 Messages : 36 ![]() |
C'est un couple Gestionnaire de base de données / Moniteur transactionnel
C'est un moteur de base de données hiérarchique qui est utilisée derrière donc pas une base de données relationnelle. Ce type de base et de moniteur est encore très utilisé dans les banques, assurances et industries lourdes car très performant Un moniteur transactionnel ca n'a rien à voir avec PhpMyadmin, c'est un soft permettant de prendre en compte les transactions utilisateurs, de les prioriser et de requeter la base, ca permet de gérer tous les accès à la base de données en gérant les transactions en terme de file d'attente, autre exemple, si une requete dure trop longtemps ou consomme trop de CPU, IMS peut la canceller. Toutes les requetes passent par le pool de connexion à la base ce qui permet de passer des dizaines de milliers de requetes par seconde sans avoir 10000 connexions à la base. |
|
|
20
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 44 ![]() |
ok
merci pour ces explications.alors c'est ce moniteur qui pilote les moteurs des bases (un peu comme par exemple le moniteur qui pilote le moteur innobd de MySQL....sauf qu'ici, on est dans les bases relationnelles) donc, le moniteur IMS pilote les moteurs des système de gestion des bases hiérarchiques type IBM.
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : décembre 2008 Messages : 36 ![]() |
C'est plutot le moniteur qui pilote les transactions utilisateurs. Un peu comme un serveur d'applications java sert d'intermédiaire entre un utilisateur et la base de données.
Oui IMS est un SGBD Hiérarchique IMS n'utilise pas DB2 donc n'utilise pas le sql IMS utilise le DL1 pour le requete de ces bases hiérarchiques |
|
|
10
|
|
|
#5 |
|
Membre Expert
![]() ![]() François DurandSpécialiste Delivery Mainframe IBM Inscription : octobre 2005 Messages : 1 096 ![]() |
|
|
|
10
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonsoir,
Ah ! IMS... Ancien combattant, je me resitue bien des années en arrière... En ce temps-là : IMS est caractérisé par essentiellement deux composants, en ces temps reculés on l'appelait IMS DB/DC, « DB » pour « Data Base » et « DC » pour « Data Communication ». Je ne sais pas comment IMS a évolué et donc je dois être un tantinet obsolète, mais temporibus illis les choses se passaient en gros ainsi : Quand l’utilisateur Tartempion sollicite IMS par le truchement d’un code transaction (TRX dans l’exemple ci-dessous), le composant DC place la demande de Tartempion dans une file d’attente, comme quand on attend à la Sécu ou à la préfecture (avec quand même un système de priorités...), et son tour venu, charge en mémoire le programme associé à ce code transaction et lui transmet le contrôle (en notant que les collègues de Tartempion peuvent évidemment eux aussi envoyer une transaction TRX ou TRY au même moment). Des souvenirs me remontent en mémoire... Extrait d’un cours que j’avais bâti dans les années soixante-dix, du temps des cartes perforées (mais on avait quand même des terminaux...) : Le composant DC permet aux programmes d’échanger avec IMS au moyen d’une paire d’instructions, ENTRY et CALL. Exemple : IMS passe le contrôle à mon programme à un point d’entrée convenu (ici en COBOL) : ENTRY 'DLITCBL' USING IOPCB, PCBINGoù DLITCBL signifie DLI TO COBOL (« moi, IMS/DL1 je te passe le contrôle à toi, programme Cobol Px »). Depuis toutes ces années l'instruction ENTRY a peut-être disparu au profit d’un autre, mais pas le principe. IOPCB contient quelques données d’échange entre IMS et le programme Px, tel que le code retour (transaction terminée/pas terminée, erreur unetelle, etc.) et PCBING (PCB = Program Communication Block)correspond à la structure logique de la base de données partie prenante dans cet échange (ici la base de données des ingénieurs de l’entreprise). Avant d’accéder à la base de données, le programme sollicite IMS au moyen d’une instruction CALL pour lire les messages de l’utilisateur Tartempion et donc savoir ce qu’il veut (en l’occurrence tout savoir sur l’ingénieur Gérard à partir de son matricule, parce que par convention Tartempion a codé 'GP' en regard du champ MATRIC, prédéfini dans l’écran de saisie) : CALL 'CBLTDLI' USING FONCTION, IOPCB, IOAREAFONCTION : la fonction que je veux exécuter : lire une ligne du message (qui peut être multi-lignes) qu’IMS me sous-traite ; IOPCB : idem ci-dessus ; IOAREA : le contenu de la ligne du message (ici : MATRIC = GP, disons). L’écran correspondant est structuré en champs (outre le nom de l’ingénieur, sa date naissance, les logiciels pour lesquels il est compétent, etc.) Le programme exploite ce contenu et part à l’assaut de la base de données en conséquence (toujours par CALL 'CBLTDLI', mais au composant DB), pour récupérer les données concernant le camarade Gérard et les transmettre à IMS (par CALL au composant DC). Merci de me signaler les erreurs que j'ai pu commettre, car depuis le temps, j'ai beaucoup oublié... ![]() IMS est fait pour traiter les accès concurrents, donc gérer les conflits en mise à jour, y compris les étreintes fatales (dead locks), la sécurité (qui a le droit de faire quoi), les reprises à chaud ou à froid (recovery), la journalisation, permettant ainsi de remonter dans le temps (très loin au besoin, quand par exemple les bases sont « vérolées »). IMS fournit bien sûr un tas d’outils sophistiqués de chargement de base de données, de sauvegarde et de réorganisation orientés très grandes bases de données. Etc. En 2011, la panoplie a dû bougrement s’étoffer depuis ces temps héroïques... Heu... Extrait de IBM DATABASE 2 Reference, Release 1.0 (November 6th, 1984) : Il y a 27 ans, DB2 communiquait donc avec IMS. Manifestement, en 2011 (DB2 V10) cela paraît être toujours vrai...
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
20
|
|
|
#7 |
|
Membre Expert
![]() ![]() François DurandSpécialiste Delivery Mainframe IBM Inscription : octobre 2005 Messages : 1 096 ![]() |
Bien sûr qu'IMS sait travailler avec DB2.
Il sait aussi travailler avec MQSeries et WebSphere sur z/OS. Il sait s'interfacer avec TCP/IP (IMS Connect) et pas seulement SNA et VTAM. Il sait présenter une transaction "classique" sous forme de Web Services (SOA) et sait même, dans les versions les plus récentes appeler un tel service (fonction "Callout"). Il sait aussi exécuter du code JAVA et travailler avec XML IMS est loin d'être mort ... |
|
|
10
|
|
|
#8 | |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 44 ![]() |
Luc Orient, Fsmrel, ZOS19, merci les gars pour vos réponses, les scans, le lien vers le fil du 27/05
![]() Citation:
parce que je ne comprendrais pas qu'un SGBDH (IMS DB) puisse communiquer avec un SGBDR (DB2) Ca se conçoit encore les BD hiérarchiques de nos jours? je dois vous avouer qu'avant de lire ce fil, je ne savais même pas que ça existait |
|
|
|
00
|
|
|
#9 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonsoir,
Citation:
Si vous voulez parler de concevoir d’une base de données en DL1, je n’en sais rien. Mais concevoir une structure hiérarchique qui s’appuie sur des tables DB2, ça n’est pas un problème, qui peut le plus peut le moins. En tout cas, le nombre de bases de données DL1 en production doit être important (on ne remet pas tout à plat en claquant des doigts). Concrètement, selon une étude IDC, en terme de revenus, DB2 représentait 4030 M$ en 2002, 4250 M$ en 2003 et 4400 M$ en 2004. DL1 représentait pour sa part 707 M$ en 2002, 792 M$ en 2003, 880 M$ en 2004. Par comparaison, l’ensemble des SGBD orientés objets représentait respectivement 69 M$, 55 M$ et encore 55 M$.
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
|
20
|
|
|
#10 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 44 ![]() |
Bonjour !!
désolé si je pose beaucoup de questions, on a eu que 8 heures de cours de ABD (le prof a abordé les fichiers de données/journalisation/contrôle, tablespace, acid, transaction, commit, rollback, segment, verrou, curseur, trigger) dont 4 en TPs (sur Oracle). En cours de BD, on a eu des TPs sur Oracle aussi. Et pour ceux de PHP et J2EE, c'était sur MySQL. Que du relationnel requêté en SQL quoi Citation:
Citation:
en tout cas, à la vue de tout ces chiffres, le IMS/DB a encore de beaux jours devant lui, comme quoi |
||
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonsoir,
Citation:
DB2 gets its name because IMS, which was created first, was DB1IMS/DC étant le composant d’IMS chargé de gérer les transactions et son copain IMS/DB celui chargé de gérer les données, DB1 correspondrait plutôt à IMS/DB. Ce qui est certain c’est que DL/1 (ou DL1, Database Language One) est le langage de manipulation de la base de données (consultation, mise à jour), et croyez-moi, des requêtes DL/1 j’en ai écrit un bon paquet... DL/1 est à IMS/DB ce que SQL est à DB2. Pour la petite histoire, SQL était à l’origine le langage du prototype SYSTEM R d’IBM, et Lawrence Ellison ne s’est pas privé de le vampiriser pour sortir Oracle en 1979 (dans Comprendre et concevoir les bases de données relationnelles, page 110 le professeur Miranda a qualifié Oracle de fils illégitime de SYSTEM R et DB2 de fils légitime). Il faut dire qu’IBM avait publié le « dossier de conception » de SYSTEM R, ce qui n’a pas été perdu pour tout le monde (seule la liste des codes-retour a échappé au vampire), voyez The 1995 SQL Reunion: People, Projects, and Politics, page 14...) Citation:
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
||
|
|
10
|
|
|
#12 |
|
Membre Expert
![]() ![]() François DurandSpécialiste Delivery Mainframe IBM Inscription : octobre 2005 Messages : 1 096 ![]() |
Et pour ceux qui seraient vraiment "branchés" IMS, il est à noter qu'IMS a son groupe de fans sur Facebook :
IBM IMS sur facebook |
|
|
10
|
|
|
#13 | |||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 44 ![]() |
Citation:
Citation:
Citation:
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com