Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Índice
outlinetrue
exclude.*ndice
stylenone

 

Nota

Esta funcionalidade Este recurso está disponível no fluig a partir da versão Atualização 1.5.5 !da plataforma fluig.

 

Conceito

A sincronização de datasets tem como objetivo reduzir o número de acessos a serviços de dados fornecidos por produtos externos ao fluig. É uma prática comum trazer dados de sistemas externos para complementar informações do formulário de um processo ou realizar validações em eventos com base nas informações retornadas por este dataset. Em um exemplo mais específico vamos supor que o usuário precisa informar no formulário de seu processo o centro de custo e que a lista dos centros de custo válidos está disponível em um sistema externo. Para que este usuário consiga informar um centro de custo válido ele deverá através de um formulário acessar um campo com pesquisas que por sua vez solicita informações para o dataset que quando executado através do fluig faz acesso ao serviço de dados do sistema externo. Se este workflow possuir uma média de cinco mil abertura de processo por dia teremos pelo menos cinco mil acessos a este sistema externo que em muitos casos acaba retornando sempre as mesmas informações ou tendo uma variação muito pequena de informações entre uma consulta e outra. O desenho abaixo ilustra como funciona o ciclo de acesso do usuário a uma informação externa ao fluig.

...

RetornoMétodo | Descrição
AddColumnAddColumn(String field, DatasetFieldType type) 
Cria um campo na tabela com o nome e tipo informados. O tipo de campo pode ser omitido e neste caso o campo será criado com o tipo String. Os tipos disponíveis são: 
DatasetFieldType.NUMBER  
DatasetFieldType.DATE 
 DatasetFieldType.BOOLEAN
 DatasetFieldType.STRING
DatasetFieldType.TEXT
setKeysetKey(Object[] fields) 
Determina quais são os campos chaves para o dataset. No banco de dados será criado um índice utilizando os campos informados neste método. Esses campos serão utilizados na localização dos registros para atualização ou remoção das linhas através dos métodos updateRow e deleteRow. Importante informar apenas campos que foram previamente definidos com a função addColumn.
addIndexaddIndex(Object[] fields) 
Permite adicionar mais índices para obtenção de maior performance nas consultas do dataset.

...

Nota
titleImportante
  • A função defineStructure é obrigatória para configuração do dataset offline.
  • O tipo de campo DatasetFieldType.TEXT foi introduzido na Atualização 1.6.1 da plataforma fluig. Este tipo foi desenvolvido especificamente para sincronização de datasets em ambientes que utilizam o banco de dados Oracle, onde o tipo DatasetFieldType.STRING é limitado a apenas 255 caracteres. O tipo de campo TEXT em Oracle suporta até 4000 caracteres. Em ambientes MySQL e SQL Server, não há distinção no comportamento dos tipos TEXT e STRING.
  • Na atualização do dataset, caso ocorra qualquer alteração neste método que indique alteração da estrutura da tabela, ocorrerá o drop da tabela antiga e todos os dados anteriores a esta alteração serão perdidos. A alteração de estrutura da tabela ocorrerá na próxima execução da tarefa agendada de sincronização do dataset.

  • Lembre-se que os nomes das colunas dos datasets serão os nomes das colunas criadas em banco. Lembre-se de considerar as regras de nomenclatura de campos do seu banco. Não utilizar espaços em branco no nome ou caracteres especiais como (!@#$%-+=, etc) ou palavras reservadas do banco. Caso utilize a nomenclatura não permitida, não será possível sincronizar os dados na tabela.

  • Não definir um campo com o nome ID. Internamente a sincronização cria um campo com este nome para fins de paginação e gerenciamento de registros. Ao criar uma metalista com este nome ocorrerá um erro de campo duplicado ao tentar criar a tabela de sincronização.
  • Os comandos AddIndex e AddKey não irão gerar índices nas tabelas de bancos de Dados SQLServer. Os comandos podem ser implementados no código do porém os índices de tabela deverão ser criados via ferramenta de administração do banco. Os campos informados no comando addKey serão utilizados como campos para controle de registros duplicados e nas operação de adição, remoção e modificação de registros.

...