Arquitetura de Serviço (Reporting Services)

No Reporting Services, um servidor de relatório é implementado como um serviço do Windows que consiste em áreas de recurso distintas executadas em domínios de aplicativo separados. O serviço hospeda o Gerenciador de Relatórios, o serviço Web Servidor de Relatório e áreas de recurso de processamento em segundo plano. Este tópico descreve a composição do serviço para que você possa fazer escolhas informadas sobre quais recursos deve habilitar e como solucionar qualquer problema que ocorra.

Diagrama de arquitetura

O diagrama a seguir mostra a arquitetura de serviço no Reporting Services.

Diagrama de arquitetura do serviço

ObservaçãoObservação

Nem todos os recursos do servidor de relatório são refletidos no diagrama da arquitetura. Por exemplo, a inicialização e a criptografia reversível são operações de servidor essenciais que existem fora do escopo das três áreas de recursos ilustradas no diagrama.

Serviço e infra-estrutura

O serviço Servidor de Relatório do Windows é um conjunto de aplicativos consolidado que é executado em um único processo, em uma única conta, com acesso a um único banco de dados de servidor de relatório e conjunto de arquivos de configuração. As definições de configurações para o serviço inteiro são armazenadas em RSeportServer.config, ReportServerServices.exe.config e no banco de dados do servidor de relatório.

Dentro do serviço, o Gerenciador de Relatórios, o serviço Web e o processamento em segundo plano são executados separados em domínios de aplicativo. Embora as três áreas de recursos sejam habilitadas por padrão, é possível configurar as partes do serviço que estão disponíveis a qualquer momento. Por exemplo, você pode desativar o serviço Web se não quiser oferecer suporte a relatórios sob demanda ou interativos.

Embora as áreas de recursos de servidor sejam isoladas em domínios de aplicativo separados, a integridade de processos e gerenciamento de memória é gerenciada para o serviço como um todo. Limites de memória são configurados para o serviço em sua totalidade. O servidor de relatório manipula ações de reciclagem como operações internas. Você não pode reciclar partes individuais do serviço sob demanda. Entretanto, é possível especificar definições de configuração que determinam por quanto tempo as conexões persistentes são mantidas em aberto.

Se você segmentar as áreas de recursos de um serviço entre várias instâncias (por exemplo, habilitar o Gerenciador de Relatórios em uma instância, o serviço Web em uma segunda instância e o processamento em segundo plano em uma terceira), as definições de memória e configuração são colocadas no escopo dos aplicativos executados nessa instância específica. Observe que mesmo que você segmente as áreas de recurso do serviço, elas possuem algumas interdependências. Uma instalação de servidor de relatório completa normalmente usa as três. Para obter mais informações, consulte Como ativar e desativar recursos do Reporting Services.

Ouvinte de HTTP

O Reporting Services inclui um ouvinte de HTTP que monitora solicitações de entrada dirigidas a HTTP.SYS em uma porta específica no computador local. O nome de host e a porta são especificados em uma reserva de URL ao configurar o servidor. Dependendo do sistema operacional usado, a porta especificada poderá ser compartilhada com outros aplicativos.

O ouvinte HTTP implementa o protocolo HTTP 1.1. Ele usa os recursos HTTP.SYS que são criados no sistema operacional. É por isso que o Reporting Services requer sistemas operacionais que incluam HTTP.SYS como um componente interno.

Quando o ouvinte de HTTP processa uma solicitação, ele a encaminha à camada de autenticação para verificar a identidade do usuário. O serviço Web Servidor de Relatório é chamado depois que a solicitação é autenticada.

O ouvinte de HTTP usa a versão 1.0 da API de servidor HTTP. Para obter mais informações, consulte API de servidor HTTP no MSDN.

Camada de autenticação

O Reporting Services inclui uma camada de autenticação que verifica a identidade do usuário ou aplicativo que faz a solicitação. Há suporte para os seguintes tipos de autenticação: segurança integrada do Windows, autenticação NTLM, autenticação Básica, autenticação de Formulários ou personalizada e acesso Anônimo. O Reporting Services usa a segurança integrada do Windows e a autenticação NTLM por padrão, mas você pode especificar um tipo de autenticação diferente nos arquivos de configuração. Cada instância do servidor de relatório pode ser configurada para exatamente um tipo de autenticação. Se você tiver uma configuração de implantação de expansão, cada nó no ambiente deverá usar o mesmo tipo de autenticação.

A autenticação do servidor de relatório funciona no contexto de suas configurações de segurança de rede e aplicativos cliente. O uso bem-sucedido de um tipo de autenticação específica depende dos recursos de navegador e de segurança de rede. Por exemplo, se você usar a segurança integrada do Windows terá de usar o Internet Explorer, a autenticação de rede Kerberos e a representação que é habilitada. Além disso, se você quiser usar a segurança integrada para conexões de fonte de dados de relatório, a delegação também deverá estar habilitada para permitir conexões subseqüentes em fontes de dados remotas.

Para obter mais informações sobre autenticação no Reporting Services, consulte Configurando a autenticação no Reporting Services.

Gerenciador de Relatórios

