Aplicativo comum de exemplo do Windows Server AppFabric

Este aplicativo de exemplo consiste em um aplicativo cliente de exemplo para venda e um aplicativo de serviço para venda. Esse aplicativo de exemplo deve ser usado com outros exemplos do Windows Server AppFabric, como um aplicativo comum para ajudar a demonstrar os recursos do AppFabric exibidos nos exemplos.

O aplicativo de serviço para vendas modela um fluxo de trabalho simples para processamento do pedido, que pode aproveitar o suporte de persistência e acompanhamento oferecido pelo AppFabric. O aplicativo de serviço oferece um catálogo de itens para aplicativos clientes e simula o processamento de pedidos feitos por cada cliente.

Dica

Os exemplos são fornecidos apenas para fins educacionais. Eles não devem ser usados em um ambiente de produção e não foram testados em um ambiente de produção. A Microsoft não dá suporte técnico para esses exemplos.

O pacote de exemplos para AppFabric, que inclui o aplicativo de exemplo, pode ser baixado em https://go.microsoft.com/fwlink/?LinkId=169336.

Pré-requisitos

Esta amostra de aplicativo é voltada para os leitores que tiverem os seguintes níveis de experiência ou conhecimento:

  • Conhecimento básico dos Serviços de Informações da Internet (IIS)

  • Conhecimento básico sobre os aplicativos Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF)

  • Conhecimento básico do Windows PowerShell

  • Conhecimento básico sobre Microsoft SQL Server

Localização do exemplo e arquivos

Nome de Arquivo Descrição

OrderApplication.sln

Arquivo de solução para dois projetos

SaleClient

Pasta que contém os arquivos de projeto do Cliente de Vendas

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

Arquivos do projeto do Cliente de Vendas

OrderApplication

Pasta que contém os arquivos de projeto do Serviço de Vendas

CancelOrder.cs, CatalogInitializer.cs, CatalogTypes.cs, ProcessNewOrder.cs, SaleService.csproj, SaleService.xamlx, SaleServiceTracking.tp, ShippingProcessor.cs, web.config, AssemblyInfo.cs

Arquivos do projeto do Serviço de Vendas

Instalando o aplicativo de exemplo

  1. Inicie o Visual Studio 2010 com permissões administrativas e abra <samples>\SampleApplication\OrderApplication\OrderApplication.sln, em que <samples> é o caminho em que você instalou os exemplos do AppFabric. Quando você receber o prompt para criar o diretório virtual, clique em Sim.

    Dica

    Essas etapas demonstram como implantar e criar o Aplicativo de pedido com Visual Studio 2010 e configurar o pool de aplicativos padrão para usar com o serviço de vendas:

  2. Clique no menu Criar e depois clique em Criar solução. Verifique se os dois projetos foram criados sem erros na janela de resultado.

  3. Inicie o Gerenciador dos Serviços de Informações da Internet (IIS) clicando em Iniciar, Todos os Programas, Windows Server AppFabric e em Gerenciador dos Serviços de Informações da Internet (IIS).

  4. Expanda o nó do servidor na exibição em árvore à esquerda e depois clique em Pools de aplicativos.

  5. Clique com o botão direito em DefaultAppPool na lista de Pools de aplicativos e depois clique em Configurações Avançadas.

  6. Defina a Versão do .NET Framework como v4.0 usando a caixa de seleção suspensa e depois clique em OK.

