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

Dotnet Discussion :

[.NET][WEBSERVICES] Demande de conseils sur choix de méthodes accès BDD


Sujet :

Dotnet

  1. #1
    Membre du Club
    Profil pro
    csdcsdc
    Inscrit en
    Juin 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : csdcsdc

    Informations forums :
    Inscription : Juin 2004
    Messages : 83
    Points : 65
    Points
    65
    Par défaut [.NET][WEBSERVICES] Demande de conseils sur choix de méthodes accès BDD
    Bonjour,

    je dois développer une appli Windows Forms, des Webservices et une base de donnée.

    La question porte sur les choix des moyens d'accès à la BDD via les Webservices: actuellement, j'ai l'intention de créer une classe qui interfacera le client Forms aux webservices.

    Cette classe permettra d'accèder aux données depuis le client Forms avec des méthodes conventionnelles (recordsets et ses méthodes/propriétés). Cette classe transformera donc mes requetes en requetes de type XML obtenant des réponses du webservice sous forme xml.

    J'ai pourtant vaguement l'impression de réinventer la roue.

    Si quelqu'un peut me donner, si cela existe, des infos sur des technologies que je pourrais mettre en oeuvre afin d'arriver à ce résultat, ce serait cool.
    J'imagine que ce genre de service doit déjà exister au seing même de dotnet et/ou des technologies Microsoft.

    Merci pour toute info.

  2. #2
    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
    Tu peux effectivement créer un Web Service sur un serveur avec toute la partie accès aux données.
    Pour la partie client, il te faudra simplement "ajouter une référence web" en utilisant les outils de visual studio, cela va te générer un proxy côté client qui prendra en charge de manière transparente la sérialisation des objets pour les messages SOAP.
    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

  3. #3
    Membre du Club
    Profil pro
    csdcsdc
    Inscrit en
    Juin 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : csdcsdc

    Informations forums :
    Inscription : Juin 2004
    Messages : 83
    Points : 65
    Points
    65
    Par défaut Merci pour la réponse
    Merci.

    C'est bien ce que je fais. J'ai déjà créé un squelette de webservice. J'arrive à communiquer avec lui depuis mon appli Forms.

    La question portait plus sur le contenu des messages SOAP ou leur utilisation.

    Actuellement, ma requete est une string XML contenant le SQL et j'obtiens en réponse une string XML qui contient le resultat de ma requete sous forme structurée avec éventuellement des données connexes (record count, status)

    L'étape suivante est de passer à une classe qui interfacera le client Forms aux webservices en lui permettant de travailler "comme" avec une BDD "normale".

    En fait, j'ai l'impression que "tout le monde" a déjà du passer par là et même que Microsoft a du implémenter quelque chose dans le genre, d'ou ma question...

  4. #4
    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
    Le web service ne doit jamais prendre en paramètre du SQL, c'est une gigantesque faille de sécurité.
    Ton web service doit contenir des méthodes du genre GetCustomers(...), GetInvoices(...), etc, et renvoyer des listes d'objets. Le web service fait ensuite appel à des classes qui vont se charger d'exécuter le SQL.

    Par exemple (en C#), une méthode du web service :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [WebMethod]
    public Client[] GetClients(CritereRecherche criteres)
    {
        return ClientHelper.GetClients(criteres);
    }
    Le web service étant une couche de service (justement), il ne doit contenir aucun code fonctionnel.

    La classe ClientHelper est située idéalement dans une assembly A différente, et les objets commun au web service et à l'assembly A seront quand à eux dans une autre assembly B (pour éviter d'éventuels problèmes de dépendances circulaires).
    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

  5. #5
    Membre du Club
    Profil pro
    csdcsdc
    Inscrit en
    Juin 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : csdcsdc

    Informations forums :
    Inscription : Juin 2004
    Messages : 83
    Points : 65
    Points
    65
    Par défaut OK
    Merci,

    voilà, en quelques lignes des infos interessantes et assez évidentes après lecture. Une bonne piste pour démarrer.

    Je comptais utiliser le webservice comme un bète serveur de données alors qu'il permet de faire bien plus ; et coté client d'utiliser des clients plus légers...

    Si quelqu'un dispose d'un projet bien ficelé que je pourrais disséquer pour en apprendre plus, je suis preneur.

    Bonsoir à tous.

  6. #6
    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
    Pour le projet d'exemple, je n'ai rien qui ne fusse pas soumis à la propriété intellectuelle de ma société, mais tu as l'idée générale, tu peux déja commencer par essayer de mettre ça sur papier, en définissant que la partie métier sera dans une assembly, que la partie interface dans une autre, que les objets communs seront dans une troisième et que le web service appellera le métier, et qu'il sera appelé par l'interface.
    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

  7. #7
    Membre du Club
    Profil pro
    csdcsdc
    Inscrit en
    Juin 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : csdcsdc

    Informations forums :
    Inscription : Juin 2004
    Messages : 83
    Points : 65
    Points
    65
    Par défaut Merci pour ces infos.
    Merci pour cette approche on ne peu plus structurée.

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Demande de conseils sur choix d'un Master en CIF
    Par wxfrantz dans le forum Emploi
    Réponses: 1
    Dernier message: 14/01/2015, 18h54
  2. [VB.NET] Demande de conseil sur ADO.NET et SQL Server
    Par alexabcinformatique dans le forum Débuter
    Réponses: 4
    Dernier message: 10/05/2012, 10h28
  3. Demande de conseil sur le choix du langage
    Par abdo78 dans le forum Langages
    Réponses: 2
    Dernier message: 20/04/2011, 18h40
  4. [SGBD] demande de conseil sur script util (FPDF et mysql_insert_id)
    Par mangafan dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 12/10/2005, 00h57
  5. Conseil sur choix base de donnée "individuelle"
    Par Rica dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 12/05/2005, 13h16

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