Outils pour utilisateurs

Outils du site


issue105:tutoriel1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue105:tutoriel1 [2016/02/06 12:35] – [2] auntieeissue105:tutoriel1 [2016/02/06 14:42] (Version actuelle) andre_domenech
Ligne 6: Ligne 6:
 ** **
  
-Au tout début de l'informatique, une société appelée Digital Equipment Corporation (DEC, d'abord achetée par Compaq, aujourd'hui faisant partie de Hewlett-Packard) a créé son ordinateur VAX 32 bits (Virtual Address eXtension) comme une évolution du PDP/11 16-bit (Programmable Data Processor). OpenVMS est son système d'exploitation. Dans la fonderie d'acier où je travaille, un grand nombre de ces ordinateurs étaient utilisés pour contrôler le processus de fabrication. Nous utilisons le (VAX-)Pascal comme langage de programmation standard, et un programme d'interconnexion informatique maison appelé HDN.+Au tout début de l'informatique, une société appelée Digital Equipment Corporation (DEC, d'abord achetée par Compaq, aujourd'hui faisant partie de Hewlett-Packard)a créé son ordinateur VAX 32 bits (Virtual Address eXtension) comme une évolution du PDP/11 16-bit (Programmable Data Processor). OpenVMS est son système d'exploitation. Dans la fonderie d'acier où je travaille, un grand nombre de ces ordinateurs étaient utilisés pour contrôler le processus de fabrication. Nous utilisons le (VAX-)Pascal comme langage de programmation standard, et un programme d'interconnexion informatique maison appelé HDN.
  
 Nous ne sommes pas la seule usine ayant utilisé ces ordinateurs. Des milliers de VAX ont été vendus partout dans le monde. Parce qu'un ordinateur VAX/VMS est si fiable, qu'il y en a encore aujourd'hui, après plus de 25 ans, un grand nombre toujours en service, y compris dans l'entreprise où je travaille. Mais après plus de 25 ans, le nombre de personnes pouvant s'y retrouver dans VMS diminue rapidement, et il devient plus difficile de trouver des pièces de rechange pour un matériel en bout de course. Le matériel peut être remplacé par des émulateurs comme Charon-VAX (toutefois, j'ai de mauvaises expériences, avec des erreurs fréquentes, mais aléatoires, sur Charon-VAX ; je vous les expliquerai dans l'un des articles suivants), mais on ne peut pas simuler des experts en programmation. Donc, finalement, même ces ordinateurs fiables devront être remplacés. Mais le remplacement de ces ordinateurs nécessitera beaucoup de temps et d'argent, puisque les fonctionnalités doivent être portées vers un autre système d'exploitation. Nous ne sommes pas la seule usine ayant utilisé ces ordinateurs. Des milliers de VAX ont été vendus partout dans le monde. Parce qu'un ordinateur VAX/VMS est si fiable, qu'il y en a encore aujourd'hui, après plus de 25 ans, un grand nombre toujours en service, y compris dans l'entreprise où je travaille. Mais après plus de 25 ans, le nombre de personnes pouvant s'y retrouver dans VMS diminue rapidement, et il devient plus difficile de trouver des pièces de rechange pour un matériel en bout de course. Le matériel peut être remplacé par des émulateurs comme Charon-VAX (toutefois, j'ai de mauvaises expériences, avec des erreurs fréquentes, mais aléatoires, sur Charon-VAX ; je vous les expliquerai dans l'un des articles suivants), mais on ne peut pas simuler des experts en programmation. Donc, finalement, même ces ordinateurs fiables devront être remplacés. Mais le remplacement de ces ordinateurs nécessitera beaucoup de temps et d'argent, puisque les fonctionnalités doivent être portées vers un autre système d'exploitation.
Ligne 26: Ligne 26:
 Que dire de la base de données ? Que dire de la base de données ?
  