Executando esse exemplo

  1. Execute o aplicativo cliente: <samples>\SampleApplication\ OrderApplication\SaleClient\bin\Debug\SaleClient.exe.

  2. O aplicativo emitirá uma solicitação ao serviço de vendas para enviar o catálogo de vendas diário. Dependendo do estado de execução do serviço, isso poderá levar cerca de dez segundos.

  3. Observe as informações de expiração para o catálogo retornado, que indica que o catálogo expirará em aproximadamente três minutos se um pedido não for feito. Altere a Quantidade de pedido de monitores de 24 polegadas para 2 e depois pressione a tecla TAB para atualizar o formulário de ordens. O Faturamento total agora deve ser US$ 531,98. Se o catálogo expirar, clique em Obter novo catálogo para solicitar um novo catálogo de vendas do serviço.

  4. Dentro de três minutos do recebimento do catálogo de vendas (o catálogo expira em três minutos), clique em Fazer pedido e certifique-se de que o status do pedido tenha sido alterado para Pedido recebido. A variável StatusText no fluxo de trabalho captura essa alteração do status. É possível configurar o aplicativo com um perfil de acompanhamento para acompanhar essa variável. O aplicativo Cliente de Vendas fará a chamada do fluxo de trabalho e mostrará que o pedido foi preenchido em um minuto. Depois de mais de um minuto, o pedido será enviado. É possível cancelar o pedido clicando em Cancelar pedido a qualquer momento antes de o pedido ser enviado, mas não cancele esse pedido.

  5. Clique com o botão direito no valor selecionado, na caixa de texto ID do pedido e clique em Copiar para copiar o ID do pedido para a área de transferência.

  6. Feche o aplicativo Cliente de Vendas. Enquanto não houver a necessidade de uma ação em um fluxo de trabalho com host, o fluxo de trabalho poderá ser persistido para escalabilidade. Nesse exemplo, o ID do pedido que você acabou de copiar é usado para correlacionar instâncias do fluxo de trabalho persistido com solicitações de clientes.

  7. Inicie uma nova instância do aplicativo cliente <samples>\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe.

  8. Clique com o botão direito dentro da caixa de texto Id do pedido e, em seguida, clique em Colar para colar o Id do pedido da área de transferência para a caixa de texto Id do pedido na parte inferior do formulário.

  9. Clique em Retornar OC. Isso deve retornar seu pedido ativo e apresentar seu status atual. O fluxo de trabalho simula o processamento de back-end de um pedido com atrasos. Após aproximadamente dois minutos, Status do pedido passará pelos seguintes status: Pedido Recebido, Pedido Atendido e Pedido Entregue. É possível configurar o host com o perfil de acompanhamento personalizado para acompanhar as alterações do status do pedido para emissão de relatórios personalizados. Enquanto esse pedido estiver sendo processado, você executará uma nova instância do aplicativo cliente de vendas para cancelar um pedido.

  10. Mova o aplicativo cliente de vendas que contém seu pedido feito para a direita de sua tela.

  11. Inicie uma nova instância do aplicativo cliente <samples>\SampleApplication \OrderApplication\SaleClient\bin\Debug\SaleClient.exe.

  12. Clique em Obter Catálogo de Vendas para receber um novo catálogo. Dependendo do estado de execução do serviço, isso poderá levar cerca de dez segundos.

  13. Quando o catálogo estiver preenchido no formulário, altere a Quantidade do Pedido de "Processador Quad Core 2,8 Ghz" para 20. Pressione a tecla TAB para atualizar o formulário de pedidos. O Faturamento total agora deve ser US$ 6.119,80.

  14. Clique em Fazer Pedido antes que o novo catálogo expire e verifique se o status do pedido muda para Pedido Recebido.

  15. Clique imediatamente em Cancelar Pedido antes que o pedido seja entregue e verifique se o status do pedido muda para Pedido Cancelado.

Remover o aplicativo da Web de Serviço de Vendas implantado

  1. Inicie o Gerenciador dos Serviços de Informações da Internet (IIS) clicando em Iniciar, Todos os Programas, Windows Server AppFabric e em Gerenciador dos Serviços de Informações da Internet (IIS).

  2. Expanda o nó do servidor no modo de exibição de árvore à esquerda. Expanda Sites e expanda Site Padrão.

  3. Clique no nó OrderApplication e depois pressione Remover.

  4. Clique em Sim para confirmar a remoção do aplicativo selecionado.

Demonstra

O aplicativo Serviço de Vendas foi criado usando o modelo de aplicativo de serviço de fluxo de trabalho WCF no Microsoft Visual Studio 2010. O catálogo fornecido pelo serviço de vendas foi desenvolvido para se assemelhar a uma execução de vendas em um jornal ou site. A venda está disponível apenas por tempo limitado. Depois que o aplicativo cliente com base em formulário solicita o catálogo de vendas, o usuário tem três minutos para fazer um pedido antes que o fluxo de trabalho faça com que o catálogo expire.

Quando o usuário faz um pedido, um ID de pedido é fornecido pelo serviço de vendas. Esse ID de pedido é usado para correlacionar instâncias de fluxo de trabalho persistidas com solicitações de clientes. A solicitação do cliente poderá reativar o fluxo de trabalho por meio da correlação para verificar o status de um pedido ou cancelar o pedido se ele não tiver sido entregue. Depois que um pedido for feito no serviço de vendas, seu status mudará de "Pedido Recebido" para "Pedido Atendido" em aproximadamente três minutos. Após aproximadamente mais três minutos, o status do pedido mudará para "Pedido Entregue".

Um perfil de acompanhamento de exemplo (SaleServiceTracking.tp) pode ser usado para habilitar o acompanhamento nas variáveis "StatusText" e "PurchaseTotal" no fluxo de trabalho. Isso permite que o serviço seja configurado para acompanhar informações relacionadas a essas variáveis em diferentes pontos no fluxo de trabalho. As seguintes informações são acompanhadas usando o perfil de acompanhamento fornecido nesse exemplo:

  • Catálogos expirados

  • Pedidos cancelados

  • Pedidos atendidos

  • Pedidos entregues Substituem esse texto

  • Total da compra associado aos pedidos entregues

Depois que as informações de acompanhamento forem registradas no banco de dados de acompanhamento, será possível criar um relatório de status dos dados acompanhados. Essas informações de acompanhamento devem ser usadas em outros exemplos.

  2011-12-05