JobScheduler

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Open Source Job Scheduler
Développeur Software- und Organisations-Service GmbH
Dernière version 1.3.12.1327 (24/11/2011)
Écrit en C++, Java, JavaScript, PHP
Environnement HP-UX(IA), IBM AIX, Linux, Solaris, Windows(2003/2008/XP/Vista/7)
Langue Anglais, Français, Allemand
Type ordonnanceur
Licence GPL ou licence commerciale [1]
Site web http://www.sos-berlin.com/scheduler

JobScheduler est un ordonnanceur open source qui permet à une entreprise d'ordonnancer ses tâches informations et d'automatiser ses processus. Job Scheduler est utilisé pour des scripts ou des fichiers mais peut tout aussi bien exécuter des procédures stockées, effectuer des transferts de fichiers ou appeler des services web.

Les traitements sont interfaçables en Web services permettant l'interopérabilité avec les applications informatiques de l'entreprise. L'ensemble des informations est stocké dans une base de données (MySQL, PostgreSQL, Firebird, SQL Server, Oracle, DB2 ou Adaptive Server Enterprise).

Le Gartner intègre JobScheduler dans son Magic Quadrant for Workload Automation le 27 février 2012. L'outil rentre dans la liste des achats stratégiques pour un directeur informatique.

Plateformes supportées[modifier | modifier le code]

Systèmes d'exploitation:

Systèmes de Base de données :

Principales fonctionnalités[modifier | modifier le code]

  • Lancement d'exécutables, de scripts shell et de procédures stockées.
  • Déclenchement d'événements pour le démarrage des traitements tel qu'un événement calendrier, surveillance d'arrivée de fichiers et événements basés sur les API initiés par les applications externes.
  • Configuration de traitement en tant que Services Web pour fournir une interopérabilité avec des Architectures Orientées Services (BPEL).

Mode opératoire[modifier | modifier le code]

  • Utilisé pour l'ordonnancement de batch, l'ordonnancement tourne en tant que démon Unix ou en tant que service Windows en tâche de fond.
  • Le contrôle du traitement est pris en charge par les commandes en ligne ou par l'interface web embarquée.
  • Un éditeur graphique pour la configuration des traitements et une interface web sont disponibles.

L'ordonnanceur peut être contrôlé par l'interface web embarquée. Il utilise, en interne, des fichiers XML pour la définition des tâches.

Exécution du traitement[modifier | modifier le code]

  • Le traitement est l'unité de base pour le traitement de l'exécution (exécutable, script shell, procédures stockées, transfert…) ou des intégrations basées sur l'interface de programmation.
  • Les traitements sont exécutés indépendamment les uns des autres.
  • Les conditions de dépendances prennent en compte le statut du prédécesseur ou le code retour du shell, ceci sans limite de traitements précédents.
  • Les traitements peuvent être instanciés, un même traitement peut être exécutée en parallèle, chacune de ces exécutions est une tâche.
  • Les chaînes de traitements sont un assemblage de nœuds, ce système permet de lier simplement des traitements en fonction du succès d'un prédécesseur ou de définir des chemins dégradés.
  • La surveillance d'un répertoire peut déclencher le départ d'un traitement permettant ainsi l'intégration d'applications dans un workflow.
  • Les traitements peuvent être déclenchés par un calendrier interne, une commande en ligne ou en services web.
  • Toute application peut démarrer un traitement à travers l'interface de programmation.

Fonctionnalités clés[modifier | modifier le code]

L'ordonnanceur est fourni en standard avec les fonctions suivantes :

  • L'activité peut être limitée en intervalles de temps, l'ordonnanceur supporte un nombre illimité d'intervalles qui peuvent être configurés en fonction des besoins.
  • L'ordonnanceur gère les priorités d'exécution entre les traitements.
  • L'historique des traitements peut être stocké en base de données.
  • Les verrous évitent les accès concurrentiels à une même ressource, comme par exemple l'accès à une base de données.
  • Des traitements standards sont fournis nativement avec l'outil : gestion des journaux (« rotatelog »), traitements de maintenance (purge, vérification, etc.), exécution distante (mode dit « agentless »), transferts de fichiers (FTP, SCP, SFTP, etc.).
  • Les notifications par e-mail, la journalisation et la surveillance des journaux est configurable globalement ou pour chaque traitement.
  • L'interface de programmation (API) facilite l'intégration des traitements et des scripts, par exemple sur la gestion des conditions complexes.
  • Différentes interfaces utilisateur : une interface HTTP embarquée, un client lourd pour l'édition des objets, une interface web (Apache/PHP)…

Fonctions additionnelles[modifier | modifier le code]

  • Haute disponibilité : des serveurs secondaires peuvent être configurés pour reprendre les traitements après un crash du serveur primaire.
  • Équilibrage de charge : plusieurs ordonnanceurs regroupés peuvent se partager la charge en fonction des disponibilités de chacun.
  • Intégrations avec des produits tiers :
    • surveillance des traitements avec Nagios ;
    • gestion des rapports avec JasperReports ;
    • Secure Copy, SSH…

Implémentation[modifier | modifier le code]

  • L'ordonnanceur est écrit en C++.
  • Les traitements standards sont écrits en Java.

Références[modifier | modifier le code]

  1. (en) « Licencing Models », Job Scheduler (consulté le 2011-12-01)

Liens externes[modifier | modifier le code]