SITools
SITools est un système d'accès aux données scientifiques utilisé en astronomie. Il assure la présentation et la dissémination des données. Il permet principalement, à partir d'une ou plusieurs bases de données scientifiques gérées sous MySQL, PostgreSQL ou Oracle, d'effectuer des requêtes intelligentes sur les données avec des critères de recherche et de tri.
Il est composé d'une couche de logiciels libres et d'un ensemble d'applications web Java (webapps) entièrement configurables.
SITools est composé de 3 modules nécessaires à son fonctionnement :
- Le module CATALOGUE, qui définit comment accéder aux bases de données que l'on interroge. Ces catalogues peuvent être des jeux de données correspondant à des tables ou des vues de la base de données, des méta-données (équivalent aux données de la base d'administration du Système SiTools) ou des fichiers de données brutes. Il est possible de configurer autant de catalogues que nécessaire.
- Le module REPOSITORY, qui établit les liaisons entre les catalogues utilisés (définis dans le module CATALOGUE) et les services associés (définis plus loin). Les utilisateurs et les droits d'accès aux jeux de données sont gérés dans ce module ainsi que les synonymes et les convertisseurs (fichiers de configuration XML).
- Le module SITOOLS, qui est l'interface web par laquelle les utilisateurs accèdent aux données (IHM). Il est composé essentiellement de fichiers JSP simples à modifier pour permettre la personnalisation de l'interface. On peut par exemple rajouter un panel à l'interface de base, modifier le menu principal ou personnaliser le code couleur de l'interface.
À ces modules de base on peut ajouter des service nommés SVA (Services à Valeur Ajoutée) qui fonctionnent comme des plugins pour étendre les fonctionnalités de SITools ou permettre d'appliquer des traitements en ligne sur les données interrogées.
L'ensemble de ces modules et services peut être installé sur une architecture répartie entre plusieurs machines.
A noter qu'une version 64 bits existe depuis février 2011.
SITools s'appuie sur le concept de services connectés entre eux (via un bus virtuel Web Services en SOAP) et inclut des services de base (interrogation de catalogues de jeux de données depuis une interface web) ainsi que des services à valeur ajoutée (SVA) : conversion de format, compression, tracé de graphique à la carte, tracé 3D, data-mining,...
Ces SVA peuvent déjà exister (livrées avec SITools ou développées par d'autres laboratoires) mais il est possible de développer ses propres SVA selon ses besoins. Un SVA est lui même une application web Java mais qui peut appeler un programme développé dans un autre langage (perl, python, C...). Cela permet notamment de pouvoir intégrer des programmes déjà développés en interne.
SITools peut interroger des catalogues hébergés sur des systèmes distants (il suffira d'avoir les bons droits d'accès aux jeux de données et de définir le lien d'accès dans un fichier du module catalogue). Dans ce cas, il est souvent nécessaire de spécifier des synonymes pour les données qui décrivent la même chose mais dont le nom du champ dans les tables sont différents (par exemple une valeur de magnitude qui est stockée dans le champ 'magnitude' dans le jeu de données A et 'magnit' dans le jeu de données B).
A l'inverse, les jeux de données hébergés par SITools peuvent être interrogés par d'autres systèmes d'accès aux données, notamment par le développement de requêtes Web Services.
SiTools peut ainsi être utilisé comme interface pour l'Observatoire Virtuel (VO - Virtual Observatory). Dans ce contexte, il est possible de développer des SVA qui permettent de faire des requêtes dans les protocoles VO connus (SIAP, VOQL,...) et de transformer les résultats au format VOTable .
L'outil SITools est utilisé pour la mise à disposition de données provenant de missions spatiales pour lesquelles l'Institut d'Astrophysique Spatiale a en charge l'exploitation des données.
Cette mise à disposition peut être publique (cas des données des observations SOHO et STEREO, ainsi que des données publiques de CoRoT) mais aussi à accès restreint (cas des données de CoRoT et Planck).
Pour exemple, l'interface des données publiques de CoRoT est disponible ici.
La principale limitation peut venir de la prise en main de l'outil. Outre les pré-requis nécessaires à l'installation de SITools (posséder une machine avec un serveur Apache Tomcat opérationnel et un SGBD), l'administration et la personnalisation de l'interface nécessitent des compétences en développement.
Le CNES estime à environ 1 semaine la mise en place d'une version simple d'un serveur de données.
À noter que l'installation est nettement simplifiée aujourd'hui grâce à l'installateur graphique (non présent dans les anciennes versions).