Bonjour, je développe actuellement un composant de geocoding pour une application de carthographie web.
Il permet de géocoder des données stockées dans une DB et de récupérer les coordonnées nécessaires pour un affichage sur une carte.
Par exemple, récupérer la position d'une rue en effectuant une recherche sur son nom.
Ce composant envoie à une servlet une target et le nom d'un fichier XML de configuration, la servlet parse ce fichier XML et exécute
une prepared Statement stockée dans ce fichier XML en remplaçant le '?' par la target.
Ex de fichier XML
Ensuite, la servlet renvoie les X et Y correspondants, vers le composant web et celui-ci zoom sur les coordonnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <info> <connection> <datasource>jdbc/pgsql</datasource> </connection> <SQL> <statement> SELECT X, Y, FROM street WHERE STREETNAME LIKE ? </statement> <xvalue>X</xvalue> <yvalue>Y</yvalue> </SQL> </info>
Vous me direz, "Pourquoi stocker la requête dans le fichier XML et ne pas la coder en JAVA?"
POur permettre d'effectuer n'importe quelle requête sans devoir modifier la servlet de traitement et ainsi permettre à un administrateur du composant
de créer lui-même ses recherches sans avoir la moindre notion de java.
J'ai implémenté ce composant et il fonctionne parfaitement mais quelques questions envahissent mon esprit
- Je n'ai encore jamais rencontré ce genre d'implémentation nulle part ailleurs.
Donc suis-je un précurseur ou alors un gars qui fait fausse route?
- Existe-t-il un autre moyen de stocker une requête SQL dans une source de donnée externe à JAVA et au SGBD, la récupérer en JAVA
et l'exécuter?
Désolé pour la tartine mais je voulais être clair au maximum.
Merci d'avance pour votre aide.
Partager