vendredi 30 septembre 2011

Visual Studio LightSwitch 2011 : Simplicité et Productivité

Visual Studio LightSwitch 2011 est le dernier né en terme d'IDE proposé par Microsoft.
Ce module permet de créer des applications métiers orientées données à faible criticité en quelques clics de souris. LightSwitch permet de créer des applications Desktop, Web ou hébergées sur la plate forme Windows Azure simplement en spécifiant le type d'application dans les propriétés du projet.
LightSwitch propose de base la génération d'écrans automatique basé sur des sources de données de types table, vues ou procédures stockées ou encore tout flux de type RIA Services, mais aussi des fonctionnalités de base tel que l'export vers excel, l’implémentation de la logique CRUD qui sont réellement des points forts de l'IDE. Egalement, les écrans étant techniquement en Silverlight, il est plutôt simple d'étendre ces IHM en référençant des contrôles utilisateurs Silverlight.
Dans cet article, nous allons illustrer ci la création d'une application orientée données et voir comment il est simple d'utiliser des contrôles Silverlight en s'appuyant sur les extensions Silverlight.
Après avoir installé LightSwitch, on retrouve dans la liste des Templates projets de Visual Studio 2010, un modèle C# et un modèle VB.Net LightSwitch.
Ici, on crée un nouveau projet, on choisit le Template LightSwitch, on choisit le Template C# puis on valide
Le Template est généré et propose immédiatement via la page d'accueil de se connecter à une source de données, Cliquer sur le lien "Connect to External Data Source" dans le cadre de notre exemple :
Choisir l'option Database
dans les propriétés de connection, choisir l'instance SQL et la base de données cible, ici dans notre exemple, la base de données AdventureWorks.
Valider puis choisir les tables que l'on souhaite afficher et manipuler dans les écrans. Ici, on choisit des tables avec relation hiérarchique pour démontrer les possibilités de filtrage dynamique : Product, ProductSubCategory et ProductCategory

Puis à partir du dossier Screen, on ajoute un nouvel écran à l'aide de la commande contextuelle Add Screen , Choisir l'option List and Details Screen, puis ProductSubCategories dans la rubrique Screen Data et activer l'affichage des données de détail ainsi que les produits tel que montré ci dessous
Valider et Visual Studio LightSwitch génére automatiquement un écran adapté au template sur un layout hiérarchique modifiable. L'écran généré est un écran Silverlight avec affichage en mode OOB (Out of Browser) ou standard dans un navigateur Internet.
Le développement est terminé, il suffit simplement de presser la touche F5 pour lancer l'application et le résultat est réellement bluffant, l'écran proposé permet de filtre le catalogue produit en fonction des sous catégories et également d'ajouter, supprimer ou modifier des éléments du catalogue : la logique CRUD est complètement opérationnelle
Nous allons pouvoir multiplier facilement les écrans et constater que chaque écran ajouté est automatiquement pris en compte dans les menus graphiques, il est également possible de modifier simplement le Look & Feel via l'utilisation de Thèmes, Microsoft propose déjà le style Metro pour les Applications LightSwitch avec un look & feel Windows 8 avant l'heure.
Les écrans générés ci dessus sont entièrement généré par l'IDE, il peut en revanche être utile d'ajouter des controles graphiques ou autres aux écrans de l'application, ceci est tout à fait possible via les extensions Silverlight, permettant de créer des controles utilisateurs utilisables directement dans Visual Studio LightSwitch avec du DataBinding.
Dans notre exemple, nous allons rajouter une Zone de liste déroulante à notre écran. Pour cela, nous rajoutons un projet Silverlight Class Library à notre projet comme montré ci dessous :
Nous supprimons le fichier Class1.cs généré par le template et rajoutons un item Silverlight User Control
Cliquer le contrôle Combo Box sur la surface de Design XAML du contrôle utilisateur
Dans le panneau de code XAML, nous allons simplement rajouter les informations de Binding de ce controle. On notera le point spécifique de syntaxe Screen.QueryName permettant de se rattacher aux éléments de la Data Source configurée dans l'application LightSwitch.
Attention à la casse des queries, en cas d'erreur, la zone de liste ne sera pas peuplée.
Une fois le projet Silverlight compilé, on se positionne dans l'écran LightSwitch dans lequel on veut importer le User Control Silverlight et on appelle la commande Add Layout Item / Custom Control
La fenêtre Add Custom Control s'affiche et permet de référencer le projet Silverlight
puis de sélectionner le contrôle comme montré ci dessous
Le contrôle peut être déplacé dans le Layout par une simple opération de drag & drop
Presser la touche F5 pour relancer l'application et on constate que le contrôle est affiché correctement et peuplé avec les données de la Source de données, la sélection d'un catégorie via ce contrôle déclenche une opération de filtrage sur la liste des produits et ce sans une ligne de code!
On peut ensuite modifier le Layout par exemple en supprimant des éléments. Ici, on ne va conserver que la Combo box et la grille de produits
Le résultat final après implémentation
Cette article nous a permis de mettre en valeur le haut niveau de productivité et de simplicité apporté par LightSwitch pour la création d'applications simples orientées données.
Il est également possible de créer des applications très user friendly avec des layouts dynamiques basé sur le Databinding et des contrôles graphiques silverlight.
Il restera néanmoins à vérifier les temps de réponse dans le cadre d'utilisation de tables à forte volumétrie.
Pour tester la tenue à la charge, j'ai injecté 100 000 lignes dans une table Region à l'aide d'un plan de génération de données puis créé un écran de recherche sur cette table, le temps de chargement de l'écran (incluant la pagination) est de l'ordre de 5 à 10 secondes.
Clairement, la cible reste donc des applications non "Business Critical" avec peu de spécifique.