-Outre la manière différente dont les programmes sont écrits pour Windows, il y a un autre problème : DEC a créé sur leurs ordinateurs VAX/VMS un autre type de base de données que les bases de données relationnelles utilisées aujourd'hui, une base de données de réseau nommée DBMS32 (DataBase Management System 32-bit). Dans ce cas, le mot « réseau » ne se réfère pas à un réseau local ou à l'Internet, mais à l'organisation interne des données. Les différents types de données ne sont pas liés les uns aux autres par une relation, mais par une liste doublement liée. Trouver le premier, le suivant ou le dernier membre d'un ensemble est rapide comme l'éclair, car il suffit de suivre le lien, au lieu de lire tous les enregistrements de la base de données pour voir si la relation est satisfaite. Lors de la migration d'un système VAX/VMS vers Windows, vous devez également migrer des bases de données réseau (si vous les utilisez) aux bases de données relationnelles.+Outre la manière différente dont les programmes sont écrits pour Windows, il y a un autre problème : DEC a créé sur leurs ordinateurs VAX/VMS un autre type de base de données que celles, relationnellesutilisées aujourd'hui, une base de données de réseau nommée DBMS32 (DataBase Management System 32-bit). Dans ce cas, le mot « réseau » ne se réfère pas à un réseau local ou à l'Internet, mais à l'organisation interne des données. Les différents types de données ne sont pas liés les uns aux autres par une relation, mais par une liste doublement liée. Trouver le premier, le suivant ou le dernier membre d'un ensemble est rapide comme l'éclair, car il suffit de suivre le lien, au lieu de lire tous les enregistrements de la base de données pour voir si la relation est satisfaite. Lors de la migration d'un système VAX/VMS vers Windows, vous devez également migrer des bases de données réseau (si vous les utilisez) aux bases de données relationnelles.
  
 ===== 2 ===== ===== 2 =====
Ligne 41: Ligne 41:
 Vers Linux ! Vers Linux !
  
-En réfléchissant à une autre façon de faire cette migration, il m'a semblé que le VAX-Pascal était largement compatible avec le Free Pascal. Et la façon dont fonctionne Linux est largement compatible avec VAX/VMS. Je décidai donc de tenter de convertir nos programmes en Lazarus/Free Pascal, mais ai constaté qu'il n'y a pas de remplaçant pour DBMS32. Donc .... j'en ai créé un. Il est écrit en Lazarus/Free Pascal, et comprend un remplaçant de l'interface graphique DBQ - le programme d'interface client de la base de données utilisé pour lire ou saisir des données. Il n'est pas encore tout à fait conforme aux spécifications, mais il va s'améliorer au fil du temps. J'ai remplacé le programme d'interconnexion HDN par un ensemble de programmes : l'un pour envoyer et l'autre pour recevoir les données, indépendants du système d'exploitationet affichant les données sous une forme lisible, formatées en style XML, tout en utilisant des dossiers comme files d'envoi et de réception. Pour être utilisé par nos applications, j'ai créé une API similaire à celle de HDN, de sorte que les applications restent intactes. Cela provoque moins de risque d'échec, parce qu'elles ont juste besoin d'être liée à une autre bibliothèque.+En réfléchissant à une autre façon de faire cette migration, il m'a semblé que le VAX-Pascal était largement compatible avec le Free Pascal. Et la façon dont fonctionne Linux est largement compatible avec VAX/VMS. Je décidai donc de tenter de convertir nos programmes en Lazarus/Free Pascal, mais j'ai constaté qu'il n'y a pas de remplaçant pour DBMS32. Donc... j'en ai créé un. Il est écrit en Lazarus/Free Pascal, et comprend un remplaçant de l'interface graphique DBQ - le programme d'interface client de la base de données utilisé pour lire ou saisir des données. Il n'est pas encore tout à fait conforme aux spécifications, mais il va s'améliorer au fil du temps. J'ai remplacé le programme d'interconnexion HDN par un ensemble de programmes : l'un pour envoyer et l'autre pour recevoir les données, indépendants du système d'exploitation et affichant les données sous une forme lisible, formatées en style XML, tout en utilisant des dossiers comme files d'envoi et de réception. Pour être utilisé par nos applications, j'ai créé une API similaire à celle de HDN, de sorte que les applications restent intactes. Cela provoque moins de risque d'échec, parce qu'elles ont juste besoin d'être liées à une autre bibliothèque.
  
 Mais ça ne va pas être facile... Mais ça ne va pas être facile...
  
