Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Architecture d'un logiciel en réseau [ Réseau & Internet / Client - Serveur ] (bradlemon)

mardi 10 juin 2008 à 11:17:03 | Architecture d'un logiciel en réseau

bradlemon

Bonjour à tous,

J'ai pour objectif de développer un logiciel de gestion pour un commerce.
Ce logiciel comprendra entre autre un module de caisse et un module de gestion du stock.
Sachant que plusieurs utilisateurs seront amenés à travailler simultanément sur ce logiciel
sur des postes différents et que chacun d'eux pourra utiliser l'ensemble des fonctionnalités du logiciel, ma question, en 3 partie, est la suivante :

1. vaut-il mieux :
    A. installer le logiciel sur chaque poste ( et partager la base de données qui sera sur l'un d'eux ou sur un serveur)
    B. installer le logiciel uniquement sur un seul poste et créer un lien vers celui-ci depuis les autres postes ?

2. Y'a-t-il une autre solution ?
3. Quelles sont les contraintes de chacune d'elles ?



Pour info, je compte utiliser le langage C# et une bdd firebird.

D'avance merci pour vos réponses.
Brad.

mardi 10 juin 2008 à 12:21:16 | Re : Architecture d'un logiciel en réseau

Nikoui

Réponse acceptée !
Bonjour,

A quoi penses-tu exactement dans la solution "B" quand tu parles de 'lien" vers ton application ?

En fait, dans ton cas, j'opterai pour la solution suivante :
- faire une architecture client/server -> mettre entre ton application (ton client) et ta base de données une autre application (le server). Seul le serveur accède à la base de données, et plusieurs clients dialoguent avec le serveur.
(tu peux aussi voir avec une architecture "n-tier", et remplacer le serveur par des "services" et rajouter d'autres couches d'abstraction, mais tu n'en pas nécessairement besoin...)

Même si la solution A est a priori envisageable, je te la déconseille, car a partir du moment ou plusieurs utilisateur accèdent à la même base de données, tu vas rencontrer les problèmes suivants :
- Modification simultanées d'une même information en base par plusieurs utilisateur (bon, normalement le base de données sait gérer ça)
- Plus globalement, problème de synchronisation entre le contenu de la base et ce que manipule l'utilisateur : imagine que 2 utilisateurs travaillent sur le même formulaire : si un utilisateur enregistre ses modifications, elles seront stockées en base de données, mais l'autre utilisateur continuera a travailler avec son formulaire, contenant les anciennes valeurs -> lorsqu'il enregistrera ses données, comment gérer le conflit ?

Le fait d'ajouter une couche entre la base de données et le client (c'est à dire rajouter un serveur) te permet de contrôler tout ça, et de valider ce que tu écris en base ou non. Par exemple, dans le cas précédent, le serveur peut déterminer qu'un utilisateur vient de modifier un formulaire, et "prévenir" (notifier) les autres utilisateurs de cette modification (ce que tu peux difficilement faire avec une base de données (même si ça reste techniquement faisable))

Par contre, une architecture client / server ammène un peu plus de complexité, notament dans la gestion des connexions entre clients et serveur, et encore plein d'autres choses :) Mais c'est quelque chose de classique donc les problèmes et les solutions sont bien connus...

Pour résumer, dans ton cas je regarderai du côté d'une architecture client server classique (3-tier), ou bien du côté d'une architecture n-tier, qui peut être aussi adaptée à ton problème.


Working as designed
www.nikoui.fr

mardi 10 juin 2008 à 13:07:17 | Re : Architecture d'un logiciel en réseau

bradlemon

Réponse acceptée !
Merci Nikoui pour ta réponse rapide et précise.

Concernant la solution B, je voulais en fait parler de raccourci vers le programme.

