Topologias para o conector de serviço de dados em DataStage tarefas

O uso do conector de serviço de dados em tarefas implica um conjunto de restrições e diretrizes. A plataforma de arquitetura orientada a serviços (SOA) suporta três topologias de tarefas para diferentes requisitos de carga e estilo de trabalho: tarefas com uma etapa de entrada de serviço de dados, tarefas com uma etapa de saída de serviço de dados e tarefas com etapas de entrada e saída de serviço de dados.

O design de uma tarefa determina se ela fica sempre em execução ou se é executada uma única vez até ser concluída. Todos os trabalhos expostos como serviços processam solicitações de forma ad hoc e e 24x7 e.

Certifique-se de que os nomes das colunas em seus DataStage® trabalhos não contenham um dígito numérico seguido por uma letra minúscula, como 2b. Esse tipo de nome de coluna fará com que seus trabalhos falhem.

Um serviço aceita solicitações de aplicativos clientes, mapeando os dados da solicitação para linhas de entrada e passando-os para os trabalhos subjacentes. Uma instância de trabalho pode incluir pesquisas em bancos de dados, transformações, padronização e correspondência de dados, além de outras tarefas de integração de dados. Uma instância de trabalho pode então retornar linhas de saída que podem ser mapeadas para dados de resposta do serviço e enviadas de volta ao cliente.

Conector de serviço de dados apenas como entrada

Figura 1. Exemplo de fluxo do conector do Serviço de Dados apenas como entrada
Exemplo de fluxo do conector do Serviço de Dados apenas como entrada
A Topologia I utiliza tarefas novas ou existentes que são expostas como serviços. Uma tarefa é iniciada sob demanda e é executada continuamente até receber uma solicitação de parada. A tarefa normalmente inicia um processo em tempo real que não requer feedback direto sobre os resultados. Ele pode aceitar parâmetros de trabalho como argumentos de entrada. Os trabalhos de Topologia I têm as seguintes características:
Horários de início
O tempo decorrido para iniciar um trabalho pela primeira vez, também conhecido como latência, é elevado. Esse fator contribui para uma baixa taxa de rendimento na comunicação com o serviço de tarefas e o serviço RabbitMQ.
Entrada
Um serviço de informações baseado em uma tarefa com o conector de serviço de dados como entrada pode usar parâmetros de tarefa como argumentos de entrada. Este tipo de serviço não retorna nenhuma saída. Se o trabalho terminar de forma anormal, o cliente do serviço recebe uma exceção.

Um trabalho pode ter apenas um estágio de entrada do conector de serviço de dados. O estágio de entrada do conector de serviço de dados suporta um link de saída. Sua definição de tabela mapeia os argumentos de entrada de uma operação de serviço, ou seja, os argumentos de dados de entrada de uma solicitação de serviço web. Os valores de entrada podem consistir em um valor atômico (coluna única), uma estrutura (várias colunas) ou uma matriz de estruturas (várias linhas).

Definindo etapas
Trabalhos com etapas passivas que possuem links de entrada e saída não são elegíveis para implementar operações de serviço. O trabalho que possui um estágio de fonte de dados com links de entrada e saída não pode ser usado para implementar uma operação de serviço. Se você precisar de um estágio de fonte de dados com links de entrada e saída, não use um estágio de entrada do conector de serviço de dados.

Além disso, uma consulta ao banco de dados com resultados que são executados novamente em um link de saída é executada apenas uma vez, quando a instância do trabalho é iniciada. Não é necessário repetir em cada solicitação de serviço. Se você deseja extrair dados de uma fonte de dados, use um link de referência para realizar a pesquisa.

Comportamento sempre ativo
Um trabalho que está em conformidade com a Topologia I está sempre em execução. Uma instância de trabalho lida com várias solicitações durante seu tempo de vida. Se o trabalho for interrompido, o cliente do serviço receberá uma exceção.

Conector de serviço de dados apenas como saída

Figura 2 Exemplo de fluxo do conector do Serviço de Dados apenas como saída
Exemplo de fluxo do conector do Serviço de Dados apenas como saída

