Tme Le Select

Objectifs : Mettre en oeuvre un médiateur. Définir des adaptateurs textuels. Comprendre les interactions entre le médiateur et les adaptateurs. Implémenter un adaptateur de service web.

Documentation

Serveur Le Select

Préparation

Prérequis : votre environnement doit être configuré. Votre fichier /.bash_profile doit contenir la ligne

source /Infos/bd/oracle/config

^ commande ^ description
cd aller dans votre répertoire $HOME
tar zxvf $BD_TOOL/leselect-etu.tgz décompresser l'archive dans votre répertoire principal
cd leselect-etu aller dans votre répertoire de travail
source config-leselect configurer l'environnement de la fenêtre de terminal

Contrôler le serveur

Pour éteindre le serveur, se connecter sur le port 3334 au moyen d'un client telnet. source config-leselect make stop puis saisir la commande shutdown ** autre possibilité : killall java (supprime tous vos processus java)

Exercice 1 : Interroger le serveur leselect

Expliquer brièvement les étapes qui se déroulent jusqu'à l'obtention du résultat de la requête.

Exercice 2 : Adaptateur de fichiers textuels

On veut accéder aux données de la base TPCH depuis le médiateur. La base TPCH est ici constituée des 8 fichiers plats qui sont dans $LESELECT_HOME/examples/tpch.

Il y a 2 types d'adptateurs textuels selon le format d'une ligne de texte :

a) Configurer l'adaptateur de fichiers textuels pour lire des fichiers plats de la base TPCH. Pour cela, définir le fichier tpch.wd correspondant aux relations nation et region de la base TPCH.

b) Poser une requête affichant le nom du continent de chaque pays. D'après vous, qui traite la jointure et Nation et Region ? Est-ce le médiateur et/ou l'adaptateur ?


Nouveaux adaptateurs

Présentation

Nous présentons la méthode pour effectuer les exercices 3 et 4 ci-dessous.

On veut définir des adaptateurs avec de nouvelles fonctionnalités. Les nouveaux adaptateurs sont définis dans votre répertoire adapt.

Configurer le serveur

Si nécessaire, modifier la configuration du serveur leselect :

Réaliser l'adaptateur

Dans le répertoire adapt contenant les adaptateurs :

* Définir les classes du nouvel adaptateur (voir Test*.java). Ces classes sont dans le package adapt.

Tester l'adaptateur

Exemple: select * from /essai/T1
Cela affiche les tuples de la table T1 de l'adaptateur essai. Poser la requête au moyen de l'interface graphique ou par le programme Client1 (make ex1).

Exercice 3 : Adaptateur affichant une trace de l'exécution

Réaliser un adaptateur qui trace l'exécution d'une requête posée sur un fichier textuel. Afin de visualiser le dialogue entre le médiateur et un adaptateur, on veut afficher une ligne de trace chaque fois que le médiateur appelle l'adaptateur. Pour chaque appel, indiquer ce que répond l'adaptateur :

a) Consulter le package LeSelect.WrapperInterface pour comprendre le rôle des interfaces : A partir du point d'entrée !WrapperFactory?, quelles méthodes appeler pour obtenir les objets suivants ? :

b) Parmi les classes Test_* dans le répertoire adapt, quelles sont les classes à modifier ? Pour chaque classe quelles sont les méthodes à compléter ? Modifier en conséquence les fichiers Test_*.java. Les recompiler avec la commande

make compil

c) Modifier la requête pour traiter

La trace est-elle identique ? Qui parmi le médiateur et l'adaptateur traite les opérations de sélection et de projection ?

d) Modifier les classes de l'adaptateur essai pour qu'il trace les requêtes concernant les données nation et region de TPCH. Votre adaptateur de trace doit empaqueter l'adaptateur textuel tpch.wd défini précédemment. On veut réutiliser au maximum l'implémentation de l'adaptateur textuel fournie avec !LeSelect? (voir la classe !LeSelect?.Wrappers.Text.!TextWrapperFactory?). Quelles sont les méthodes pour lesquelles il est possible de déléguer le traitement à l'implémentation fournie ?

Exercie 4 : Adaptateur pour un service web

Réaliser un adaptateur pour accéder à Google à travers le schéma relationnel suivant :

Le médiateur reçoit une requête de la forme : R(M) = select url, titre from /google/Page where mot='M' . Le médiateur renvoie seulement les 10 premiers tuples du résultat. Utiliser le client googleAPI pour se connecter à Google. La clé d'accès à google est JIXBo3FQFHKoUk/9wkjJIufii9H6FDKY


Questions/réponses fréquentes

Documentation diverse


LesTme, Accueil