Objetivo

Este recurso visa dinamizar a configuração de definição do servidor de relatório, quando o cliente possui em sua estrutura um servidor de relatórios diferente do servidor da aplicação.


Conceito

Deverá ser elencada uma relação de máscaras de IP, de forma que o IP do usuário que está emitindo o relatório passe por um filtro, antes de receber a URL do servidor de relatórios. A configuração de roteamento deverá ser feita considerando uma prioridade, partindo de um IP específico até um IP genérico, sempre finalizando com uma configuração de servidor genérico para qualquer IP. Pode ser feita configurações de servidores específicos com portas específicas por IP, assim, esta configuração:
http://relatorio.cliente.com.br/ReportServer
Nestas configurações, o cliente 10.1.1.55 receberá o endereço http://10.0.0.2/ReportServer para emissão dos relatórios, assim como, numa publicação na Web, os usuários receberão o endereço http://relatorio.cliente.com.br/ReportServer para emissão dos relatórios.


WEB.CONFIG

A configuração atual será mantida, permitindo que todos os clientes não tenham a necessidade de serem reconfigurados após a atualização, assim:






Esta configuração é válida tanto para um servidor público quanto privado, pois eles utilizarão o mesmo endereço do aplicativo para complementar o acesso ao relatório.

Para configurar o processo de roteamento, quando o cliente possui um servidor de relatório diferente do servidor de aplicativo, basta que o valor da variável ReportingServices comece com route:.

Cada item de configuração deve ser separado utilizando o caractere Ponto e Vírgula para separar as configurações.

A configuração deve levar em conta uma ordem de prioridade para seleção dos servidores, sempre do mais específico para o mais genérico.

Cada item de configuração deve utilizar o .* para indicar sub-redes, ou, simplesmente o IP a ser filtrado.

De forma genérica, o valor da variável ReportingServices, para ativar o roteamento, deve ser configurado com:

route: mask=url; mask=url; mask=url; url

Para configurar o exemplo descrito no tópico conceito, temos:



Assim, a primeira máscara que possa ser aplicada a um determinado IP remoto definirá a URL de servidor a ser navegada.