Exemple d'applications métier avec Silverlight 3.0 et .NET RIA Services - Partie 23 - Azure

| Brad Abrams | Philippe Vialatte (Traduction) |

Cet article fait partie d'une série de traductions d'articles de Brad Abrams sur le développement d'applications métier avec Silverlight et .NET RIA Services.

Retrouvez l'ensemble des articles de la série sur cette page : Exemple d'application métier pour Silverlight 3 et .NET RIA Services.

Commentez cet article : Commentez . ♪

- Titre : Exemple d'applications métier avec Silverlight 3.0 et .NET RIA Services - Partie 23 - Azure

- Auteurs : Brad Abrams, Philippe Vialatte (Traduction)

- Parution : 9 janvier 2012

- Mise à jour : 9 janvier 2012

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2011 VIALATTE, Philippe. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.

Sommaire

- I. Introduction

- II. Mise en place de SQL Azure

- III. Mise en place de Windows Azure

- IV. Mise en place du projet

- V. Mise en place du service

- VI. Déploiement sur le Cloud

- VII. Conclusion

- VIII. Remerciements

I - Introduction

Je continue à mettre à jour ma démo du Mix 09 sur Silverlight 3 + RIA Services avec encore plus de trucs fun. Azure représente une tendance générale dans l'industrie vers un modèle Cloud Computing.

Autant j'aime la phase de développement de projets, autant le côté opérationnel est souvent la partie du coût la plus importante.

Avec des économies d'échelle, le Cloud Computing a le potentiel de réduire considérablement ces coûts.

Dans cet exemple, je me suis servi de Windows Azure afin d'héberger la partie Web de l'application et de SQL Azure pour héberger les données. Ce sont réellement des décisions indépendantes. Vous pouvez décider d'utiliser l'un et pas l'autre.

Vous pouvez voir la série complète ici.

Cette démo nécessite les éléments suivants (tout est 100 % gratuit) :

- VS2008 SP1 ;

- Silverlight 3 RTM ;

- .NET RIA Services ;

- Windows Azure Tools for Microsoft Visual Studio July 2009 CTP ;

- Un compte Windows Azure ;

- Un compte SQL Azure.

Consultez le site en ligne (bien sûr, hébergé sur Azure). De plus, téléchargez les fichiers démo complète.

Donc dans cet exemple, je vais déplacer les données depuis un SQL Server local vers SQL Azure, et déplacer le code de l'application depuis mon propre serveur Web vers Windows Azure. Le principal client reste Silverlight.

II - Mise en place de SQL Azure

Une fois que vous avez un compte SQL Azure, vous pouvez aller à http://sql.azure.com et ajouter une nouvelle base de données, en cliquant simplement sur Add New Database.

Ensuite, vous obtenez une chaîne de connexion.

Ensuite, vous devez remplir la base de données. Si vous avez une base de données existante, la meilleure façon de le faire est probablement d'utiliser SQL Server Management Studio pour générer un script SQL, puis d'utiliser ADO.NET pour exécuter ce script sur cette base de données SQL Azure.

Mais sans raison valable, j'ai écrit un peu de code ADO.NET très simple pour lire les données de ma base de données locale et l'insérer dans la base SQL Azure. Vous pouvez le trouver dans la page Default.aspx.cs si vous voulez y jeter un œil.

III - Mise en place de Windows Azure

Voilà qui établit notre base de données dans le nuage, maintenant nous allons créer un espace d'hébergement pour que notre application web puisse fonctionner. Une fois que vous avez un compte Windows Azure, vous pouvez aller configurer votre service. Allez pour cela sur http://windows.azure.com, et ajoutez un nouveau service.

Sélectionnez « Hosted Service ».

IV - Mise en place du projet

Démarrez Visual Studio en tant qu'administrateur. Le support du «nuage local » nécessite ce niveau de droits.

Ensuite, créez un nouveau Service Cloud.

Dans cet exemple, tout ce dont nous avons besoin est d'un Web Role.

J'ai renommé « WebRole1 » en MyApp.Web, pour rester cohérent avec les exemples précédents.

Appuyer sur F5 démarre le «nuage local» et y exécute l'application.

V - Mise en place du service

