Skip to main content

                   

Coach SQL Server 2008 : Déterminer les services de la couche d’accès aux données

L’objectif de ce tutorial est d’accompagner les développeurs qui souhaitent réaliser une première application d’accès aux données en utilisant les outils de la gamme Microsoft Express, à savoir :

  • SQL Server 2008 Express
  • et la famille Visual Studio 2008 Express Edition (Visual Basic, Visual C# et Visual Web Developer).

A la fin de cet atelier, vous saurez comment :

  • Créer une procédure stockée
  • Utiliser une procédure stockée avec ADO.NET et LINQ-to-SQL
  • Créer un service WCF et l'exposer.

Le cahier d’exercice et la solution de cet atelier sont disponibles en téléchargement gratuit.

                   

1      Introduction

1.1    Contexte du tutorial

L’objectif de ce tutorial est d’accompagner les développeurs qui souhaitent réaliser une première application d’accès aux données en utilisant les outils de la gamme Microsoft Express, à savoir :

  • SQL Server 2008 Express
  • et la famille Visual Studio 2008 Express Edition (Visual Basic, Visual C# et Visual Web Developer).

1.2    Là où il est question de méthode…

Quelle va être notre intention dans ce nouvel atelier ;-) ?
Tout repose sur les scénarios utilisateurs que nous devons implémenter. Supposons qu'on nous demande d'implémenter les deux nouveaux scénarios suivant :

« Léa consulte les résultats de statistiques de ventes calculées par pays et/ou par catégorie. »
« Bob déploie l'application sur les postes client. Dans ce scénario l'intelligence métier doit être partagée par tous les utilisateurs quelque soit l'interface utilisée. »

Si on reconnait dans le premier un scénario fonctionnel proche de celui que nous avons implémenté dans les ateliers précédents, le second n'a pas en revanche de dimension « fonctionnelle ». Ca vous surprend ? Pourtant il a toutes les caractéristiques d'un scénario et il est surtout fondamental pour le développement de l'application. Donc il a toutes les raisons d'être...

Rappelons ce qu'est un scénario :
Les scénarios aident à définir tous les chemins uniques d'interaction avec l'application. Chaque scénario décrit les étapes qu'un personnage accomplit pour atteindre un objectif dans le système.
Bob est bien un personnage dont l'objectif est de déployer et maintenir l'application. Nous devons prendre en compte dans le développement son interaction avec le système.
 Qui est Bob exactement ?
A l'instar de « Léa », Bob est un personnage virtuel. En revanche, au lieu de représenter un groupe d'utilisateurs de l'application, il représente un groupe de personnes en charge des compétences de déploiement et de maintenance de celle-ci. Quoiqu'il en soit cela fait de lui quelqu'un susceptible d'interagir avec le système.

1.3    Contexte fonctionnel

Le scénario fonctionnel initial que nous avons réalisé a évolué. En réalité, les statistiques de vente que consulte Léa ne sont pas réellement sauvegardées. Elles sont évidemment calculées à la demande, et ce, en fonction de paramètres.
Cela donne : « Léa consulte les résultats de statistiques de ventes calculées par pays et/ou par catégorie. »

Léa peut vouloir retrouver par exemple toutes les ventes sur la France, ou toutes les ventes dans la catégorie « Art de vivre ».

Pour intégrer ce besoin, nous allons transformer les deux interfaces pour qu'elles intègrent la saisie de deux paramètres potentiels, le pays et la catégorie. Un bouton « Rechercher » permettra d'exécuter la recherche sur les paramètres fournis :

Interface WebInterface Windows

1.4    Contexte technique

Du point de vue technique, nous allons aborder deux nouvelles technologies :

  • La première consiste à utiliser un élément très usité des moteurs de base de données qu'on appelle les procédures stockées. L'objectif de cet atelier est d'en comprendre les concepts fondamentaux et d'en mesurer les avantages, en même temps que les inconvénients. Nous développerons l'approche T-SQL en même temps que l'approche LINQ.
  • La seconde est liée au scénario impliquant Bob. En effet, actuellement, telle qu'elle est conçue, notre application doit être déployée intégralement (c'est-à-dire couche de présentation et de données comprises) sur tous les futurs postes clients Windows. Pour les clients web, le déploiement est évidemment plus simple puisqu'il n'y en a pas...
    La question est comment faire pour centraliser toute l'intelligence de l'application sur un serveur, de façon à la partager entre les différents types de clients et simplifier ainsi le déploiement ?
    Dans l'atelier 2, nous avons déjà isolé les différents types de traitement de l'application dans plusieurs couches séparées : une couche de présentation et une couche d'accès aux données. Le challenge de cet atelier est maintenant d'exposer les services d'accès aux données à l'aide de Windows Communication Fondation (WCF) pour qu'ils soient partagés par tous les postes clients (couche de présentation).

 

A la fin de cet atelier, vous saurez comment :

  • Créer une procédure stockée
  • Utiliser une procédure stockée avec ADO.NET et LINQ-to-SQL
  • Créer un service WCF et l'exposer.


Si vous n'avez pas fait l'atelier 2, un projet équivalent de démarrage se trouve dans le répertoire ...\Atelier 3\Démarrage.


Attention à bien réajuster le chemin du fichier de base de données Kiosk.mdf dans la chaîne de connexion des fichiers de configuration des différents projets pour qu'il corresponde au chemin sur votre disque.


La solution de cet atelier est disponible dans le répertoire ..\Atelier 3\Solution.




Microsoft réalise une enquête en ligne pour comprendre votre opinion sur le site Web de. Si vous choisissez de participer, l’enquête en ligne vous sera présentée lorsque vous quitterez le site Web de.

Souhaitez-vous y participer ?