Bonjour bonjour !
Je suis en train de concevoir une petite application pour un projet professionnel, et je souhaiterais avoir des avis sur l'architecture générale du système.
Pour précision j'ai commencé à apprendre le Java il y a 2 mois, et avais fait un peu de JS avant, et n'y connais pas encore grand chose en SQL et SGBDR.
J'ai donc une application qui doit afficher une liste de clients avec des informations diverses (date, nom, prenom, email, etc...)
L'utilisateur peut créer de nouveaux clients dans l'applications, les éditer/supprimer, et la liste des clients est visible dans l'interface.
Pour cela j'utilise actuellement postgreSQL, en local.
(il est important que la BDD soit en locale, l'application doit être fonctionnelle même sans Internet)
Je vais plutot m'orienter vers HSQLDB d'ailleurs (les tutos que j'avais suivi utilisaient postgre)
La contrainte supplémentaire est qu'il doit etre possible d'alimenter la BDD depuis une page web.
Concrètement cela signifie que l'utilisateur peut se connecter sur le site (en cours de construction), aller sur une page dédiée, et ajouter de nouveaux clients.
Il n'est pas nécessaire qu'il puisse voir la liste des clients, ni les éditer / supprimer : c'est surtout pour qu'il puisse faire les ajouts à distance si nécessaire, et si sa connexion Internet lui permet.
Donc nous avons :
- 1 BDD en ligne, alimentée par la page du formulaire du site
- 1 BDD locale qui fonctionne avec l'application
et j'imaginais que la BDD locale puisse récupérer les données de la BDD en ligne si elle est connectée à Internet.
Donc mes questions :
- est-ce que cette "architecture" vous semble adaptée ? est-ce qu'il y a des solutions existantes pour ce type de problème que je ne connais pas ?
- pensez-vous qu'il risque d'y avoir des problèmes au niveau de la synchronisation des données ? Est-ce complexe à développer?
- je partais plutôt vers HSQLDB comme BDD, qu'en pensez vous ?
- comment faire cette "fusion" de BDD ?
Merci !
---- EDIT ----
D'ailleurs au niveau du fonctionnement, ce serait en fait l'application qui ferait des requêtes à la BDD en ligne à intervalle de temps régulier / action utilisateur, et qui ajouterait les éventuelles nouvelles données à sa BDD locale, ou il en possible de faire dialoguer les BDD entre elles ?
Partager