Recursos e Funcionalidades
Os recursos de hospedagem do Windows Server AppFabric aprimoram a hospedagem dos serviços .NET Framework versão 4 Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) no WAS (Serviço de Ativação de Processo do Windows) fornecendo os seguintes recursos:
Implantação simplificada e gerenciamento dos serviços WCF e WF hospedados no WAS
Configuração simplificada de persistência dos fluxos de trabalho duráveis
Perfis de controle personalizáveis que permitem que você capture somente os dados necessários
Armazenamento dedicado, consultável para os dados controlados
Cmdlets do Windows PowerShell que permitem que você crie scripts personalizados de gerenciamento
Monitoração personalizada dos serviços de hospedagem
Tem suporte para IPv6 (protocolo IP versão) até pilha IPv6 do Windows IPv6
Aplicativos de início automático para minimizar a latência do serviço
Observação
Este recurso exige o Windows Server 2008 R2 ou o Windows® 7.
Os recursos de cache do AppFabric fornecem uma plataforma de cache em memória distribuído para o desenvolvimento de aplicativos escaláveis, disponíveis e de alto desempenho. Os principais recursos de cache do AppFabric são:
Armazena em cache qualquer objeto CLR serializado e fornece acesso através de APIs simples em cache
Suposta escala empresarial: dezenas a centenas de computadores
Configurável para execução como um serviço acessado através da rede
Suporta configurações comuns de cache
Suporta escala dinâmica adicionando novos nós
Um recurso altamente disponível que suporta a disponibilidade contínua dos dados armazenados em cache armazenando cópias dos dados em hosts de cache separado
Balanço automático de carga
Integração com ferramentas administrativas e de monitoração tais como ETW (Event Tracing for Windows) e System Center.
Fornece integração justa com o ASP.NET para poder armazenar em cache dados de sessão do ASP.NET sem ter que grava-lo nos bancos de dado de origem. Também pode ser usado como um cache para dados de aplicativo através de toda Web farm.
Cenários e configurações sem suporte
O .NET Framework 4 permite definir serviços de fluxo de trabalho usando XAML (linguagem XAML). O AppFabric foi projetado para funcionar com serviços de fluxo de trabalho do .NET Framework 4. Isso inclui serviços de fluxo de trabalho ativados usando um arquivo SVC ou o novo recurso de ativação baseado em configuração que permite que um serviço Web seja ativado sem um arquivo SVC. Para obter mais informações sobre ativação baseada em configuração, consulte Configuration-Based Activation. Para obter mais informações sobre a definição de um fluxo de trabalho como serviço que usa XAML, consulte Serviços WCF e WF no .NET Framework 4 e “Dublin” .
No entanto, os serviços WCF e WF hospedados no Serviço de Ativação de Processos do Windows (WAS) oferecem as seguintes opções de configuração e ativação de serviço que não têm suporte no AppFabric.
Os serviços que fazem parte de um aplicativo da Web pré-compilado não têm suporte. Pré-compilação é um mecanismo usado pelo ASP.NET para aprimorar o desempenho do site. Quando a ferramenta de compilador ASP.NET encontra os recursos de um aplicativo da Web na primeira solicitação, o conteúdo de tipos de arquivos comuns usados para ativação (como ASPX ou SVC) são compilado em um assembly. Em seguida, ele é substituído por texto gerado automaticamente. Isso garante que o arquivo permaneça no ponto de entrada de ativação física (e URL), embora seu conteúdo não seja mais necessário. As ferramentas AppFabric dependem da análise do conteúdo do arquivo SVC para descobrir e gerenciar a configuração do serviço. After the SVC content is replaced with auto-generated text by ASP.NET compiler, AppFabric can no longer be used to list and manage these services. As mentioned previously, a .NET Framework 4 Workflow service defined using XAML that is a part of a pre-compiled ASP.NET application will continue to work in Windows Server AppFabric. Para obter mais informações, consulte ASP.NET Web Site Pre-compilation.
Não há suporte para os serviços registrados e ativados em tempo de execução usando o recurso RouteTable.Routes.Add(). A classe RouteTable do .NET Framework é usada para armazenar as rotas de URL de um aplicativo. Quando um aplicativo ASP.NET controla uma solicitação, o aplicativo faz a iteração por meio do conjunto de rotas na propriedade Routes para localizar a primeira rota que corresponda ao formato da solicitação de URL. Para obter mais informações, consulte a Classe RouteTable.
Observação
O uso de RouteTable para registro do serviço é um padrão comum para serviços RESTful que exigem as URLs de estilo REST clássicas. Por exemplo, https://server/AutoService/Car/123-345-678.
Recursos de hospedagem do AppFabric
Os recursos de hospedagem do AppFabric dependem do WAS para fornecerem o ambiente de hospedagem para os serviços WCF e WF e amplia o console de Gerenciamento do IIS para fornecer gerenciamento e ferramentas de configuração para os serviços hospedados do WAS. Se você tiver serviços WCF ou WF hospedados no WAS, os Serviços de Hospedagem do AppFabric permitirão que você enumere e gerencie esses serviços. Contudo, se os serviços estiverem hospedados em um serviço gerenciado Windows ou um aplicativo autônomo, você deve migrá-los para o ambiente de hospedagem do WAS antes de usar os recursos de hospedagem do AppFabric com esses serviços.
Se você tiver atualmente, serviços de hospedagem em um host diferente do WAS, recomendamos que você avalie com muito cuidado os recursos e possibilidades do AppFabric, bem como os do ambiente de hospedagem do WAS, antes de decidir mudar seus serviços para o WAS. Para obter mais informações sobre as opções de hospedagem para os serviços WCF e WF, consulte Serviços de Hospedagem (https://go.microsoft.com/fwlink/?LinkId=166423).
Implantação de aplicativo
Os métodos atuais de implantação incluem o uso do Xcopy ou o uso de pacotes de implantação baseados em tecnologias tais como o Windows Installer. O Xcopy move artefatos aplicativos na pasta correspondente a um diretório virtual para uma pasta de destino. Os pacotes de implantação são usados para implantar artefatos adicionais, tais como certificados, contas de associados usadas com uma ferramenta de aplicativo, configurações de registro e dados de banco de dados. Enquanto existem tecnologia de implantação adequadas para implantações em um servidor único, o Xcopy tão simples enquanto a criação de um pacote no Windows Installer é muito complexa e exige conhecimentos específicos de desenvolvimento para implementação. E tampouco é adequado para implantação em um serviço totalmente fora da escala de um farm de servidores.
A ferramenta de implantação IIS pela Web, o MSDeploy, fornece a funcionalidade de implantação com base em um pacote único que pode ser usado a partir de uma linha de comando, o Console de Gerenciamento do IIS ou o Visual Studio 2010. O MSDeploy também pode ser usado para sincronizar um computador com o outro.
Para obter mais informações sobre o MSDeploy, consulte Web Deployment Tool for IIS7 (https://go.microsoft.com/fwlink/?LinkId=127069).
Configuração de aplicativo
Um componente-chave de gerenciamento do aplicativo é a capacidade de aplicar opções de configuração que afetem o comportamento do aplicativo sem alteração do código subjacente. O AppFabric fornece as seguintes funcionalidades para a configuração de aplicativos e serviços hospedados:
Configuração simplificada de aplicativo: O princípio orientados usado pelos recursos de hospedagem do AppFabric é que apenas as definições de configuração nos arquivos Web.config são usados para fins administrativos. As configurações definidas no código fonte não são acessíveis e não podem ser modificadas pelas ferramentas administrativas do AppFabric. Este princípio se aplica tanto a um código obrigatório como C# e como a um código declarativo como XAML. Mesmo se o próprio código for facilmente visível, o que acontece com o XAML, as configurações são ainda tratadas como bloqueadas e são inacessíveis.
Para simplificar o gerenciamento de configuração, o AppFabric aplica as definições padrão para cada nó do servidor que estiver configurado pela instalação. Essas configurações são definidas no arquivo raiz Web.config e pode ser usado por qualquer aplicativo hospedado. Um administrador pode também aplicar definições de configurações via site ou aplicativo específico para o arquivo Web.config para aplicar um controle mais preciso ou comportamento persistente nos aplicativos hospedados.
As opções de configuração do WCF fornecidas através do console de Gerenciamento do IIS: As configurações atuais do WCF usando a ferramenta Editor de Configuração do Serviço WCF (SvcConfigEditor.exe) fornece desafios tanto para desenvolvedores, como para profissionais de TI. Particularmente, o uso do Editor de configuração de serviços exige uma compreensão bastante minuciosa do modelo de serviço WCF, trazendo uma sobrecarga adicional aos profissionais de TI.
O AppFabric aperfeiçoa essa experiência ampliando o conhecido console de Gerenciamento do IIS com as extensões do IIS Manager para o WCF e o WF, abrangendo assim as tarefas de configurações mais comuns. Os exemplos incluem a possibilidade de controle, definição de parâmetros de aceleração de aplicativo e enumeração de todos os serviços em execução que podem ser realizados usando as extensões do IIS Manager. Outras opções de configuração podem ser aplicadas usando o Assistente de Configuração do AppFabric ou o Editor de configuração do IIS disponível com o IIS 7.0.
Configuração de persistência do WF: Para suportar o conceito de fluxos de trabalhos duráveis para processos empresariais de longa execução, os serviços do WF podem persistir até um armazenamento de persistência e continuar o processamento quando ocorrer um evento específico como por exemplo, o recebimento de uma mensagem. Contudo, a configuração de persistência envolve ainda um processo manual que exige a criação de um serviço persistente com suporte de um mecanismo de armazenamento durável.
Para simplificar a configuração da persistência do fluxo de trabalho e para suportar as configurações do servidor de farm, os Serviços de Hospedagem do AppFabric fornece um armazenamento de persistência com base em um servidor SQL e um provedor de persistência SQL que pode ser otimizado por qualquer fluxo de trabalho durável hospedado no WAS. O AppFabric também permite que você use um armazenamento de persistência personalizado e um provedor de sua preferência. O AppFabric permite a definição tanto das configurações padrão de persistência herdadas dos aplicativos hospedados, como as configurações de persistência específicas para um aplicativo individual .
Cmdlets do Windows Power Shell Enquanto fornecer opções de configuração e gerenciamento no console de Gerenciamento do IIS facilita a administração de aplicativos hospedados, geralmente é desejável criar scripts que possam automatizar as configurações em várias etapas e o gerenciamento de cenários.
Para suportar a criação de soluções em scripts, os recursos de hospedagem do AppFabric incluem o módulo ApplicationServer para o Windows Powershell, que contém cmdlets que fornecem o mesmo nível de acesso para a configuração e o gerenciamento de aplicativos hospedados, assim como as ferramentas fornecidas no console de Gerenciamento do IIS.
Monitoração de aplicativo
Além de simplificar a implantação, o gerenciamento e a configuração dos serviços hospedados, os Serviços de Hospedagem do AppFabric facilitam a monitoração dos seus aplicativos capturando as informações de controle emitidas no tempo de execução e armazenando no banco de dados de monitoração. Uma vez capturadas, essas informações ficam disponíveis no recurso Dashboard no console de Gerenciamento do IIS ou diretamente a partir do banco de dados de monitoração.
As informações reunidas de um aplicativo podem ser personalizadas através do uso de perfis de controle para capturar informações como estado de atividade (início, parado, falha), o conteúdo de variáveis específicas em um fluxo de trabalho ou informações de controle personalizadas emitidas pelo aplicativo através do uso de um registro de controle personalizado.
Hospedagem de aplicativo
Os Serviços de Hospedagem do AppFabric trabalham com o WAS para fornecer um ambiente de hospedagem robusto para aplicativos para camadas intermediárias dos aplicativos WCF e WF. Alguns dos recursos fornecidos pelo WAS são:
Ativação com base em mensagem de aplicativos e processos de usuários. Os aplicativos iniciam-se e param dinamicamente em resposta aos itens de trabalho que chegam usando os protocolos de rede HTTP e não-HTTP.
O aplicativo robusto e o processo de usuários reciclam para manter a integridade dos aplicativos em execução.
Configuração e gerenciamento de aplicativo centralizado.
Além dos recursos tradicionalmente fornecidos pelo WAS, .NET Framework 4 fornece aperfeiçoamentos na área de serviços hospedados. A ativação de uma criação de serviço usando o .NET Framework 3.5 exige a criação de um “arquivo de serviços” separado (com uma extensão .svc) que deve ser implementado com o serviço. Além disso, se o serviço usar o WF, um arquivo adicional XAML (Extensible Application Markup Language - com a extensão .xaml) precisa ser criado e implantado com o serviço. O .NET Framework 4 acommoda aticação direta de um serviço WF sem ter que criar e implantar um arquivo .svc. O arquivo XAML deve ter a extensão .xamlx para acomodar a ativação direta dos aplicativos WF associados pelo host. Tanto o aplicativo WCF, como o WF pode ser ativado diretamente do arquivo Web.config sem a exigência de um arquivo .svc. Para obter mais informações sobre este e outros recursos do ambiente de hospedagem WAS, consulte Hosting (https://go.microsoft.com/fwlink/?LinkId=166403).
Embora a ativação simplificada de um serviço hospedado remova a exigência por um arquivo de serviço, ele não endereça o mecanismo de ativação com base de mensagens usado pelo WAS. Quando um serviço é hospedado no WAS, não há criação de instância de serviço até que seja recebida uma mensagem endereçada para o serviço. Isso significa que quando um serviço primeiramente é iniciado, ele deve inicializar novas instâncias para, por exemplo, alocação de memória, carregar bibliotecas e criar objetos. Se o aplicativo processar dados de detecção de hora, este atraso na inicialização de serviços individuais pode ser inaceitável. Mesmo que você não esteja processando dados de detecção de hora, esta confiança na ativação com base em mensagem impôs limites sobre como o serviço pode receber os dados, já que a ativação com base em mensagem necessita do ativador WAS. O Out of the box .NET fornece um ativador para os seguintes protocolos:
http: Fornece ativação HTTP tanto para o IIS 7.0 como para o WCF.
net.tcp: Fornece ativação com base em porta TCP.
net.pipe: Fornece ativação com base em nomes pipe.
net.msmq: Usado com aplicativos MSMQ (Message Queuing) com base em WCF.
msmq.formatname: Fornece compatibilidade anterior com os aplicativos MSMQ existentes.
Para corrigir a limitação da ativação com base em mensagens, os Serviços de Hospedagem do AppFabric podem aproveitar a vantagem do recurso de inicialização automática do Windows Server 2008 R2 e do Windows 7 para iniciar automaticamente o serviço hospedado pelo WAS assim que for implementado em vez de esperar por uma mensagem de ativação.
Recursos de cache do AppFabric
Os recursos de cache do AppFabric une as memórias através de vários computadores para fornecer uma visão unificada a todos os aplicativos. Os aplicativos podem armazenar qualquer objeto CLR serializado sem se preocupar a respeito de onde ele será armazenado. A escalabilidade pode ser alcançada simplesmente adicionando mais computadores por demanda. Os serviços de cachê do AppFabric também permitem cópias de dados a serem armazenados através de cluster e ainda protege os dados de falhas. Os serviços de cachê do AppFabric incluem um objeto fornecedor de sessão ASP.NET que permite o armazenamento de objetos em um cache distribuído, sem necessidade de gravar em bancos de dados. Isso aumenta o desempenho e a escalabilidade dos aplicativos ASP.NET.
Para obter mais informações sobre os recursos de cache do AppFabric, consulte Introduction to Caching with Windows Server AppFabric (https://go.microsoft.com/fwlink/?LinkId=164828).
2011-12-05