Processamento do ReportCaster

Nesta seção:

Referência:

A imagem a seguir mostra os componentes do ReportCaster e o processamento que ocorre quando o ReportCaster acessa um repositório SQL para criar, executar e distribuir um trabalho planejado.

O Servidor de Distribuição é um aplicativo Java que gerencia o processo de envio e distribuição de um trabalho agendado. É possível instalar o Servidor de Distribuição na mesma plataforma que a do Reporting Server e dos componentes (que se localizam no Servidor de Aplicativos ou da Web) ou ele pode ser instalado em uma plataforma diferente.

O Reporting Server processa uma solicitação planejada, obtém os dados e retorna o relatório para o Servidor de Distribuição, que distribui a saída. O ReportCaster suporta vários Servidores de Relatórios (especificados na ferramenta de Configuração do ReportCaster) e um Repositório (especificado na Configuração do Cliente no Console de Administração do

Ao criar um agendamento do ReportCaster, uma das propriedades do agendamento definidas pelo ReportCaster é o próximo tempo de execução (NEXTRUNTIME) para esse agendamento. O Servidor de Distribuição verifica agendamentos no Repositório que possuem um tempo de execução próximo maior ou igual ao tempo atual. Após a execução do trabalho agendado, NEXTRUNTIME é atualizado para a próxima instância em que o agendamento está definido para executar.


Topo da página

x
Referência: Processamento do ReportCaster de um Trabalho Planejado

As seguintes etapas descrevem o que acontece quando o Servidor de Distribuição identifica um agendamento para execução.

  1. O Servidor de Distribuição própria o trabalho agendado com outros agendamentos na fila do Servidor de Distribuição. Ao criar um agendamento, há um parâmetro de Prioridade em que é possível especificar o valor da prioridade de 1 a 5, em que 1 é prioridade mais alta, e 5 a mais baixa. O valor de prioridade padrão é 3. A fila do Servidor de Distribuição ordena as tarefas agendadas por prioridade e depois por tempo. Se durante um ciclo agendado um ou mais trabalhos permanecerem na fila quando o próximo ciclo começar, esses trabalhos serão própria novamente para incluir novos trabalhos na fila.
  2. Quando uma sessão (encadeamento) do Reporting Server estiver disponível, o Servidor de Distribuição irá, dinamicamente, obter o agendamento, o parâmetro e as informações de alerta do Repositório do WebFOCUS. O número de encadeamentos simultâneos disponíveis para despacho de trabalho é controlado pela definição do parâmetro Encadeamento Máximo na ferramenta de Configuração do Console do ReportCaster. Cada Servidor de relatórios configurado no ReportCaster possui sua própria alocação. Além disso, encadeamentos pode ser alocados para trabalhos que não utilizam um Reporting Server. O número máximo de encadeamentos é o total destas definições de encadeamentos separados. Além disso, relatórios (Procedimentos de Servidor WF, Relatórios Padrão e Meus Relatórios) são colocados juntos para envio para o sistema IBFS para segurança e processamento da configuração do Cliente WF. O sistema IBFS envia o trabalho agendado para o Reporting Server.
  3. O trabalho agendado de um usuário pode ser um dos seguintes:
    • Procedimento do Servidor WF. A -INCLUDE obtém o procedimento (FEX). O procedimento deve ser acessível a partir do caminho do servidor do Reporting Server.
    • Managed Reporting. Invoca o Cliente para obter o procedimento (FEX) a partir do Repositório.
    • URL. O ReportCaster pode agendar uma URL a partir de qualquer servidor da Web e distribuir o conteúdo para destinatários específicos.
    • Arquivo. O ReportCaster pode agendar a distribuição de arquivos que possuem conteúdo estático aos quais o Servidor possui acesso de leitura. Por exemplo, se desejar distribuir um documento do Microsoft® Word®, será possível distribuí-lo ao especificar o caminho totalmente qualificado e o nome do arquivo, por exemplo, D:\salesforecast\regionalquota.doc.
    • FTP. O ReportCaster pode agenda a obtenção de um arquivo a partir de um servidor FTP.

    O trabalho agendado inclui informação de distribuição, valores de parâmetro e variáveis internas do ReportCaster (como ID de agendamento, nome do procedimento de agendamento, procedimentos de pré-processamento e pós-processamento e o ID de usuário (ID do proprietário) que agendou o trabalho).

  4. O trabalho agendado de um usuário pode ser a Extração de Dados de um Relatório, que chama o Cliente para obter o procedimento (FEX) do Repositório.

    O trabalho agendado inclui informação de distribuição, valores de parâmetro e variáveis (como ID de agendamento, nome do procedimento de agendamento, procedimentos de pré-processamento e pós-processamento e o ID de usuário (ID do proprietário) que agendou o trabalho).

  5. Quando um trabalho agendado é um:
    • Procedimento do (Procedimento do Servidor WF ou procedimento do Managed Reporting). Os relatórios obtidos são agrupados para envio a um Reporting Server. Quando o ReportCaster prepara e envia um trabalho agendado para procedimento do Servidor WF ou relatórios WebFOCUS (Managed Reporting), o programa envia comandos para o sistema IBFS para envio para o Reporting Server. Analisador de Recursos, que é utilizado para rastrear e monitorar solicitações enviadas para o Reporting Server e os recursos usados para criar o relatório que será distribuído. Em seguida, obtém estes comandos com o intuito de monitorar os recursos usados para criar o relatório. O Reporting Server executa o procedimento, obtém os dados, cria o relatório e retorna-o para o sistema IBFS, que o retorna par ao Servidor de Distribuição. O Servidor de Distribuição processa as informações de distribuição e distribui o relatório. Para solicitações de gráfico, os dados são retornados ao Servidor de Distribuição, que cria a imagem do gráfico e a distribui.

      Observação: Você pode especificar que certos comandos devem ser executados antes da execução de um trabalho agendado utilizando a configuração Perfil universal, localizada no Console Administrativo do WebFOCUS. Para mais informações, consulte o manual Segurança e Administração do WebFOCUS.

    • URL. O Servidor de Distribuição envia a URL a um servidor da Web, que executa a URL. O conteúdo é, então, enviado de volta ao Servidor de Distribuição, que o distribui.
    • Arquivo. O Servidor de Distribuição acessa suas unidades mapeadas para obter o arquivo, que é, então, distribuído.
    • FTP. O Servidor de Distribuição acessa um servidor FTP e obtém a saída do relatório, que é, então, distribuída.
  6. O Servidor de Distribuição distribui a saída planejada como mensagem de e-mail, através de FTP ou SFTP, para uma impressora, como um relatório em uma pasta de Managed Reporting (repositório WebFOCUS) ou para a Biblioteca de Relatórios. Também é possível distribuir a saída planejada para uma máquina de fax usando um e-mail de terceiro para o provedor de fax.

    Os Procedimentos do Servidor WF e o Managed Reporting suportam execução de intermitência, o que possibilita o envio de partes de um relatório a destinatários específicos. Se você está distribuindo um relatório tabular com a opção de intermitência, o valor de intermitência é determinado pelo primeiro campo BY. Se você está distribuindo um relatório de gráfico com a opção de intermitência, o valor de intermitência é determinado pelo segundo campo BY. O valor intermitência é automaticamente determinado pela matriz interna. A matriz interna é uma área de memória que armazena todos os valores do campo do banco de dados e calcula os valores referenciados pela solicitação TABLE ou GRAPH.

  7. Depois de o Servidor de Distribuição distribuir a saída (ou não puder distribuir a saída), ele irá, então, processar as informações de log e gravar as informações de log nas tabelas de log do Repositório do WebFOCUS.

    Observação: O processo de log foi modificado para que as mensagens sejam escritas para o Repositório do WebFOCUS conforme se tornam disponíveis, e não todas de uma vez no fim de um agendamento. As informações de log do ReportCaster são escritas nas tabelas de log conforme o agendamento progride. Como resultado, é possível executar um relatório de log durante um agendamento para determinar o progresso do mesmo.

    Condições de erro em relatórios de log aparecem em texto vermelho e os avisos aparecem em laranja.

  8. Se uma notificação for solicitada, o Servidor de Distribuição enviará uma notificação de e-mail. O nome do servidor de e-mail que processa o e-mail de notificação é especificado na definição Notificar Host de E-mail na ferramenta de Configuração. Se o servidor de e-mail estiver vazio, o usará o servidor de e-mail padrão usado para distribuir um agendamento de e-mail, que é especificado pela definição de Host de E-mail na ferramenta de Configuração do ReportCaster.

    As condições de erro ocorrem em relatórios de log ou notificação quando:

    • Uma mensagem de erro FOC é retornada ao Servidor de Distribuição.
    • Não há relatório para distribuir.
    • Ocorreu um erro na comunicação com os serviços (E-mail, (S)FTP, impressora, Managed Reporting, Biblioteca de Relatórios).

    Dica: Recomendamos usar servidores de e-mail diferentes para notificação e distribuição de e-mails. Usar servidores de e-mail separados garante que ainda receberá notificações quando o servidor de e-mail padrão falhar.



Exemplo: Executando um Trabalho Planejado

Nesse exemplo, o Servidor de Distribuição pesquisa a tabela BOTSCHED a todo o momento, buscando trabalhos planejados. No entanto, observe que o possibilita que usuários autorizados alterem o intervalo de pesquisa do Servidor de Distribuição usando a definição de intervalo do Leitor na ferramenta de Configuração do ReportCaster. É possível especificar um intervalo de 1 a 999999 minutos.

  1. Às 9h01 você agenda um trabalho com um horário/data de início para hoje às 12h, e um horário/data final para amanhã às 15h. O trabalho é planejado para ser executado a cada duas horas.
  2. Às 9h:02, o Servidor de Distribuição lê todos os registros da tabela BOTSCHED com um NEXTRUNTIME igual ao horário atual. O trabalho não é qualificado, pois seu horário inicial é à 0h.
  3. O Servidor de Distribuição pesquisa a tabela BOTSCHED a todo o momento a partir de então, buscando trabalhos com um NEXTRUNTIME menor ou igual ao horário atual.
  4. Às 12h, o Servidor de Distribuição lê a tabela BOTSCHED. O trabalho é qualificado, pois NEXTRUNTIME é igual ao horário atual. O trabalho é colocado na fila do Servidor de Distribuição e ele atualiza seu NEXTRUNTIME por duas horas de modo que o próximo NEXTRUNTIME será às 14h.
  5. O Servidor de Distribuição pesquisa a tabela BOTSCHED a todo o momento a partir de então, buscando trabalhos com um NEXTRUNTIME menor ou igual ao horário atual.
  6. Às 14h, o Servidor de Distribuição lê a tabela BOTSCHED. O trabalho é qualificado, pois NEXTRUNTIME é igual ao horário atual. O trabalho é colocado na fila do Servidor de Distribuição e ele atualiza seu NEXTRUNTIME por duas horas de modo que o próximo NEXTRUNTIME será às 16h.
  7. Esse processo se repete. O trabalho será executado a cada duas horas até às 15h do dia seguinte. O último horário em que o trabalho será colocado na fila de execução é às 14h do dia seguinte.

Observação: para obter informações sobre a recuperação de trabalhos que foram colocados na fila do Servidor de Distribuição, mas que não tiverem NEXTRUNTIME atualizado, consulte Recuperação. Para obter mais informações sobre agendamentos, consulte Considerações sobre Fuso Horários e Considerações de Horário de Verão.


Topo da página

x
Considerações sobre Fuso Horários

Os usuários que acessam o ReportCaster remotamente a partir de um fuso horário diferente devem agendar trabalhos usando o fuso horário da máquina em que o Servidor de Distribuição está localizado. Ao visualizar agendamentos de trabalho, o horário e data exibidos são os do fuso horário do Servidor de Distribuição.

O ReportCaster usa tecnologia Java, que sempre ajusta o horário para o Horário de Verão, independentemente das definições do Windows. Se estiver em uma área que não possui Horário de Verão, os trabalhos planejados serão executados no horário correto. No entanto, alguns arquivos internos adicionarão uma hora ao registro de data e hora durante esse período. Esses arquivos incluem o seguinte:


Topo da página

x
Considerações de Horário de Verão

Ao considerar o efeito do Horário de Verão (DST) em trabalhos planejados pelo ReportCaster, o principal a ser lembrado é que à 1h:59m:59s é quando a alteração de horário ocorre. Como resultado, o horário é definido para 3h (quando começa o DST) ou 1h (quando termina o DST).

Uma regra simples para lembrar é que, independentemente da alteração do horário, o intervalo de agendamento permanecerá o mesmo. Isso ocorre porque o horário de execução agendado é baseado do tempo decorrido, em vez de no tempo real.

A seguinte tabela lista e descreve o funcionamento esperado para trabalhos planejados pelo ReportCaster quando o Horário de Verão estiver ocorrendo.

Intervalo

Descrição

Por exemplo:

O agendamento é definido para ser executado uma vez em um horário específico, ou todos os dias, toda semana, todo mês ou anualmente.

O agendamento é executando em um horário específico, independentemente da alteração do horário.

Um agendamento para as 9h15 continuará a ser executado nesse horário.

O agendamento é definido para ser executado a todo minuto ou horário quando o DTS iniciar.

O agendamento é adiantado em 1 hora.

Um agendamento que é executado a cada duas horas: 12:00, 2:00, 4:00 e assim por diante.

Será executado nos seguintes horários: 12h, 3h, 5h, e assim por diante.

Isso ocorre porque à 1h59m59s o relógio é alterado para 3h.

O agendamento é definido para ser executado a todo minuto ou horário quando o DTS finalizar.

O agendamento é atrasado em 1 hora.

Um agendamento que é executado a cada duas horas: 12:00, 2:00, 4:00 e assim por diante.

Será executado nos seguintes horários: 12h, 1h, 3h, e assim por diante.

Isso ocorre porque à 1h59m59s o relógio é atrasado para 1h.


WebFOCUS