-La façon dont j'écris ceci pourrait suggérer que la migration d'un système VAX/VMS vers Linux (dans mon cas, Linux Mint 17) est une promenade de santé. Ceci n'est, malheureusement, pas vrai. Il existe des programmes tiers utilisés sur les systèmes VMS qui n'ont pas d'équivalents Linux. Il faudrait réécrire ces programmes en fonction de leur description fonctionnelle/technique, ou trouver une autre façon de réaliser les fonctions qu'ils remplissent. Il existe des bibliothèques proposées par DEC incluses dans VMS sans contrepartie sous Linux, comme FDMS (Forms Display Management System - Gestionnaire d'affichage des formulaires). Et puis il y a des fonctions techniques utilisées dans VMS sans équivalence apparente sous Linux, comme les eventflags et les logiques. Dans les articles suivants, je vais décrire en plus de détail comment je les remplace, ainsi que d'autres fonctionnalités telles que les boites aux lettres (IPC), et comment gérer les évènements asynchrones du système, le DCL et les numéros de version de fichier.+La façon dont j'écris ceci pourrait suggérer que la migration d'un système VAX/VMS vers Linux (dans mon cas, Linux Mint 17) est une promenade de santé. Ceci n'est, malheureusement, pas vrai. Il existe des programmes tiers utilisés sur les systèmes VMS qui n'ont pas d'équivalents Linux. Il faudrait réécrire ces programmes en fonction de leur description fonctionnelle/technique, ou trouver une autre façon de réaliser les fonctions qu'ils remplissent. Il existe des bibliothèques proposées par DEC incluses dans VMS sans contrepartie sous Linux, comme FDMS (Forms Display Management System - Gestionnaire d'affichage des formulaires). Et puis il y a des fonctions techniques utilisées dans VMS sans équivalence apparente sous Linux, comme les eventflags et les logiques. Dans les articles suivants, je vais décrire plus en détail comment je les remplace, ainsi que d'autres fonctionnalités telles que les boîtes aux lettres (IPC), et comment gérer les événements asynchrones du système, le DCL et les numéros de version de fichier.
  
 ** **
Ligne 61: Ligne 61:
 Si vous avez besoin d'aide... Si vous avez besoin d'aide...
  
-Parce que mon entreprise n'est pas la seule voulant quitter VAX/VMS, je suis prêt à fournir DBMS32 et les autres remplaçants en Open Source sous licence GPL à tout ceux qui en ont besoin. Et je propose d'aider à la conversion de vos programmes VAX/VMS. Ce sera énormément moins cher qu'une refonte complète et une conversion vers Windows, et il y a une chance beaucoup plus faible de perturbation de l'usine lors de la migration, comme la conversion est presque du un pour un.+Parce que mon entreprise n'est pas la seule voulant quitter VAX/VMS, je suis prêt à fournir DBMS32 et les autres remplaçants en Open Source sous licence GPL à tout ceux qui en ont besoin. Et je propose d'aider à la conversion de vos programmes VAX/VMS. Ce sera énormément moins cher qu'une refonte complète et une conversion vers Windows, et il y a une chance beaucoup plus faible de perturbation de l'usine lors de la migration, puisque la conversion est presque du un pour un.
  
-De même, je pense que les avantages d'une base de données réseau serait intéressants pour les nouveaux projets aussi. S'il y a assez de personnes qui veulent en savoir plus sur l'utilisation des bases de données réseau et leurs (dés)avantages, j'écrirai quelques articles sur la façon dont une base de données réseau est organisée et comment elle peut être utilisée en comparaison à une base de données relationnelle.+De même, je pense que les avantages d'une base de données réseau serait intéressants pour les nouveaux projets aussi. S'il y a assez de personnes qui veulent en savoir plus sur l'utilisation des bases de données réseau et leurs (dés)avantages, j'écrirai quelques articles sur la façon dont une base de données réseau est organisée et comment elle peut être utilisée en comparaison avec une base de données relationnelle.
  
 Le mois prochain Le mois prochain
  
-Dans le prochain article, je vais expliquer les eventflags : ce qu'ils sont, leur rôle et pourquoi ils sont si importants qu'il faille leur consacrer un article entier.+Dans le prochain article, j'expliquerai les eventflags : ce qu'ils sont, leur rôle et pourquoi ils sont si importants qu'il faille leur consacrer un article entier.
  
  
issue105/tutoriel1.1454758503.txt.gz · Dernière modification : 2016/02/06 12:35 de auntiee