A Topologia II utiliza um novo trabalho e adiciona um estágio de saída. Um trabalho começa sob demanda. O estágio de saída do conector de serviço de dados é o ponto de saída da tarefa, com um link de entrada e retornando uma ou mais linhas para o aplicativo cliente como uma resposta de serviço. Sua definição de tabela mapeia os argumentos de saída de uma operação de serviço, ou seja, o valor de retorno de uma operação de serviço web. Os valores de retorno podem consistir em um valor atômico (uma coluna), uma estrutura (várias colunas) ou uma matriz de estruturas (várias linhas). Essas tarefas normalmente iniciam um processo a partir de um processo em tempo real que requer feedback ou dados dos resultados. Ele pode aceitar parâmetros de trabalho como argumentos de entrada.

Conector de serviço de dados com entrada e saída

Figura 3. Exemplo de fluxo do conector do Serviço de Dados como entrada e saída
Exemplo de fluxo do conector do Serviço de Dados como entrada e saída

Em Topologia III, os trabalhos utilizam tanto um estágio de entrada do conector de serviço de dados quanto um estágio de saída do serviço. O estágio de entrada é o ponto de entrada para um trabalho, aceitando uma ou mais linhas durante uma solicitação de serviço. Essas tarefas estão sempre em execução. Essa topologia é normalmente usada para processar grandes volumes de transações menores, nas quais o tempo de resposta é importante. Ele foi projetado para processar muitas solicitações pequenas, em vez de poucas solicitações grandes. A Topologia III pode aceitar parâmetros de trabalho como argumentos de entrada.

Os trabalhos de Topologia III têm as seguintes características:
Horários de início
O tempo decorrido para iniciar um trabalho pela primeira vez, também conhecido como latência, é elevado. Esse fator contribui para uma baixa taxa de rendimento na comunicação com o serviço de tarefas e o serviço RabbitMQ.
Entrada e saída
Um trabalho pode ter apenas um estágio de entrada do conector de serviço de dados. O estágio de entrada do conector de serviço de dados suporta um link de saída. Sua definição de tabela mapeia os argumentos de entrada de uma operação de serviço, ou seja, os argumentos de dados de entrada de uma solicitação de serviço web. Os valores de entrada podem consistir em um valor atômico (coluna única), uma estrutura (várias colunas) ou uma matriz de estruturas (várias linhas). O tamanho máximo de entrada é de 2 MB. Entradas maiores enviam uma mensagem de erro para o aplicativo cliente.

Um trabalho pode ter apenas um estágio de saída do conector de serviço de dados. O estágio de saída do conector de serviço de dados suporta um link de entrada. Sua definição de tabela mapeia os argumentos de saída de uma operação de serviço, ou seja, os valores de retorno de uma solicitação de serviço web. Os valores de retorno podem consistir em um valor atômico (coluna única), uma estrutura (várias colunas) ou uma matriz de estruturas (várias linhas). O tamanho máximo da saída é de 2 MB. Resultados maiores são truncados e enviam uma mensagem de erro para o aplicativo cliente.

Definindo etapas
Trabalhos com etapas passivas que possuem links de entrada e saída não são elegíveis para implementar operações de serviço. O trabalho que possui um estágio de fonte de dados com links de entrada e saída não pode ser usado para implementar uma operação de serviço. Se você precisar de um estágio de fonte de dados com links de entrada e saída, não use um estágio de entrada do conector de serviço de dados.

Além disso, uma consulta ao banco de dados com resultados que são executados novamente em um link de saída é executada apenas uma vez, quando a instância do trabalho é iniciada. Não é necessário repetir em cada solicitação de serviço. Se você deseja extrair dados de uma fonte de dados, use um link de referência para realizar a pesquisa.

Comportamento sempre ativo
Um trabalho que está em conformidade com a Topologia III está sempre em execução. Uma instância de trabalho lida com várias solicitações durante seu tempo de vida. Se o trabalho for interrompido, o cliente do serviço receberá uma exceção.