O Gerenciador de Relatórios é um cliente sem superfície percorrida que fornece acesso front-end da Web ao serviço Web Servidor de Relatório. É a ferramenta pronta para uso para exibir e gerenciar o conteúdo e as operações do servidor de relatório.

Por padrão, ele fornece acesso front-end ao serviço Web executado na mesma instância do servidor. Se o serviço Web não for habilitado na instância do servidor, é possível apontar o Gerenciador de Relatórios para um serviço Web Servidor de Relatório em uma instância ou computador diferente, configurando uma URL nos arquivos de configuração.

O Gerenciador de Relatórios é executado em uma sessão de navegador no computador cliente. Não há nenhum arquivo de aplicativo ou configurações armazenadas no cliente. O estado da sessão é preservado enquanto a janela do navegador estiver aberta. As configurações específicas de usuário são salvas no banco de dados do servidor de relatório e reutilizadas sempre que o usuário se conectar ao Gerenciador de Relatórios.

O Gerenciador de Relatórios pode acomodar configurações de extensão de entrega personalizadas nas páginas de definição de assinatura. Se você criar e implantar extensões de entrega personalizadas, o Gerenciador de Relatórios poderá apresentar opções e exibir texto para essa extensão dinamicamente.

Para usar o Gerenciador de Relatórios, é necessário definir uma URL no aplicativo. Você pode desabilitar o Gerenciador de Relatórios efetivamente se não criar a URL. Se você instalou o Reporting Services na configuração padrão, a URL já será criada e será necessário excluí-la se você decidir desativar o aplicativo.

Se você configurar o servidor de relatório para ser executado no modo integrado do SharePoint, o Gerenciador de Relatórios será desativado. Não é possível usar o Gerenciador de Relatórios em um servidor de relatório que seja executado no modo integrado do SharePoint, mesmo que você tenha configurado anteriormente a URL.

Para obter mais informações sobre o Gerenciador de Relatórios, consulte Gerenciador de Relatórios e Como configurar o Gerenciador de Relatórios.

Serviço Web Servidor de Relatório

O serviço Web Servidor de Relatório é o mecanismo principal para todas as solicitações de processamento de modelo e relatório sob demanda iniciadas por um usuário ou aplicativo em tempo real, incluindo a maioria das solicitações que são direcionadas ao Gerenciador de Relatórios e que partem dele.

O serviço Web Servidor de Relatório executa o processamento ponto a ponto para relatórios executados sob demanda. Para oferecer suporte ao processamento interativo, o serviço Web autentica o usuário e verifica as regras de autorização antes de manipular uma solicitação. O serviço Web oferece suporte à extensão de segurança do Windows padrão e a extensões de autenticação personalizadas.

O serviço Web também é a interface programática básica para aplicativos personalizados integrados ao servidor de relatório. Se você estiver fornecendo uma interface com o usuário personalizada, poderá usar o serviço Web sem o Gerenciador de Relatórios.

Para obter mais informações, consulte Serviço Web Servidor de Relatórios.

Processamento em segundo plano

O processamento em segundo plano refere-se a operações executadas em segundo plano e iniciadas pelo servidor de relatório. A maioria do processamento em segundo plano consiste em processamento de relatório agendado e entrega de assinatura, mas também inclui tarefas de manutenção do banco de dados do servidor de relatório.

O processamento em segundo plano para agendamento, assinatura e entrega é configurável e pode ser desativado através da faceta Configuração da Área de Superfície do Reporting Services do Gerenciamento Baseado em Diretivas no Management Studio. Se você desativar essas operações, o processamento de relatório ou modelo agendado não estará disponível na instância de serviço atual. A manutenção do banco de dados é uma tarefa essencial que não pode ser desativada pois mantém o servidor em um estado de operação.

As operações de processamento em segundo plano dependem de um aplicativo front-end ou do serviço Web para definição. Especificamente, as agendas e assinaturas são criadas nas páginas de aplicativo do Gerenciador de Relatórios ou no site do SharePoint, se o servidor de relatório for configurado para integração com o SharePoint e, em seguida, encaminhado para o serviço Web, que cria e armazena as definições no banco de dados do servidor de relatório.

Se você estiver fornecendo código personalizado que requer acesso programático ao processamento back-end, use o provedor WMI do Reporting Services. Para obter mais informações, consulte Provedor WMI do Reporting Services. Para saber mais sobre os recursos de agendamento e processamento de entrega, consulte Processador de Agendamento e Entrega.

Autenticação e gerenciamento de memória para processamento em segundo plano

Como ilustra o diagrama da arquitetura de serviço, o processamento em segundo plano manipula a autenticação e o gerenciamento de memória de maneira diferente do Gerenciador de Relatórios e do serviço Web. Os processos em segundo plano usam o Authz.dll para verificar se a conta de usuário que foi usada para criar a assinatura ainda tem as permissões corretas para exibir o relatório. Essa verificação garante que o usuário que está para receber o relatório seja um usuário do Windows válido no domínio. Todos os outros processamentos de relatórios e modelos executados como processos em segundo plano são solicitados sob a identidade da conta de execução autônoma.