Bonjour
Je développe un composant logiciel qui doit fournir un accès à une base contenant des données géo. Aujourd'hui on utilise postgreSql avec postgis, mais cela pourrait changer. J'essaie de mettre en place DButils et j'arrive à exécuter mes requetes sql et à récupérer mes résultats sous forme de beans, mais je galere un petit peu pour structurer et cloisonner tout ça dans le composant.
En gros je souhaite que le composant offre des services assez évolués, tout en pouvant être adapter à d'autres tables, bases, voire SGBD.
Je voudrais qu'en plus la logique du SGBD utilisé ne fasse pas tache d'huile (en gros éviter de retrouver du sql avec des fonctions postgis partout).
Si je donne un exemple ça sera peut-être plus clair. Mettons que j'ai une table piste cyclable avec les tuples suivants (id (clé), nom, localisation (polyligne de coordonnée géo) ) . Si mon composant fournit une méthode du type query (String sql, class<?> beanClass) j'ai une bonne expressivité mais je vais vite retrouver du sql partout. Si à contrario je fais une methode queryPisteCyclable(BoundingBox box, class<?> beanClass) j'isole d'avantage le sql mais je perds beaucoup en expressivité fonctionnelle.
Auriez vous un bouquin, un modèle d'archi ou une API qui aille dans cette direction? Dans mes recherches je ne parviens à trouver que des exemples très simples, ou alors des architectures n-tiers, mais qui ne détaillent que les communications entre les étages et pas assez le contenu de l'étage JDBC. Pour l'instant j'ai mis de coté les mappings O/R, parce que je ne vois pas comment exprimer les requetes géo réalisées par PostGIS ( récupérer les objets dans une bounding box, itinéraires, calculs de distance ou simplification)
Je ne sais pas si c'est le bon endroit pour poser cette question, mais ce sous-forum a l'air rempli de gens beaucoup plus compétents que moi en BDD/Java qui suit un peu noob sur ce sujet, donc je lirai toutes vos suggestions avec intêret
merci de m'avoir lu
Partager