Le fait de rajouter une couche entre le client et la base permet en effet de maitriser d'avantage la cohérence au niveau des données, mais qu'en est-il du temps de réponse. Je tiens à ce que le caissier qui scanne son article ai une réponse instantanée (lorsqu'il récupère le prix de vente, le pourcentage de remise, le taux de tva, etc.). Le commerce en question est une supérette, les clients sont toujours pressés et peuvent être très nombreux à certaines heures...

mardi 10 juin 2008 à 14:01:17 | Re : Architecture d'un logiciel en réseau

Nikoui

Réponse acceptée !
Cette architecture ne te posera aucun problème de performance, surtout vu le contexte (a priori réseau dédié, et pas plus de quelques dizaines d'utilisateurs simultanés). De plus c'est vraiment une solution ultra classique pour ce genre de problématique, donc tu peux y aller les yeux fermés.

Attention par contre, c'est un peu plus complexe qu'une simple application qui va dialoguer directement avec une base de données, donc si tu débutes dans le domaine prévois du temps pour soigner le design et bien comprendre les tenants et les aboutissants.


Working as designed
www.nikoui.fr

mardi 10 juin 2008 à 14:35:53 | Re : Architecture d'un logiciel en réseau

bradlemon

Merci pour toutes ces infos Nikoui. Je vais de ce pas me plonger dans les bouquins et les forums d'architecture client / serveur.

@+,
Brad

mercredi 11 juin 2008 à 00:28:06 | Re : Architecture d'un logiciel en réseau

impsaid

Bonjour,
   
    Avec ClickOnce, l'installation et le lancement d'application se réalise en un clic de souris depuis une page web ou un espace de partage réseau. Au delà de ça, ClickOne résout le problème de mise à jours et l'administration des machines clientes.

    Le déploiement ClickOnce permet de publier des applications Windows sur un serveur Web ou un partage de fichiers réseau afin de simplifier l'installation. Visual Studio assure une prise en charge complète de la publication et de la mise à jour d'applications déployées à l'aide de ClickOnce. Le déploiement ClickOnce est disponible pour les projets créés avec Visual Basic, Visual C# et Visual J#, mais pas avec Visual C++.





Cette discussion est classé dans : module, réseau, gestion, logiciel, architecture


Répondre à ce message

Sujets en rapport avec ce message

Cherche logiciel de gestion pharmacie [ par dr_sow ] je suis a la recherche d'un logiciel de gestion pharmacie gratuit (genre winpharm) - merci pour votre aide Gestion de stock [ par parmenion59 ] Boujour à tous, je suis un gros débutant en C# et pour le moment je m'interroge sur le meilleur moyen de créer un logiciel de gestion de stock.Le logi Gestion d'image [ par CBR900rry ] Bonjour,Je suis occupé de coder un logiciel de gestion sportive.Dans ce logiciel, il y a un partie explicative avec un grand nombre d'image..Lors du t gestion des licences uniques d'un logiciel téléchargé via le web [ par dadoutunisie ] bonjour à tous.je développe une application qui permet à un client de télécharger  une version démo d'un logiciel qui sous entend l'affectation d'une gestion de licences d'un logiciel vendu via le web [ par dadoutunisie ] salam.j'ai besoin d'une technique pour gérer l'affectation des licences d'un logiciel vendu via le web et que cette dernière soit en arrière  plan c'e graphe bayesien [ par dadidadidadi ] bonjour!je suis entrain de développer ,un éditeur d'un réseau bayésien , j'ai un problème lorsque  copier le graphe du réseau dans une autre fenêtre,v architecture n tier avec L2Q [ par Pilou93 ] Bonjour,j'essaye de créer mon application avec une architecture n tier, ma question est comment faîtes vous dans votre couche business pour manipuler developpement d'un systeme expert pour la gestion des intrusions [ par foued09 ] bonjour a tous,j'ai besoin d'un code source pour un systeme de detection des intrusions(IDS).merci d'avance Enregistrement de données [ par Jojo73450 ] Salut à vous tous !Je me réalise une appli relativement consécante dans laquelle j'ai besoin de réaliser l'enregistrement de donnée. Il y a le paramèt module authentification dotnetnuke [ par mido105 ] bonsoir,Je vien de développer un site dotnetnuke,je veux exploiter le module authentification déja offert par dotnetnuke pour prendre quelques informa


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.