lundi 26 septembre 2011

Visual Studio 2010 et TFS Azure Service Preview

Microsoft a officiellement lancé TFS Azure Preview, pour obtenir un accès, il suffit d'en faire la demande à l'adresse suivante : TFS Preview
Ce service est prévu pour fonctionner nativement avec la future version de Visual Studio : VS 2011.
Il est en cependant possible de se connecter à ce service avec Visual Studio 2010, à condition d'installer la KB2581206 disponible à l'adresse suivante http://go.microsoft.com/fwlink/?LinkId=212065&clcid=0x409
Le prérequis à l'installation est Visual Studio 2010 avec le SP1
Ci dessous les étapes détaillées pour se connecter
Lancer l'installaiton de la KB

Une fois l'installation terminée, démarrer Visual Studio 2010 puis cliquer sur le bouton "Connect to Team Project" à partir de la fenêtre du Team Explorer, puis cliquer sur "Servers" puis "Add", entrer le nom de votre serveur : VotreNom.TfsPreview.com, cocher l'option htpps, après validation la fenêtre Sign In s'affiche, il simplement de se signer avec son Live ID puis cliquer sur Close
La fenêtre Connect to Team Project s'affiche, cliquer sur Connect
Vous pouvez alors créer un Team Project, et les artefacts projet apparaissent dans la fenêtre Team Explorer excepté les éléments de types Reports et Documents non disponibles dans la Preview
Bon développement dans le Cloud!

Visual Studio 2010 et TFS Azure Service Preview

Microsoft a officiellement lancé TFS Azure Preview, pour obtenir un accès, il suffit d'en faire la demande à l'adresse suivante : TFS Preview
Ce service est prévu pour fonctionner nativement avec la future version de Visual Studio : VS
2011.
Il est en revanche possible de se connecter à ce service avec Visual Studio 2010, à condition d'installer la KB2581206 à l'adresse suivante http://go.microsoft.com/fwlink/?LinkId=212065&clcid=0x409
Le prérequis à l'installation est Visual Studio 2010 avec le SP1
Ci dessous les étapes détaillées pour se connecter
Lancer l'installaiton de la KB

Une fois l'installation terminée, démarrer Visual Studio 2010 puis cliquer sur le bouton "Connect to Team Project" à partir de la fenêtre du Team Explorer, puis cliquer sur "Servers" puis "Add", entrer le nom de votre serveur : VotreNom.TfsPreview.com, cocher l'option htpps, après validation la fenêtre Sign In s'affiche, il simplement de se signer avec son Live ID puis cliquer sur Close
La fenêtre Connect to Team Project s'affiche, cliquer sur Connect
Vous pouvez alors créer un Team Project, et les artefacts projet apparaissent dans la fenêtre Team Explorer excepté les éléments de types Reports et Documents non disponible dans la Preview
Bon développements dans le Cloud!

Visual Studio 11 ALM Machine Virtuelle et hands-on-labs disponible!

Brian Keller a mis à disposition une machine virtuelle incluant tout le matériel nécessaire pour découvrir les nouvelles fonctionnalités apportées par le prochaine version de la plate forme ALM de Microsoft.Visual Studio 11 Application Lifecycle Management
Attention, la machine virtuelle fournie est de type HyperV et nécessite de préférence un host Windows 2008 x64 (R2 SP1 recommandé).
Des Hands on Labs permettent via des scénario précis de découvrir ces fonctionalités sous forme d'exercices.
Les éléments suivants constituent l'installation de la machine virtuelle :
  • Microsoft Windows Server 2008 R2 Standard Edition
  • Microsoft SQL Server 2008 R2
  • Microsoft Visual Studio 11 Ultimate Developer Preview
  • Microsoft Team Foundation Server 11 Developer Preview
  • Microsoft SharePoint Foundation 2010
  • Microsoft Project 2010
  • Microsoft Office Professional 2010 (Word, PowerPoint, Excel)

6 Hands on Labs sont fournis et permettent d'aborder les éléments suivants :

L'ensemble de ce contenu est disponible à l'adresse suivante avec les informations nécessaires pour le téléchargement et la mise en oeuvre : http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx
L'utilisation de Free Download Manager est fortement conseillé pour ce téléchargement