Bonjour à tous et à toutes
Je souhaite développer en java une application de gestion d'une pharmacie mais j'ai l'embarras de choix entre une application Web et une application standalone.
J'aimerais avoir vos conseil sur le sujet. Merci d'avance
Version imprimable
Bonjour à tous et à toutes
Je souhaite développer en java une application de gestion d'une pharmacie mais j'ai l'embarras de choix entre une application Web et une application standalone.
J'aimerais avoir vos conseil sur le sujet. Merci d'avance
:salut:
J'ai tendance à privilégier les solution web pour les application de gestion, mais ça va du besoin et éventuellement de l'infrastructure à disposition.
Si ta pharmacie ne dispose que d'un seul ordinateur, la mise en place d'une infrastructure avec un serveur risque d'être extrêmement coûteuse pour pas gros chose.
Si par contre, la pharmacie a accès à un serveur, c'est jouable. Si tu as plusieurs ordinateurs qui doivent avoir accès aux données, tu seras contraint d'avoir une base centralisée, dans ce cas autant partir sur du tout web.
Enfin, en temps que développeur, je dirais que ta mission n'est pas de choisir la solution mais de proposer un panel avec leurs points positifs et négatifs (en gros accessibilité/évolution vs coûts).
Merci beaucoup pour le conseil
Le choix devrait ce faire sur la base de ce que tu maîtrises, de l'IHM voulu, du nombre d'utilisateurs, de l'intérêt d'y accéder à distance etc...
Par ailleurs, techniquement, on peut aussi utiliser une application centrale pour la couche d'accès aux données et des clients java standalone pour l'IHM.
On a en gros un bon vieux client/serveur avec des EJB côté serveur et une application JavaFx (par exemple) pour l'IHM.
On peut aussi se contenter de requête JDBC dans la couche IHM... mais attention aux temps de traitement si le réseau est lent :aie:
Justement mon application comporte une vingtaine de table avec deux utilisateurs.
Dès le départ je comptais utiliser une architecture client/serveur:
- IHM en angular
- partie serveur en Java spring
Mais la pharmacie ne dispose pas de serveur
Rien n'empêche d'utiliser un PC pour faire tourner un serveur d'application ou un serveur de base de données du moment que l'autre PC est sur le même réseau.
Au boulot, j'utilise bien mon PC pour faire du développement, tourner le serveur d'application et tester sur le navigateur... et rien n'empêche les collègues de lancer l'IHM web depuis leur poste.
Donc si je comprend bien je devrais installer mon serveur d'application et et de base de données dans l'une des machine et l'autre peut tout simplement s'y connecter et lancer les IHM. je me demande si ceci ne pourras pas être un handicap pour mon système vu que l'un des utilisateur sera complètement dépendant de l'autre et aussi s'il arrive que cette machine est défectueuse es données sont fichus :?
C'est sûr que la dépendance est forte, mais dans tous les cas, il y a besoin d'une machine isolée et partagée pour faire office de serveur si tu veux partager des éléments entre plusieurs utilisateurs.
Sinon, chacun a sa copie de base de données et là, je ne vois pas trop l'intérêt d'une architecture client/serveur.
merci beaucoup pour le conseil :mrgreen:
du point de vu de la dependance des donnees la copie des donnees dans les deux postes me semble abordable mais j'aimerais avoir votre avis sur le sujet
Non pas que ce soit impossible, quel intérêt d'avoir 2 applications isolées et synchroniser les bases de données ?
En fonction de la structure de la base, ça peut être plus ou moins compliqué à faire, si par exemple des séquences sont utilisées en clé primaire, c'est presque impossible à faire sans passer par une table de correspondance entre l'ID source et l'ID cible (et réciproquement), si on n'utilise pas de séquence, c'est qu'on saisit soit même la clé et elle est sensée être unique entre les 2 machines. Si ce n'est pas le cas, comment faire la synchro sans modifier cette valeur d'un côté ou de l'autre ?...
Bref, à mon avis, très mauvaise idée... :aie:
Deux applications qui doivent se synchroniser dans le cadre d'une application de gestion (de stock ?) me semble être très compliqué. Les machines devront se synchroniser à minima chaque jour.
Imaginons le cas suivant :
Jour 1
L'utilisateur 1 fais des entrées/sorties de stock (il reçoit et vend des médicaments dans sa journée).
L'utilisateur 2 est absent.
Jour 2
L'utilisateur 1 est absent
L'utilisateur 2 veut faire ses entrées/sorties
Les stocks vont être complètement décalés. Pire encore si il s'agit de congés d'une semaine en alternance.
Pour moi, la meilleur solution est une solution client/serveur (avec une préférence pour une solution web car plus facile à déployer).
Après tu as 2 solutions :
- un serveur dédié mais qui a un coup (pas excessif non plus, un bête PC de récup suffit).
- une des machines déjà présente fait office de serveur. Par contre, il faut s'assurer que les utilisateurs n'éteignent jamais cette machine. En cas contraire (redémarrage forcé de windaube, fermeture durant les congés...), il faut être sûr que le serveur redémarre. En plus de ça, il y a un risque plus important liés aux virus.
Je suis maintenant fixé :D merci pour vos conseils ils ont été très riches et dorénavant en fonction du projet je saurais quel architecture utiliser et pourquoi