Exemple d'application courante de Windows Server AppFabric
Cet exemple d'application inclut une application de client de vente et une application de service de vente. Cet exemple d'application est destiné à être utilisé avec les autres exemples de Windows Server AppFabric comme application commune pour montrer les fonctionnalités d'AppFabric présentées dans les exemples.
Cette application de service de vente crée un modèle de flux de travail unique pour le traitement des commandes, qui peut bénéficier de la prise en charge intégrée de la persistance et du suivi, fournie par AppFabric. L'application de service fournit un catalogue d'articles pour les applications clientes, puis simule le traitement des commandes placées par chaque client.
Notes
Les exemples sont fournis à titre éducatif uniquement. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft ne fournit aucune assistance technique pour ces exemples.
Le package contenant les exemples pour AppFabric, qui inclut l'exemple d'application, peut être téléchargé à l'adresse https://go.microsoft.com/fwlink/?LinkId=169336 (en anglais).
Conditions préalables
Cet exemple d'application est conçu pour les lecteurs possédant l'expérience ou les connaissances suivantes :
connaissances de base des services Internet (IIS) ;
connaissances de base des applications Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) ;
connaissances de base de Windows PowerShell ;
connaissances de base de Microsoft SQL Server.
Emplacement et fichiers de l'exemple d'application
Nom de fichier | Description |
---|---|
OrderApplication.sln |
Fichier de solution pour les deux projets |
SaleClient |
Dossier contenant les fichiers du projet Client de vente. |
App.config, OrderManager.cs, Program.cs, SaleClient.csproj, SaleClientForm.cs, SaleClientForm.Designer.cs, SaleClientForm.resx, AssemblyInfo.cs, Resources.Designer.cs, Resources.resx, Settings.Designer.cs, Settings.settings |
Fichiers du projet Client de vente |
OrderApplication |
Dossier contenant les fichiers du projet Service de vente. |
CancelOrder.cs, CatalogInitializer.cs, CatalogTypes.cs, ProcessNewOrder.cs, SaleService.csproj, SaleService.xamlx, SaleServiceTracking.tp, ShippingProcessor.cs, web.config, AssemblyInfo.cs |
Fichiers du projet Service de vente |
Configuration de l'exemple d'application
Démarrez Visual Studio 2010 avec les autorisations d'administration et ouvrez <samples>\SampleApplication\OrderApplication\OrderApplication.sln, où <samples> est le chemin d'accès aux exemples d'AppFabric. Lorsque vous êtes invité à créer le répertoire virtuel, cliquez sur Oui.
Notes
Les étapes suivantes illustrent le déploiement et la création de l'application de commande avec Visual Studio 2010, ainsi que la configuration du pool d'applications par défaut à utiliser avec le service de vente.
Dans le menu Générer, cliquez sur Générer la solution. Vérifiez que les deux projets sont correctement créés dans la fenêtre de sortie.
Démarrez le Gestionnaire des services Internet (IIS) en cliquant sur Démarrer, Tous les programmes, Windows Server AppFabric, puis Gestionnaire des services Internet (IIS).
Dans l'arborescence à gauche de la fenêtre, développez le nœud du serveur, puis cliquez sur Pool d'applications.
Dans la liste des pools d'applications, cliquez avec le bouton droit sur DefaultAppPool, puis cliquez sur Paramètres avancés.
Définissez le champ Version du .NET Framework sur l'option v4.0 à l'aide de la liste déroulante, puis cliquez sur OK.
Exécution de l'exemple
Exécutez l'application cliente : <samples>\SampleApplication\ OrderApplication\SaleClient\bin\Debug\SaleClient.exe.
L'application basée sur des formulaires émet une demande vers le Service de vente pour envoyer le catalogue des ventes quotidiennes. Cela peut durer environ dix secondes, selon l'état d'exécution du service.
Remarquez que les informations d'expiration du catalogue renvoyé indiquent que le catalogue expire dans environ trois minutes si aucune commande n'est placée. Définissez la quantité (Order Quantity) de moniteurs 24 pouces sur 2, puis appuyez sur la touche Tabulation pour mettre à jour le formulaire de commande. Billing Total doit être défini sur 531,98 $. Si le catalogue expire, vous pouvez cliquer sur Get New Catalog pour demander un nouveau catalogue de ventes au service.
Durant les trois minutes suivant la réception du catalogue de ventes (qui expire après cette durée), cliquez sur Place Order et vérifiez que l'état de la commande est défini sur Order Received. La variable StatusText du flux de travail capture cette modification d'état. Vous pouvez configurer l'application avec un modèle de suivi pour suivre cette variable. L'application Client de vente va interroger le flux de travail et montrer que la commande a été traitée en une minute. Une minute plus tard, la commande est expédiée. Bien que vous puissiez annuler la commande en cliquant sur Cancel Order à tout moment avant son expédition, ne l'annulez pas.
Cliquez avec le bouton droit sur la valeur sélectionnée dans la zone de texte Order Id, puis cliquez sur Copier pour copier l'ID de la commande dans le Presse-papiers.
Fermez l'application Client de vente. Bien qu'aucune action particulière ne soit requise dans un flux de travail hébergé, le flux de travail peut être rendu persistant à des fins d'évolutivité. Dans cet exemple, l'ID de la commande que vous venez de copier permet de corréler les instances de flux de travail persistantes avec les demandes du client.
Démarrez une nouvelle instance de l'application cliente <samples>\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe.
Cliquez avec le bouton droit à l'intérieur de la zone de texte Order Id, puis cliquez sur Coller pour coller l'ID de la commande du Presse-papiers dans la zone de texte Order Id, en bas du formulaire.
Cliquez sur Recall PO. Cette action rappelle votre commande en cours et présente son état actuel. Le flux de travail simule le traitement principal d'une commande avec des retards. Après environ deux minutes, Order Status est défini successivement sur les états suivants : Order Received, Order Filled et Order Shipped. Vous pouvez configurer l'hôte avec le modèle de suivi personnalisé pour suivre les modifications d'état de la commande à des fins de génération de rapport personnalisé. Pendant le traitement de cette commande, démarrez une nouvelle instance de l'application Client de vente pour annuler une commande.
Déplacez vers la droite de votre écran l'application Client de vente contenant les commandes que vous avez placées.
Démarrez une nouvelle instance de l'application cliente <samples>\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe.
Pour recevoir un nouveau catalogue, cliquez sur Get Sale Catalog. Cela peut durer environ dix secondes, selon l'état d'exécution du service.
Lorsque le catalogue des ventes est renseigné dans le formulaire, définissez la quantité (Order Quantity) de « processeurs 2,8 Ghz Quadruple noyau » sur 20. Appuyez sur la touche Tabulation pour mettre à jour le formulaire de commande. Billing Total doit être défini sur 6 119,80 $.
Cliquez sur Place Order avant l'expiration du nouveau catalogue, puis vérifiez que l'état de la commande est désormais Order Received.
Cliquez immédiatement sur Cancel Order avant l'expédition de la commande, puis vérifiez que l'état de la commande est défini sur Order Canceled.
Suppression de l'application Web Service de vente déployée
Démarrez le Gestionnaire des services Internet (IIS) en cliquant sur Démarrer, Tous les programmes, Windows Server AppFabric, puis Gestionnaire des services Internet (IIS).
Dans l'arborescence à gauche de la fenêtre, développez le nœud du serveur. Développez Sites, puis Site Web par défaut.
Cliquez sur le nœud OrderApplication, puis appuyez sur Supprimer.
Cliquez sur Oui pour confirmer la suppression de l'application sélectionnée.
Démontre
L'application Service de vente a été conçue à l'aide du modèle d'application de service de flux de travail WCF. Le catalogue fourni par le service de vente ressemble à un appel d'offre figurant dans un journal ou sur un site Web. La vente est disponible pendant une durée limitée. Une fois que l'application cliente basée sur des formulaires a demandé le catalogue des ventes, l'utilisateur dispose de trois minutes pour placer une commande avant que le flux de travail entraîne l'expiration du catalogue.
Quand l'utilisateur place une commande, un ID de commande est fourni par le Service de vente. Celui-ci permet de corréler des instances de flux de travail persistantes avec les demandes du client. La demande du client peut réactiver le flux de travail par le biais d'une corrélation pour vérifier l'état d'une commande ou annuler celle-ci si elle n'a pas été expédiée. Une fois la commande placée auprès du Service de vente, son état passe de « Order Received » à « Order Filled » en trois minutes environ. Trois minutes plus tard, l'état de la commande devient « Order Shipped ».
Vous pouvez utiliser un exemple de modèle de suivi (SaleServiceTracking.tp) pour activer le suivi sur les variables « StatusText » et « PurchaseTotal » dans le flux de travail. Cela permet de configurer le service pour qu'il suive, à différents points du flux de travail, les informations liées à ces variables. Les informations suivantes sont suivies à l'aide du modèle de suivi fourni dans cet exemple :
Catalogues expirés
Commandes annulées
Commandes traitées
Commandes expédiées
Total des achats associés avec les commandes expédiées
Après l'enregistrement des informations de suivi dans la base de données de suivi, vous pouvez générer un rapport d'état à partir des données suivies. Ces informations de suivi sont destinées à être utilisées dans les autres exemples.
2011-12-05