Fluxo de trabalho na Informatica: Criar, Tarefa, Parâmetro, Reutilizável, Gerenciador
O que é fluxo de trabalho?
Fluxo de trabalho é um grupo de instruções/comandos para o serviço de integração na Informatica. O serviço de integração é uma entidade que lê informações de fluxo de trabalho do repositório, busca dados de fontes e após realizar a transformação carrega-os no destino.
Fluxo de trabalho – define como executar tarefas como tarefa de sessão, tarefa de comando, tarefa de email, etc.
Para criar um fluxo de trabalho
- Você primeiro precisa criar tarefas
- E então adicione essas tarefas ao fluxo de trabalho.
Um Workflow é como um contêiner vazio, que tem capacidade para armazenar um objeto que você deseja executar. Você adiciona tarefas ao fluxo de trabalho que deseja executar. Neste tutorial, faremos o seguinte no fluxo de trabalho.
A execução do fluxo de trabalho pode ser feita de duas maneiras
- Seqüência : As tarefas são executadas na ordem em que são definidas
- Baseado em eventos: As tarefas são executadas com base nas condições do evento.
Como abrir o Gerenciador de fluxo de trabalho
Passo 1) No Informatica Designer, clique no ícone do gerenciador de fluxo de trabalho
Passo 2) Isso abrirá uma janela do Workflow Manager. Em seguida, no gerenciador de fluxo de trabalho.
- Vamos nos conectar ao repositório “guru99”, então clique duas vezes na pasta para conectar.
- Digite o nome de usuário e a senha e selecione “Botão Conectar”.
Passo 3) No gerenciador de fluxo de trabalho.
- Clique com o botão direito na pasta
- No menu pop-up, selecione a opção abrir
Isso abrirá o espaço de trabalho do gerenciador de fluxo de trabalho.
Como criar conexões para o Workflow Manager
Para executar qualquer tarefa no gerenciador de fluxo de trabalho, você precisa criar conexões. Ao usar essas conexões, o Serviço de Integração se conecta a objetos diferentes.
Por exemplo, em seu mapeamento se você tiver uma tabela de origem no banco de dados Oracle, precisará de uma conexão Oracle para que o serviço de integração possa se conectar ao banco de dados Oracle para buscar os dados de origem.
Os seguintes tipos de conexões podem ser criados no gerenciador de fluxo de trabalho.
- Conexão Relacional
- Conexão FTP
- Fila
- Aplicação
A escolha da conexão que você criará dependerá do tipo de sistema de origem e de destino que você deseja conectar. Mais frequentemente, você usaria conexões relacionais.
Para criar uma conexão relacional
Passo 1) No Gerenciador de fluxo de trabalho
- Clique no menu Conexão
- Selecione a opção relacional
Passo 2) Na janela pop-up
- Selecionar Oracle no tipo
- Clique no novo botão
Passo 3) Na nova janela de definição do objeto de conexão
- Digite o nome da conexão (novo nome-guru99)
- Insira nome de usuário
- Digite a senha
- Insira a string de conexão
- Deixe outras configurações como padrão e selecione o botão OK
Passo 4) Você retornará à janela anterior. Clique no botão Fechar.
Agora você está configurado com a conexão relacional no gerenciador de fluxo de trabalho.
Componentes do gerenciador de fluxo de trabalho
Existem três ferramentas componentes do gerenciador de fluxo de trabalho que ajudam na criação de vários objetos no gerenciador de fluxo de trabalho. Essas ferramentas são
- Desenvolvedor de Tarefas
- Designer de Worklet
- Designer de Fluxo de Trabalho
Desenvolvedor de Tarefas – O desenvolvedor de tarefas é uma ferramenta com a qual você pode criar objetos reutilizáveis. Objetos reutilizáveis no gerenciador de fluxo de trabalho são objetos que podem ser reutilizados em vários fluxos de trabalho. Por exemplo, se você criou uma tarefa de comando no desenvolvedor de tarefas, poderá reutilizar essa tarefa em qualquer número de fluxos de trabalho.
A função do designer de Workflow é executar as tarefas nele adicionadas. Você pode adicionar qualquer número de tarefas em um fluxo de trabalho.
Você pode criar três tipos de tarefas reutilizáveis no desenvolvedor de tarefas.
- Tarefa de comando
- Tarefa de sessão
- Tarefa e-mail
Tarefa de comando – Uma tarefa de comando é usada para executar diferentes comandos do Windows/Unix durante a execução do fluxo de trabalho. Você pode criar tarefas de comando para executar várias tarefas baseadas em comandos. Com a ajuda desta tarefa você pode executar comandos para criar arquivos/pastas, para excluir arquivos/pastas, para fazer ftp de arquivos etc.
Tarefa de Sessão – Uma tarefa de sessão na Informatica é necessária para executar um mapeamento.
- Sem uma tarefa de sessão, você não pode executar ou executar um mapeamento
- Uma tarefa de sessão pode executar apenas um único mapeamento. Portanto, existe um relacionamento individual entre um mapeamento e uma sessão
- Uma tarefa de sessão é um objeto com a ajuda do qual informática fica sabendo como e onde executar um mapeamento e em que momento
- As sessões não podem ser executadas de forma independente, uma sessão deve ser adicionada a um fluxo de trabalho
- In objeto de sessão propriedades de cache podem ser configuradas e também configuração avançada de otimização de desempenho.
Tarefa de e-mail – Com a ajuda da tarefa de email, você pode enviar emails para destinatários definidos quando o Serviço de Integração executa um fluxo de trabalho. Por exemplo, se quiser monitorar quanto tempo uma sessão leva para ser concluída, você pode configurar a sessão para enviar um e-mail contendo os detalhes do horário de início e término da sessão. Ou, se quiser que o Serviço de Integração notifique quando um fluxo de trabalho for concluído/falha, você poderá configurar a tarefa de email para o mesmo.
Como criar tarefa de comando
Passo 1) Para criar uma tarefa de comando, usaremos o Task Developer. No Workflow Manager, abra o task developer clicando na aba “task developer” do menu.
Passo 2) Depois que o desenvolvedor de tarefas for aberto, siga estas etapas
- Selecione o menu Tarefas
- Selecione a opção Criar
Passo 3) Na janela de criação de tarefa
- Selecione o comando como tipo de tarefa a ser criada
- Insira o nome da tarefa
- Selecione o botão criar
Isso criará uma pasta de tarefas de comando. Agora você tem que configurar a tarefa para adicionar comandos nela, que veremos no próximo passo.
Passo 4) Para configurar a tarefa, clique duas vezes no ícone da tarefa de comando e será aberta uma “janela de edição de tarefa”. Na nova janela de edição de tarefa
- Selecione o menu de comandos
- Clique no ícone adicionar novo comando
- Digite o nome do comando
- Clique no ícone de comando para adicionar texto de comando
Isso abrirá uma caixa do editor de comandos.
Passo 5) Na caixa do editor de comandos, digite o comando “mkdir C:\guru99” (este é o comando do Windows para criar uma pasta chamada “guru99”) e selecione OK.
Após esta etapa, você retornará à janela de edição de tarefas e poderá ver o comando adicionado à caixa de texto do comando.
Passo 6) Clique em OK na janela de edição da tarefa,
A tarefa de comando será criada no desenvolvedor de tarefas no repositório “Guru99”.
Note use o atalho ctrl+s para salvar as alterações no repositório
Como criar fluxo de trabalho para executar tarefa de comando
Para executar tarefas de comando, você deve ativar o designer de fluxo de trabalho. Um designer de fluxo de trabalho é um objeto pai ou contêiner no qual você pode adicionar várias tarefas e quando o fluxo de trabalho for executado, todas as tarefas adicionadas serão executadas. Para criar um fluxo de trabalho
Passo 1) Abra o designer de fluxo de trabalho clicando no menu do designer de fluxo de trabalho
Passo 2) No designer de fluxo de trabalho
- Selecione o menu de fluxos de trabalho
- Selecione a opção de criação
Passo 3) Na janela de criação de fluxo de trabalho
- Insira o nome do fluxo de trabalho
- Selecione o botão OK (deixe outras opções como padrão)
Isso criará o fluxo de trabalho.
Convenção de nomes - Os nomes dos fluxos de trabalho são prefixados com 'wkf_', se você tiver uma sessão chamada 's_m_employee_detail' então o fluxo de trabalho para o mesmo pode ser nomeado como 'wkf_s_m_employee_detail'.
Quando você cria um fluxo de trabalho, ele não consiste em nenhuma tarefa. Portanto, para executar qualquer tarefa em um fluxo de trabalho você deve adicionar uma tarefa a ele.
Passo 4) Para adicionar a tarefa de comando que criamos no Task Developer ao designer de fluxo de trabalho
- Na árvore do navegador, expanda a pasta de tarefas
- Arraste e solte a tarefa de comando no designer de fluxo de trabalho
Passo 5) Selecione a “opção de tarefa de link” na caixa de ferramentas do menu superior. (A opção de tarefa de link vincula várias tarefas em um fluxo de trabalho à tarefa inicial, para que a ordem de execução das tarefas possa ser definida).
Passo 6) Depois de selecionar o ícone da tarefa de link, você poderá arrastar o link entre a tarefa inicial e a tarefa de comando. Agora selecione a tarefa inicial e arraste um link para a tarefa de comando.
Agora você está pronto com o fluxo de trabalho com uma tarefa de comando a ser executada.
Como executar o fluxo de trabalho
Passo 1) Para executar o fluxo de trabalho
- Selecione a opção de fluxos de trabalho no menu
- Selecione a opção iniciar fluxo de trabalho
Isso vai abrir monitor de fluxo de trabalho janela e executa o fluxo de trabalho
Assim que o fluxo de trabalho for executado, ele executará a tarefa de comando para criar uma pasta (pasta guru99) no diretório definido.
Tarefa de Sessão
Uma tarefa de sessão na Informatica é necessária para executar um mapeamento.
Sem uma tarefa de sessão, você não pode executar ou executar um mapeamento e uma tarefa de sessão pode executar apenas um único mapeamento. Portanto, existe um relacionamento individual entre um mapeamento e uma sessão. Uma tarefa de sessão é um objeto com a ajuda do qual a Informatica sabe como e onde executar um mapeamento e em que momento. As sessões não podem ser executadas de forma independente; uma sessão deve ser adicionada a um fluxo de trabalho. Na sessão, as propriedades do cache do objeto podem ser configuradas e também a configuração avançada de otimização de desempenho.
Como criar uma tarefa de sessão
Neste exercício você criará uma tarefa de sessão para o mapeamento “m_emp_emp_target” que você criou no artigo anterior.
Passo 1) Abra o gerenciador de fluxo de trabalho e o desenvolvedor de tarefas aberto
Passo 2) Agora, quando o desenvolvedor de tarefas abrir, no gerenciador de fluxo de trabalho, vá para o menu principal
- Clique no menu de tarefas
- Selecione a opção de criação
Isso abrirá uma nova janela “Criar Tarefa”
Passo 3) Na janela de criação de tarefa
- Selecione tarefa de sessão como tipo de tarefa.
- Insira o nome da tarefa.
- Clique no botão criar
Passo 4) Uma janela para seleção do mapeamento aparecerá. Selecione o mapeamento que deseja associar a esta sessão, para este exemplo selecione o mapeamento “m_emp_emp_target” e clique no botão OK.
Passo 5) Depois disso, clique no botão “Concluído”
O objeto de sessão aparecerá no desenvolvedor de tarefas
Passo 6) Nesta etapa você criará um fluxo de trabalho para a tarefa da sessão. Clique no ícone do designer de fluxo de trabalho.
Passo 7) Na ferramenta de designer de fluxo de trabalho
- Clique no menu de fluxo de trabalho
- Selecione a opção de criação
Passo 8) Na janela de criação de fluxo de trabalho
- Insira o nome do fluxo de trabalho
- Selecione OK. (deixe outras propriedades como padrão, não há necessidade de alterar nenhuma propriedade)
No gerenciador de fluxo de trabalho aparecerá uma tarefa inicial, que é um ponto de partida para a execução do fluxo de trabalho.
Passo 9) No gerenciador de fluxo de trabalho
- Expanda a pasta de sessões na árvore de navegação.
- Arraste e solte a sessão que você criou no espaço de trabalho do gerenciador de fluxo de trabalho.
Passo 10) Clique na opção de tarefa de link na caixa de ferramentas.
Passo 11) Vincule a tarefa inicial e a tarefa de sessão usando o link.
Passo 12) Double clique no objeto de sessão no gerenciador wokflow. Isso abrirá uma janela de tarefas para modificar as propriedades da tarefa.
Passo 13) Na janela de edição da tarefa
- Selecione a guia de mapeamento
- Selecione a propriedade de conexão
- Atribua a conexão à origem e ao destino, a conexão que criamos nas etapas iniciais.
- Selecione o botão OK
Agora sua configuração do fluxo de trabalho está concluída e você pode executá-lo.
Como adicionar várias tarefas a uma tarefa inicial
A tarefa inicial é um ponto de partida para a execução do fluxo de trabalho. Existem duas maneiras de vincular várias tarefas a uma tarefa inicial.
- Paralelo
- Serial
Na vinculação paralela, as tarefas são vinculadas diretamente à tarefa inicial e todas as tarefas começam a ser executadas em paralelo ao mesmo tempo.
Como adicionar tarefas em paralelo
Passo 1)No gerenciador de fluxo de trabalho, abra o fluxo de trabalho “wkf_run_command”
Passo 2)No fluxo de trabalho, adicione a tarefa de sessão “s_m_emp_emp_target”. (selecionando sessão e arrastando e soltando)
Passo 3)Selecione a opção de tarefa de link na caixa de ferramentas
Passo 4) vincular a tarefa da sessão à tarefa inicial (clicando em tarefas iniciais, segurando o clique e conectando-se à tarefa da sessão)
Depois de vincular a tarefa da sessão, o fluxo de trabalho ficará assim.
Passo 5)Inicie o fluxo de trabalho e monitore no monitor de fluxo de trabalho.
Como adicionar tarefas em modo serial
Mas antes de adicionarmos tarefas no modo serial, temos que excluir a tarefa que adicionamos para demonstrar a execução paralela da tarefa. Por isso
Passo 1)Abra o fluxo de trabalho “w.kf_run_command”
- Selecione o link para a tarefa da sessão.
- Selecione a opção de edição no menu
- Selecione a opção de exclusão
Passo 2)A caixa de diálogo de confirmação aparecerá em uma janela, selecione a opção sim
O link entre a tarefa inicial e a tarefa de sessão será removido.
Passo 3)Agora vá novamente ao menu superior e selecione a opção de tarefa de link na caixa de ferramentas
Passo 4)vincular a tarefa de sessão à tarefa de comando
Depois de vincular o fluxo de trabalho ficará assim
Passo 5) Para tornar a aparência visual do fluxo de trabalho mais clara
- Clique com o botão direito no wokspace do fluxo de trabalho
- Selecione organizar menu
- Selecione a opção horizontal
Se você iniciar o fluxo de trabalho, a tarefa de comando será executada primeiro e após sua execução, a tarefa de sessão será iniciada.
Variável de fluxo de trabalho
As variáveis de fluxo de trabalho permitem que diferentes tarefas em um fluxo de trabalho troquem informações entre si e também permitem que as tarefas acessem determinadas propriedades de outras tarefas em um fluxo de trabalho. Por exemplo, para obter a data atual você pode usar a variável embutida “sysdate”.
O cenário mais comum é quando você tem múltiplas tarefas em um fluxo de trabalho e em uma tarefa você acessa a variável de outra tarefa. Por exemplo, se você tiver duas tarefas em um fluxo de trabalho e o requisito for executar a segunda tarefa somente quando a primeira tarefa for executada com êxito. Você pode implementar esse cenário usando uma variável predefinida no fluxo de trabalho.
Implementando o cenário
Tínhamos um fluxo de trabalho “wkf_run_command” com tarefas adicionadas em modo serial. Agora adicionaremos uma condição à ligação entre a tarefa de sessão e a tarefa de comando, para que, somente após o sucesso da tarefa de comando a tarefa de sessão seja executada.
Passo 1) Abra o fluxo de trabalho “wkf_run_command”
Passo 2) Double clique no link entre sessão e tarefa de comando
Uma janela de Expressão aparecerá
Passo 3)Double clique na variável de status no menu “cmd_create_folder”. Uma variável “$cmd_create_folder.status” aparecerá na janela do editor no lado direito.
Passo 4) Agora definiremos a condição da variável “$cmd_create_folder.status” para status de sucesso. o que significa que quando as tarefas anteriores forem executadas e a execução for bem-sucedida, execute apenas a próxima tarefa da sessão.
- Altere a variável para o valor “$cmd_create_folder.status=SUCCEEDED”.
- Clique no botão OK
O fluxo de trabalho ficará assim
Quando você executa este fluxo de trabalho, a tarefa de comando é executada primeiro e somente quando for bem-sucedida, somente a tarefa de sessão será executada.
Parâmetro de fluxo de trabalho
Os parâmetros do fluxo de trabalho são aqueles valores que permanecem constantes durante a execução. uma vez que seu valor é atribuído, ele permanece o mesmo. Os parâmetros podem ser usados nas propriedades do fluxo de trabalho e seus valores podem ser definidos em arquivos de parâmetros. Por exemplo, em vez de usar um valor de conexão codificado, você pode usar um parâmetro/variável no nome da conexão e o valor pode ser definido no arquivo de parâmetro.
Arquivos de parâmetros são os arquivos nos quais definimos os valores das variáveis ou parâmetros de mapeamento/fluxo de trabalho. Esses arquivos têm a extensão “.par”. Como padrão geral, um arquivo de parâmetros é criado para um fluxo de trabalho.
Vantagens do arquivo de parâmetros
- Ajuda na migração de código de um ambiente para outro
- Permite fácil depuração e teste
- Os valores podem ser modificados com facilidade, sem alteração no código
Estrutura do arquivo de parâmetros
A estrutura do arquivo de parâmetros
- [nome_da_pasta.WF:Nome_do_fluxo de trabalho]
- $Parameter_name=Parâmetro_valor
Folder_name é o nome da pasta do repositório, o nome do fluxo de trabalho é o nome do fluxo de trabalho para o qual você está criando o arquivo de parâmetro.
Estaremos criando um arquivo de parâmetros para a conexão de banco de dados “guru99” que atribuímos em nossas primeiras sessões para fontes e destinos.
Como criar arquivo de parâmetros
Passo 1)Crie um novo arquivo vazio (arquivo do bloco de notas)
Passo 2)No arquivo, insira o texto conforme mostrado na figura
Passo 3) Salve o arquivo na pasta guru99 no local “C:\guru99” como “wkf_run_command.par”
No arquivo criamos um parâmetro “$DBConnection_SRC”, iremos atribuir o mesmo a uma conexão em nosso fluxo de trabalho.
Passo 4)Abra o fluxo de trabalho “wkf_run_command”
- Selecione o menu de fluxos de trabalho
- Selecione a opção de edição
Passo 5)Isso abrirá a janela de edição do fluxo de trabalho, nesta janela
- Vá para o menu da guia de propriedades
- Insira o nome do arquivo de parâmetro como “c:\guru99\wkf_run_command.par”
- Selecione o botão OK
Agora concluímos a definição do conteúdo do arquivo de parâmetros e apontamos para um fluxo de trabalho.
O próximo passo é usar o parâmetro na sessão.
Passo 6) No fluxo de trabalho, clique duas vezes na sessão “s_m_emp_emp_target” e depois
- Selecionar menu da guia mapeamentos
- Selecione a propriedade de conexão no painel esquerdo
- Clique na conexão de destino, que agora está codificada como “guru99”
Passo 7)Uma janela do navegador de conexão aparecerá, nessa janela
- Selecione a opção para usar variável de conexão
- Insira o nome da variável de conexão como “$DBConnection_SRC”
- Selecione o botão OK
Passo 8) Na janela de edição da tarefa, a variável de conexão aparecerá para o destino. Selecione o botão OK na janela de edição da tarefa.
Agora terminamos de criar parâmetros para uma conexão e atribuir seu valor ao arquivo de parâmetros.
Quando executamos o fluxo de trabalho, o fluxo de trabalho seleciona o arquivo de parâmetros, procura o valor de seus parâmetros/variáveis no arquivo de parâmetros e pega esses valores.