Note pour l’installation du serveur Z39.50 pour MDweb

 

Version

Commentaires

1

Auteurs : Jean Christophe Desconnets (jcd@teledetection.fr

 Date de création : 20/02/2008 16:53:00

 

 

 

Introduction. 2

Exécution de l’installeur. 4

Configuration manuelle. 6

Ouverture d’un port TCP/IP. 7

Lancement du serveur. 7

Configuration de MDweb pour interroger le serveur Z39.50. 8

Pré requis pour le client d’interrogation Z39.50  MDweb. 8

Sous Windows. 8

Sous Linux. 9

Ajout de catalogues distants de type Z39.50. 9

Besoin de serveurs z39.50 multiples sur une même machine. 9

 

 

 

Introduction : Serveur Z39.50 pour MDweb, késako ?

 

 

Le protocole Z39.50 : une architecture  client/serveur utilisée via une passerelle web.

 

Le protocole Z39.50 est une norme de la  NISO depuis 1992 qui ensuité été adoptée par l’ISO en 1997 (Iso 23950). Elle est développé par le ZIG (Z39-50 Implementers Group) et gérée la « Z39-50 maintenance Agency » hébergée par la bibliothèque du congrès américain.

Ce protocole/norme permet une interrogation simultanée de bases de données hétérogènes et réparties. Cela signifie que lorsque le client d’interrogation :

        Qu’il n’a pas besoin de connaître la structure des données dans les bases interrogées

        Qu’il réalise des interrogations simultanées de plusieurs bases de données par une requête unique

        Et exécute une récupération de données sur sa machine dans un format normalisé et  ré-exploitable.

Ce protocole repose sur le principe Client / Serveur (dialogue requête / réponse entre 2 machines) :

        un client (origine) initie le dialogue avec le/les serveur(s), envoie 1 requête en indiquant une ou plusieurs bases à interroger et exploite les réponses

        un serveur (cible) reçoit les requêtes du client, les traduits dans le langage des bases à interroger, reçoit et transmet les réponses au client.

Le client Z39-50 peut-être couplé à une passerelle web qui traduit les requêtes du navigateur en langage Z39-50. Il reformate ensuite les réponses des serveurs Z39-50 en langage HTML. Le navigateur et la passerelle dialoguent dans les standards du web (protocole http, langage html). C’est le cas de l’utilisation du Z39.50 dans MDweb.  

 

Source :  Laurence Raphael (Laurence.Raphael@msh-alpes.prd.fr)

 

Références sur Z39.50

 

Organisme responsable de la norme Z39.50 : Z39.50 Maintenance Agency, URL : http://lcweb.loc.gov/z3950/agency/

Ressources sur la norme Z39.50 - Une page de référence : Z39.50 Ressources - A Pointer Page, URL : http://ds.internic.net/z3950/z3950.html

 

Informations techniques sur le serveur Z39.50 MDweb

 

Le serveur z39.50 pour MDweb n’est pas un moissonneur mais fonctionne en mode synchrone c'est-à-dire que les requêtes sont exécutées en direct sur le serveur distant et les résultats rapatriés en retour. Pour cela, les serveurs distants interrogés doivent être en ligne et accessible leur port d’écoute.

 

Le serveur z39.50 de MDweb répond aux spécifications de l’OGC : OGC Catalogue Service Specification 2.0.0 et propose une implémentation en utilisant le protocole z39.50 en TCP/IP via un client web.

 Le serveur Z39.50 pour MDweb a été implémenté en JAVA et utilise le toolkit jzKit 1.3. Les détails d’implémentation du serveur z39.50 pour MDweb sont donnés dans un document : Note technique sur le serveur Z39.50 pour MDweb disponible à l’adresse suivante : http://www.mdweb-project.org/16/z3950/docs/note-technique-serveurz3950-MDweb.pdf

La javadoc est disponible à l’URL : http://www.mdweb-project.org/16/z3950/javadoc/

 

Par défaut,  le serveur z39.50 de MDweb délivre des métadonnées en XML au format ISO 19115/19139. Il peut aussi délivrer des métadonnées au format FGDC ou Dublin Core. Pour cela. Les détails sont dans la documentation : Note technique sur l’installation du serveur Z39.50 pour MDweb disponible à l’adresse suivante : http://www.mdweb-project.org/16/z3950/docs/note-technique-install-serveurz3950-MDweb.pdf


Installation du serveur Z39.50 pour MDweb

 

L'installeur a été réalisé à l'aide du logiciel iZpack (http://www.izforge.com/izpack/). Il nécessite sous Windows comme sous Linux la présence de la machine virtuelle JAVA 1.x. Il installe l’ensemble des classes java du serveur z3950 et le serveur d’application Jetty (http://jetty.mortbay.org/index.html) et configure le serveur z3950 (connexion à une base de données MDweb, le port d’écoute, etc.).

L’installeur mdweb-z3950-setup.jar est téléchargeable via le site www.mdweb-project.org rubrique Téléchargements ou à l’url http://www.mdweb-project.org/16/z3950/installeur/mdweb-z3950-setup1.0.jar

Son exécution demande un environnement graphique. Il ne peut être exécuté via une ligne de commande du type : java  mdweb-z3950-setup1.0.jar.

 

Exécution de l’installeur

A l’exécution de l’installeur, l’utilisateur devra fournir les informations suivantes :

          Chemin du répertoire d’installation : (par défaut C:\Program Files\mdweb_z3950 sous Windows, /home/[utilisateur_courant]/mdweb_z3950 sous Linux)

 

 

 

 

 

 

Port d’écoute TCP/IP pour z3950 : (par défaut : 2100)

 

 

Paramètres de connexion à la base de données MDweb :

          Nom de la base de données : (par défaut : mdweb)

          Url d’accès à la  base : (par défaut : localhost)

          Compte postgres : (par défaut : postgres)

          Mot de passe :  (par défaut : postgres)

 

 

Il installe l’exécutable java et paramètre les fichiers de configuration du serveur (hibernate.cfg.xml, serveur.properties) et crée un fichier batch pour le lancement du serveur (lancement.bat sous Windows, lancement.sh sous Linux).

 

 

Configuration manuelle

Si vous souhaitez revenir sur la configuration du serveur z39.50, les fichiers à paramétrer sont situés dans le répertoire proprietes :

- serveur.properties : deux éléments peuvent être modifiés : le port d'écoute du serveur, et le délai durant laquelle une connexion reste active entre deux échanges client/serveur. Ces informations sont contenus dans les variables port et timeout du fichier de configuration. Port est un entier supérieur à 1024 et timeout un entier dont l'unité est la milliseconde.

hibernate.cfg.xml : les paramètres de connexion à la base de données MDweb

Pour une connaissance plus précises des fichiers de configuration du serveur et son comportement, vous pouvez vous reportez à la note Note technique sur le serveur Z39.50 pour MDweb disponible à l’adresse suivante : http://www.mdweb-project.org/16/z3950/docs/note-technique-serveurz3950-MDweb.pdf

 

Ouverture d’un port TCP/IP

Afin que votre serveur z39.50 soit interrogeable par des machines distantes (client d’interrogation z39.50), il est nécessaire d’ouvrir le port d’écoute choisi lors de l’installation sur la machine où est installé le serveur z39.50.

Lancement du serveur

Pour lancer le serveur, exécutez le script générer lors de l’installation : lancement.bat ou lancement.sh  selon le système sur lequel vous avez installé le serveur. Il est conseillé de mettre en place un service pour permettre un arrêt et un redémarrage automatique.


Configuration de MDweb pour interroger le serveur Z39.50

 

Pré requis pour le client d’interrogation Z39.50  MDweb

L’interrogation d’un catalogue distant z39.50 nécessite un client d’interrogation z39.50, c'est-à-dire des pages et des bibliothèques qui permettent d’adresser une demande au serveur z39.50. Pour cela, les extensions PHP et bibliothèques YAZ ( http://www.indexdata.dk/software/ )  sont requises.

 

Sous Windows

Avec MS4W

Pour une installation de MDweb via l’installeur (installation de MS4W : Apache/PHP/Mapserver), l’extension php_yaz.dll est copiée dans le répertoire php/ext/ et déclarer dans le php.ini :

 

extension=php_yaz.dll

 

De même, l’installeur copie la bibliothèque yaz.dll dans le répertoire Apache/cgi-bin/

Les versions de ces fichiers sont les suivantes :

          php_yaz.dll : 5.2.1.1 YAZ

          yaz.dll : 2.1.8.1 Yaz Toolkit

           

Veillez à ce que les bibliothèques suivantes soient présentes et compatibles avec yaz.dll, voici les versions qui testées et compatibles. Ce qui  n’exclut pas d’autres versions.

 

          iconv.dll : 1.9.0.0 LGPLed libiconv for Windows NT/2000/XP

          libxml2.dll (non connue)

          msvcr71.dll : 7.10.3052.4 Microsoft® C Runtime Library

          zlib1.dll : 1.2.2.0 zlib data compression library

 

Pour des installations sous Wamp ou EasyPHP ou autre. Il sera nécessaire de procéder manuellement à la déclaration de l’extension php_yaz.dll et sa présence dans le répertoire des extensions de php, de veiller à la présence et à  la compatibilité des bibliothèques suivantes avec l’extension php_yaz :

          yaz.dll

          iconv.dll

          libxml2.dll

          msvcr71.dll

          zlib1.dll

 

Les extensions php_yar pour PHP 5.2.1 et 5.1.2 et les dll sont disponibles à l’adresse suivante :

http://www.mdweb-project.org/15/z3950/client/ 

 

Le téléchargement du Toolkit YAZ (http://www.indexdata.dk/software/) pour Windows permet de trouver toutes ces bibliothèques. Il est disponible à l’adresse http://www.mdweb-project.org/15/z3950/client/yaz_2.1.8.exe

 

Sous Linux

De la même manière que sous Windows, il est nécessaire d’installer l’extension php5_yaz pour php. La modification du php.ini est normalement réalisée à l’installation de l’extension .so

 

Il est aussi nécessaire mettre les librairies libyaz2, yaz et yaz-dev si vous avez besoin de compiler la extension php_yaz. Vous pouvez trouver des ressources, informations et forum utilisateurs : http://www.indexdata.dk/software/

 

Ajout de catalogues distants de type Z39.50

Lorsque votre outil MDweb est installé en tant que client z39.50, vous pouvez alors ajouter des catalogues distants z39.50. Pour cela, vous devez posséder un compte administrateur et accéder par authentification à la rubrique Administration > catalogues > Catalogues distants pour ajouter un nouveau catalogue.

 

L’ajout  d’un catalogue est traité plus en détails dans le document : Note sur l’ajout de catalogues distants avec MDweb (Z39.50, CSW 2.0) http://www.mdweb-project.org/16/docs/pdf/mdweb-note-configuration-catalogues-fr.pdf ou http://www.mdweb-project.org/16/docs/html/mdweb-note-configuration-catalogues-fr.html

Besoin de serveurs z39.50 multiples sur une même machine

Pour mettre plusieurs serveurs sur une même machine, il est nécessaire de faire autant d’installation que de serveurs voulus et d’ouvrir autant de port que de serveurs installés

 

Contacts

 

 

IRD / US ESPACE (US 140)

500, rue Jean François Breton, 34093 Montpellier Cedex 05

TEL : +33 (0)4 67 54 87 02

J.C Desconnets jcd@teledetection.fr

 

Site du projet MDweb : www.mdweb-project.org

Démonstrateur en ligne : demo16.mdweb-project.org/