Exemplo: Módulo de Acompanhamento de Análise da Web

por Ruslan Yakushev

O Web Analytics é um espaço de tecnologia popular hoje em dia. Sua finalidade é fornecer aos proprietários do site informações estatísticas sobre os visitantes de seus sites, para que o editor do site possa otimizar o conteúdo, o anúncio e a oferta de serviço para incriar a satisfação do cliente e o ROI.

Os serviços de análise da Web já existem há algum tempo, mas se tornaram muito populares depois que o Google tornou seu serviço de análise uma oferta gratuita para todos. Agora, qualquer proprietário do site – de hobbys pessoais a grandes portais comerciais – tem acesso a um serviço de análise da Web avançado e gratuito. A Microsoft também está fornecendo um serviço gratuito de Análise da Web que é oferecido como parte do Microsoft AdCenter.

O Módulo de Análise da Web para IIS permite que os editores de sites habilitem facilmente o acompanhamento básico de análise da Web de seus sites, sem tocar no código real do aplicativo Web.

O código-fonte do exemplo está disponível aqui.

Problemas com os serviços de análise da Web atuais

A finalidade básica do Serviço de Análise da Web é coletar dados sobre os visitantes do site, processar esses dados e apresentá-los aos proprietários do site em uma forma agradável e fácil de digerir. Para coletar os dados, o proprietário do site precisa instrumentar todas as páginas em seu site com o script de acompanhamento emitido pelo provedor de serviços de análise da Web:

Captura de tela da página da Web do Google Analytics com o script de acompanhamento.

O principal ponto de dor ao solicitar que o usuário faça isso é que ele pode potencialmente exigir uma quantidade considerável de trabalho para modificar todas as páginas da Web. Em alguns casos, isso pode ser atenuado usando modelos e páginas mestras, mas, em muitos casos, o usuário ainda precisaria percorrer suas páginas html e adicionar o script de acompanhamento no final de cada documento.

Benefícios e recursos do Módulo de Análise da Web

O Módulo de Análise da Web para IIS tenta resolver o problema mencionado acima, permitindo que os usuários separem a lógica de acompanhamento da implementação real do site. Em vez de modificar as páginas do site, agora o usuário pode apenas definir a configuração do IIS e o script de acompanhamento será inserido automaticamente em todas as respostas html, produzidas por seu site. O principal benefício fornecido por este módulo é que a instrumentação da Análise da Web se torna muito fácil. Outro benefício é que o usuário pode ativar/desativar facilmente o acompanhamento de análise, o que é útil para cenários de desenvolvimento/teste.

O exemplo de módulo do Web Analytics demonstra o seguinte:

  • Como implementar um módulo .NET que insere o script de acompanhamento nas respostas HTTP.
  • Como estender a configuração do IIS e fornecer a interface do usuário para o módulo no gerenciador do IIS. A interface do usuário e a configuração do módulo permitem que o usuário especifique o script de acompanhamento e habilite/desabilite o acompanhamento da análise da Web. Ele também permite que o usuário escolha para onde o código de rastreamento deve ser colocado (<elemento de cabeça> ou <corpo> do documento HTML).

Configuração do módulo

Para começar a usar o módulo, primeiro compile-o a partir desta solução do Visual Studio. Você pode usar o VS 2005, VS2008 ou Visual C# Express 2005 e 2008 para compilar a solução. Você também pode usar as versões pré-compiladas na pasta bin\release.

Para instalar o módulo, siga estas etapas:

  1. Copiar o WebAnalyticsModule.dll para uma pasta bin em seu site ou aplicativo

  2. Copie o WebAnalytics_schema.xml para a %windir%\system32\inetsrv\config\schema pasta.

  3. Adicione o seguinte ao arquivo %windir%\system32\inetsrv\config\applicationhost.config: na seção "sectionGroup" para "system.webServer", adicione a definição da seção: <section name="webAnalytics" overrideModeDefault="Allow">

  4. Adicione um módulo a um site ou a um aplicativo abrindo web.config arquivo correspondente e adicionando a seguinte seção ao <system.webServer> elemento:

    <modules>
        <add name="WebAnalytics" type="WebAnalyticsModule.WebAnalyticsHttpModule" />
    </modules>
    
  5. Em seguida, use a ferramenta gacutil para colocar o módulo no Cache de Assembly Global para que o Gerenciador do IIS possa usá-los:

    gacutil -if WebAnalyticsModule.dll
    
  6. Adicione o módulo à configuração do Gerenciador do IIS no %windir%\system32\inetsrv\config\administration.config arquivo:

    • <Na coleção moduleProviders>, adicione a seguinte entrada:

      <add name="WebAnalytics" type="WebAnalyticsModule.WebAnalyticsProvider, WebAnalyticsModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c6b7132bcfe43312" />
      
    • E adicione a seguinte linha à <modules> coleção:

      <add name="WebAnalytics" />
      
  7. Abra o Gerenciador do IIS. Você deverá ver o ícone "Acompanhamento da Análise da Web" no modo de exibição de recursos do seu site ou aplicativo.

Passo a passo do módulo

Depois que o módulo for instalado, você verá a configuração do Web Analytics no painel de controle principal do IIS. Isso estará disponível no nível do site e do aplicativo. Captura de tela da configuração da Análise da Web exibida no painel de controle IS.

A interface do usuário de configuração para o módulo de Análise da Web tem a seguinte aparência:

Captura de tela da caixa de diálogo Configuração de Acompanhamento da Análise da Web com o script de acompanhamento preenchendo o campo.

Depois que o módulo tiver sido configurado, podemos ver como ele funciona solicitando a página da Web do servidor usando o WFetch. A saída do servidor web contém o script de rastreamento antes da tag de fechamento do corpo</>:Captura de tela do W Fetch UI exibindo a saída do servidor web e o script de rastreamento preenchendo o campo Saída de Log.