Maintenant, nous allons commencer à construire l'application. Nous allons d'abord construire la couche de données. J'ai déjà un modèle Linq2SQL d'un précèdent, que j'ai simplement copié.

J'ai juste modifié quelques-uns des types de données pour correspondre à ce que j'ai chargé dans Azure. Entity Framework aurait aussi bien pu être utilisé.

Puis j'ai changé la chaîne de connexion dans le fichier Web.config pour correspondre aux chaînes de connexion de la base de données SQL Azure.

<add name="NORTHWNDConnectionString" connectionString="Server=tcp:jyfmd9f7te.ctp.database.windows.net;Database=northwind;User ID=[add userid];Password=[add password];Trusted_Connection=False;"
providerName="System.Data.SqlClient" />

Maintenant, tout se passe comme dans le tutoriel d'origine.

Création du service :

On écrit un peu de code dedans :

public IQueryable<SuperEmployee> GetSuperEmployees()
{
return this.Context.SuperEmployees
.Where(emp => Convert.ToInt32(emp.Issues) > 100)
.OrderBy(emp => emp.EmployeeID);
}

public void InsertSuperEmployee(SuperEmployee superEmployee)
{
this.Context.SuperEmployees.InsertOnSubmit(superEmployee);
}

public void UpdateSuperEmployee(SuperEmployee currentSuperEmployee)
{
this.Context.SuperEmployees.Attach(currentSuperEmployee, this.ChangeSet.GetOriginal(currentSuperEmployee));
}

Maintenant, nous allons ajouter un projet Silverlight :

Puis l'associer au projet Myapp.Web, et activer RIA Services.

Maintenant vous pouvez simplement réutiliser le client Silverlight que nous avons construit auparavant.

Vous obtenez le tri, la pagination, le filtrage, l'édition validés, sans aucun code de plomberie et hébergés dans les nuages !

VI - Déploiement sur le Cloud

Maintenant que nous avons terminé notre application, nous allons la déployer sur le nuage.

Nous devons d'abord créer le package de déploiement. Pour ce faire, faites un clic droit sur le projet MyApp.CloudService et sélectionnez Publier.

Le répertoire de publication sera ouvert dans l'explorateur avec votre package de déploiement d'application et un fichier de paramètres à part.

Le package de déploiement est juste un fichier zip qui contient le xap silverlight ainsi que le code et les ressources nécessaires pour l'exécuter sur le serveur. Le fichier de paramètres contient des informations nécessaires à Azure, comme le nombre de serveurs frontaux que vous voulez créer, etc.

Maintenant, retournez à http://windows.azure.com et sélectionnez le projet que nous avons créé plus tôt.

Il y a deux environnements pour déployer votre application : Staging et Production.

L'idée est que vous pouvez faire des tests dans l'environnement réel avant de mettre votre site en accès public.

Sélectionnez Upload pour ajouter votre projet à l'environnement Staging.

Sélectionnez Deploy.

Puis sélectionnez le package et le fichier de paramètres, et donnez un label de déploiement pour nous aider à garder la trace des mouvements entre staging et production.

Puis cliquez sur Exécuter pour démarrer l'instance.

Le site web va afficher « initialisation … » pendant quelques minutes.

Enfin, quand il affiche « started », vous pouvez démarrer l'application en cliquant sur le lien fourni :

Enfin, échangez les deux environnements, et vous êtes en production !

Et c'est tout!

VII - Conclusion

Dans cette section, nous avons parlé de la façon de déployer votre application RIA Services dans le nuage en utilisant SQL Azure pour les données et Windows Azure pour la couche web. Vous pouvez mélanger et assortir ces éléments comme vous voulez.

Aussi, consultez l'exemple de Nikhil sur Azure, il utilise Windows Azure Table Storage, ce qui est très cool aussi.

Cet article conclut la partie sur l'utilisation de RIA Services avec Azure. La vingt-quatrième partie de cette série d'articles sera consacrée à l'utilisation des procédures stockées pour récupérer les données.

VIII - Remerciements

Je tiens ici à remercier Brad Abrams pour son aimable autorisation de traduire l'article.
Je remercie également ClaudeLELOUP pour sa relecture et ses propositions.