Le batch

Traitement par lots

En français on utilise parfois le terme de « traitement par lots » pour désigner ce qui est communément appelé « le batch » dans le jargon informatique mainframe. Le système central est utilisé pour effectuer des traitements quotidiens traitant de gros volumes d'information. En journée, la majeure partie de la CPU est allouée aux utilisateurs qui effectuent des requêtes depuis leurs terminaux. Mais quand l'activité « TP » diminue, pendant la pause de midi ou le soir et la nuit, la CPU de l'ordinateur central est utilisée pour réaliser des traitements batches. On les appelle aussi traitement par lots car le même algorithme sera utilisé pour traiter tout un lot d'informations, un flux qui arrive sous forme de fichiers par exemple.

Les jobs et le JCL

Exemple de JCL

Le batch fonctionne en aveugle, sans utilisation de claviers ou d'écran. Pour effectuer un ensemble de traitements il faut exécuter plusieurs programmes à la suite. Cet enchaînement de programmes s'appelle « une application ». L'application est elle-même composée de plusieurs « jobs ». Un job est un enchaînement de programmes déclarés dans un fichier de commandes qu'on appelle JCL. Les initiales de JCL signifient Job Control Language. Il s'agit d'un langage de commandes relativement simple qui permet au système central de connaitre la liste des programmes à exécuter en séquence et pour chaque programme, de définir quels sont les fichiers en entrée et en sortie. Toutes les déclarations s'enchaînent de manière séquentielle pour former le job. Les jobs s'enchainent entre-eux au sein d'une même application. Dans d'autres systèmes d'exploitation, tel qu'UNIX, les JCLs s'appellent des scripts.

Traitement différé

Le batch n'est pas un traitement conversationnel interractif. Il s'exécute en différé et les enchainements de JCLs sont paramétrés dans un outil de planification qui est capable de gérer des contraintes et des conditions. Par exemple un job ne va commencer que si tel et tel autre job est terminé. On appelle ceci des dépendances. L'outil de planification de la production gère donc des prédécesseurs et des successeurs. Il est capable de déclencher un JCL à une heure donnée ou en fonction de variables et de paramètres précis. Le plus connu des planificateurs batch est OPC. Il s'agit d'un ordonnanceur qui s'est généralisé dans les équipes de pilotage de la production. OPC a été produit à l'origine dans les années 1970 par Le Nordic Laboratory d'IBM à Lidingo, en Suède. OPC est l'acronyme de « Operations Planning and Control ». En 1989 le nom a été changé pour lui ajouter le terme Advanced (OPC/A). Beaucoup de nouvelles fonctionnalités lui ont été ajoutées et c'est ce qui a fait son succès dans les années 90s. IBM a ensuite racheté la société TIVOLI et OPC lui a été confié car TIVOLI possédait déjà son propre ordonnanceur pour les systèmes UNIX : Maestro. Le nom a changé de nouveau pour celui de TWS (Tivoli Workload Scheduler). Les traitements différés sont à présent pilotés par TWSz, mais ce n'est que la suite d'OPC pour le système d'exploitation z/OS.

Diagramme des dépendances entre les JOBs
Diagramme des dépendances pour un plan quotidien