IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Mode connecté vs mode déconnecté. Que choisir ?


Sujet :

C#

  1. #1
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut Mode connecté vs mode déconnecté. Que choisir ?
    En .Net, il y a en général deux modes de connexion : mode connecté et mode déconnecté.
    Pour un projet winform avec une base de données (mysql ou SQL Server), quels sont les facteurs qui doivent déterminer le choix du mode de connexion à utiliser ?
    Dans quels cas faut-il utiliser l'un ou l'autre ? quels sont leurs avantages et inconvénients ?
    Merci d'avance pour vos apports.
    N'oubliez pas le tag et

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    cela va dépendre de plain de choses entre autres : ta strategie de deploiement (donc l'emplacement de tes differents composants), des scenarios d'utilisation de ton application (et de son architecture),...

    Je peut pas te conseiller un mode en particulier...

    En gros, tu peux comparer ces modes à des appels synchrones / asynchrone.
    Pour les details, cherche tout seul !

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Quelles sont les caractéristiques et contraintes de ton système ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Quelles sont les caractéristiques et contraintes de ton système ?
    Mon application C# se connecte à une base de données mysql. Pendant toute la journée de travail (de 7h30 à 16h30) 5 caissiers, 2 laboratins, 1 magasinier, 1 administrateur et 1 superviseur seront en permanance connectés à la BD. Puis après fermeture des caisses, des états seront imprimés.
    N'oubliez pas le tag et

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Je pencherais pour de l'O/RM dans les traitements standards.
    Pour ce qui est de la consultation pure, sans interaction, tu peux renvoyer des datatables pour ne renvoyer que les données nécessaires.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Je pencherais pour de l'O/RM dans les traitements standards.
    Peux-tu être un peu plus explicite ? Je ne suis pas sûr d'avoir bien compris ta suggestion. Merci
    N'oubliez pas le tag et

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    En général, le mode deconnecté est conseillé pour les grands cas d'utilisation, telsque les bases de données des banques. Ces sociétés utilisent des bases de données reparties et la connection à travers la base de données centrale et les autres autres bases de données est generalement couteuse, puisqu'elle passent generalement par des sociétés privées.
    Pour minimiser les couts, le mode deconnecté est conseillé ( travailler sur le dataset, et a la fin une mise a jour).
    Mais pour ton cas (les petites applications) je pense que le probleme ne se pose pas, tu peux soit utiliser l'un, soit utiliser l'autre.
    Personnellement, je te conseille le mode connecté, pour eviter les "updateCommand" qui est souvent la bete noite...
    regales toi

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    je m'incruste, comment vous faites du mode connecté en .NET ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    je m'incruste, comment vous faites du mode connecté en .NET ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataReader et compagnie
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    le datareader n'est pas déconnecté ??
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Mode déconnecté = DataSet = Conteneur de données image exacte de la source, tu travailles sur la copie déconnectée et tu synchronise après.

    Mode connecté = DataReader = tu n'as pas de copie locale des données (même si tu fais de l'O/RM), et tu dois travailler directement sur la source de données.
    Les objets que tu peux générer avec de l'O/RM à partir des données de la source ne sont pas considérés comme une copie locale des données. Conceptuellement, il s'agit d'une représentation spécifique non liée à la source.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  12. #12
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2002
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2002
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Je dirais que cela dépend de la nature de ton application :
    - cette appli effectue-t-elle principalement des traitements de données (ex : affichage de listes, renseignement de champs sur des fiches, etc.) ou fera-t-elle des calculs (ex : bcp de règles de gestion ou d'algo) ?
    - les données sont-elles privées, propre à chaque utilisateur (ex : je remplis ma fiche et je l'enregistre) ou sont-elles partagées entre tous les utilisateurs (ex : accès concurrent aux mêmes données) ?
    - quelle réactivité souhaites-tu ? Le superviseur doit-il visionner en temps réel l'activité ou les états imprimés la nuit suffisent-ils ?
    - etc.

    Ces considérations t'aideront à déterminer si ton application peut être :
    - un client lourd : chaque client manipule directement les données
    - un système distribué : chaque client manipule des objets fournis par un serveur d'appli qui se charge de manipuler les données de manière centralisée (une seule connexion).

    Je dirais que "connecté" ou "déconnecté" ne sont pas nécessairement les bons termes de l'équation. Car si tu optes pour une appli distribuée, la couche données sera forcément centralisée. Dès lors, cette couche d'accès aux données se débrouillera avec sa connexion à la base sans que cela ne concerne les autres composants de l'application. Par contre, si tu optes pour un client lourd, pourquoi t'embêter à te déconnecter de la base ?

Discussions similaires

  1. Mode connecté ou mode déconnecté ?
    Par sebnantes dans le forum VB.NET
    Réponses: 26
    Dernier message: 12/03/2010, 10h56
  2. Que choisir pour un debutant sous linux mode serveur
    Par Malbaré dans le forum Linux
    Réponses: 12
    Dernier message: 18/12/2009, 19h21
  3. Réponses: 2
    Dernier message: 08/01/2008, 06h07
  4. Réponses: 4
    Dernier message: 11/05/2006, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo