Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

 

  

(Obrigatório)

Informações Gerais

 

Especificação

Produto

PIMSCSPIMSCANA

Módulo

Plataforma/Indicadores GoodData

Segmento Executor

 

Projeto1

AGROPIMSAGRO PIMS

IRM/EPIC1

AGRPIMS01-5049

Requisito/Story/Issue1

 AGRPIMS01-50

Subtarefa1

 
AGRPIMS01-73

Chamado/Ticket2

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 


Objetivo

Modelar (

Obrigatório)

Objetivo

 

<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.

design) e implementar uma estratégia para extração de dados dos módulos/produtos do segmento Agroindústria da TOTVS e envio de tais dados para a plataforma de indicadores GoodData.

Tal necessidade se originou, inicialmente, devido à obrigatoriedade de que, ao se utilizar a plataforma GoodData, a(s) base(s) de dados dos clientes dever/deveriam disponibilizar uma interface (porta de comunicação) externa à rede. Dessa maneira, todos os projetos GoodData, por padrão, buscam/buscariam dados diretamente no ambiente do cliente (servidor da base de dados disponibilizada para acesso externo).

(Obrigatório)


Definição da Regra de Negócio

 

<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

 

Tecnologias adotadas

Esta seção elenca as tecnologias e recursos tecnológicos adotados para a proposição, modelagem e implementação da plataforma Agro Agent.

Plataforma Java: versão 8 da plataforma Java.

Gerenciamento de dependências e builds com Apache Maven: versão 3.0.4 da plataforma Maven.

Recursos JDBC (em Inglês, Java Database Connectivity): conexão e execução de instruções DML inicialmente homologada para o RDBMS dos produtos Oracle.

Geração de pacotes resultantes da extração de dados: geração de arquivos CSVs e ZIPs como resultado da execução dos extratores configurados. Após a extração dos dados por meio das instruções DML, os resultados são armazenados em arquivos CSVs que, posteriormente, são encapsulados em arquivos ZIPs que serão submetidos ao GoodData (Web).

Envio de pacotes resultantes da extração de dados: autenticação na plataforma GoodData (Web) e o envio dos arquivos ZIPs (contendo os arquivos CSVs resultantes da extração de dados).

Geração de LOGs: dependência do componente Log4J para geração de arquivos de LOGs e de mensagens de auditoria da plataforma Agro Agent.

Interface com WebDAV da plataforma GoodData (Web): dependência do componente “Sardine” para a autenticação no diretório de upload da plataforma GoodData (Web) e a manipulação dos pacotes resultantes da extração de dados (arquivos ZIPs) submetidos ao processo de atualização dos indicadores GoodData.

Quartz Scheduler: agendamento de processos por expressão CRON para execução paralela (em background) dos processo de extração. Após configurados os componentes extratores, não se torna mais necessário interagir por interface gráfica. Dessa forma, a aplicação será responsável pela execução ininterrupta das extrações e envios de dados.

 

A figura abaixo ilustra uma representação arquitetural da plataforma Agro Agent, com base nas premissas, elementos arquitetônicos e fluxo/processo da estratégia proposta.

 

Image Added<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[ACAA040 – Parâmetros]

[Alteração]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA050 – Negociação Financeira]

[Envolvida]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

[Atualizações -> Acadêmico-> Cadastros]

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

Arquivo "agent.properties"

Inclusão

Arquivo físico (sem menu)

Permitir a configuração dos parâmetros necessários para a correta execução dos extratores do segmento de Agroindústria.

O nome do arquivo, e.g. "agent.properties", deve corresponder ao respectivo graph (grafo) utilizado na modelagem do projeto GoodData.

Por exemplo: "dimensoes.properties", "fatoobjetivosafra.properties", "fatoqualidade.properties" e demais.

Um único arquivo .properties pode conter vários extratores.

Arquivo "schedules.properties"InclusãoArquivo físico (sem menu)

Permitir a configuração dos processos agendados para execução do(s) extrator(es) definidos na plataforma GoodData do cliente.

Para cada extrator, deve existir um processo agendado.

 

  • Descrição de propriedades para arquivo 'dimensoes.properties'

gdc.upload > Define se, após extração, os dados serão enviados à plataforma GoodData (valores true ou false)

gdc.username > Nome de usuário para autenticação/autorização na plataforma GoodData
gdc.password > Senha de usuário para autenticação/autorização na plataforma GoodData
gdc.etl.send_credentials > Envio de credenciais de autenticação (por padrão, true)

gdc.upload_url > URL com caminho do projeto e diretório de upload da plataforma GoodData
gdc.etl.process_url > URL com caminho do projeto e ID de processo para extração e envio de dados da plataforma GoodData
gdc.etl.graph > Nome do arquivo .grf (graph ou grafo) que contém as regras para leitura dos arquivos ZIP e CSV após processo de extração
gdc.upload_archive > Padrão ou formato de nome para arquivo final de extração ZIP/CSV (por exemplo, dimensoes-${yyyyMMddHHmmss}.zip)

tmp_dir > Caminho do diretório temporário para extração de dados (se necessário)

# JDBC CONFIG #

jdbc.connections > IDs (ou nomes) dos objetos de conexão com a(s) base(s) de dados utilizada(s) na extração

JDBC0.driver > Drive (nome canônico para Java) de conexão com a base de dados
JDBC0.driver_path > Caminho físico do arquivo .jar (biblioteca Java) de conexão com a base de dados
JDBC0.username > Nome de usuário de conexão com a base de dados
JDBC0.password > Senha de usuário de conexão com a base de dados
JDBC0.url > URL (JDBC) para conexão com a base de dados

# DATA CONFIG #

data.componente.sql > SQL para extrator
data.componente.sql.file > Nome final do arquivo CSV de extração
data.componente.jdbc > ID de conexão JDBC para extração de dados

 

  • Descrição de propriedades para arquivo 'schedules.properties'

data.schedules > Nome dos processos agendados (por padrão, um processo/schedule para cada extrator)
data.schedules.count > Quantidade de processos agendados configurados

data.dimensoes.enable > Define se o processo agendado está habilitado ou desabilitado
data.dimensoes.id > ID gerado (único - não repetível) para processo agendado (número sequencial ou randômico)
data.dimensoes.name > Nome do processo agendado (por padrão, assume-se o nome do arquivo '.properties' de extração
data.dimensoes.group > Grupo do processo agendado (por padrão, assume-se o nome do arquivo '.properties' de extração
data.dimensoes.cron > Expressão CRON que define o tempo/parâmetro temporal para execução do processo agendado


  • Exemplo de arquivo "dimensoes.properties" (extração de dados para dimensões de Componente, Equipamento e Fornecedor)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

##############################
### GoodData configuration ###
##############################

gdc.upload=false

 

# Credentials
[email protected]
gdc.password=999_!@#_ABC
gdc.etl.send_credentials=true

# Target
gdc.upload_url=https://secure-di.gooddata.com/project-uploads/99999/
gdc.etl.process_url=https://analytics.totvs.com.br/gdc/projects/99999/dataload/processes/99999-99999
gdc.etl.graph=GoodDataAgro/graph/dimensoes.grf
gdc.upload_archive=dimensoes-${yyyyMMddHHmmss}.zip

# The agent creates a working subfolder using mktempdir
tmp_dir=/tmp

 

#################################
### Source data in a database ###
#################################

###############
# JDBC CONFIG #
###############

jdbc.connections=JDBC0

# TOTVS (JDBC/ORACLE)
JDBC0.driver=oracle.jdbc.driver.OracleDriver
JDBC0.driver_path=C:/Users/GD/GoodDataAgent/drivers/oracle/ojdbc7.jar
JDBC0.username=USER_DB
JDBC0.password=PWD_DB
JDBC0.url=jdbc:oracle:thin:@10.0.0.123:1521:ORCL

 

###############
# DATA CONFIG #
###############

data.componente.sql=SELECT CD_COMPO, DE_COMPO, CD_UNIMED FROM COMPONEN UNION SELECT -1 CD_COMPO, ' ' DE_COMPO, ' ' CD_UNIMED FROM DUAL ORDER BY CD_COMPO
data.componente.sql.file=componente.csv
data.componente.jdbc=JDBC0

data.equipamento.sql=SELECT CD_EQUIPTO, FG_TP_EQUIP, CD_MODELO, CD_CATEG_OPER, CD_TP_RECURSO FROM EQUIPTOS ORDER BY CD_EQUIPTO
data.equipamento.sql.file=equipamento.csv
data.equipamento.jdbc=JDBC0

data.fornecedor.sql=SELECT CD_FORNEC, DE_FORNEC FROM FORNECS ORDER BY CD_FORNEC
data.fornecedor.sql.file=fornecedor.csv
data.fornecedor.jdbc=JDBC0

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


  • Exemplo de arquivo "schedules.properties" (configuração de processos agendados para extratores)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

##############################
### GoodData schedules ###
##############################

data.schedules=dimensoes
data.schedules.count=1

data.dimensoes.enable=true
data.dimensoes.id=6805703680679205899
data.dimensoes.name=dimensoes
data.dimensoes.group=dimensoes
data.dimensoes.cron=0/15 * * * * ?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Esta seção elenca as tecnologias e recursos tecnológicos adotados para a proposição, modelagem e implementação da plataforma Agro Agent.

Opcional

Protótipo de Tela

 

  • Representação visual do Graph (grafo) do projeto GoodData com componente de CSV/ZIP

 

O uso de extratores demanda mudanças nas versões padrões (originais) dos graphs (grafos) fornecidos no projeto de indicadores GoodData - TOTVS Agroindústria. Para isto, todos os componentes de execução de consultas SQLs devem ser desabilitados e o componente 'CSV Reader' utilizado, conforme apresentado na figura abaixo. Desta forma, após a extração, o graph (grafo) irá utilizar os arquivos ZIP e CSV para integração dos dados com a plataforma GoodData.


Image Added


No componente 'CSV Reader' (figura abaixo), a propriedade 'File URL' deve ser configurada com base no formato 'zip:(${gdc_agent_zip_url})#talhao.csv' (onde 'talhao' representa o nome do arquivo CSV configurado nos arquivos .properties de extração).


Image Added


Image Added

Opcional

Protótipo de Tela

 

<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

 

Protótipo 01

 

 

 Image Removed

 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

Dicionário de Dados

 

Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

  

Índice

Chave

01

<FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

02

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

03

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

Campo

<AAA_PERESP>

Tipo

<N>

Tamanho

<6>

Valor Inicial

<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

Mandatório

Sim (  ) Não (  )

Descrição

<Referência Mínima para Cálculo>

Título

<Ref.Calc.>

Picture

<@E999.99>

Help de Campo

<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

(Opcional)

Estrutura de Menu

 

<Informações utilizadas na linha Datasul>.

 

Procedimentos

 

Procedimento

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Módulo

 

 

 

Programa base

 

 

 

Nome Menu

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Registro padrão

Sim

Sim

Sim

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Release de Liberação

 

 

 

 

 

 

Programas

 

Programa

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Nome Externo

 

 

 

Nome Menu/Programa

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Nome Verbalizado[1]

(Max 254 posições)

(Max 254 posições)

(Max 254 posições)

Procedimento

 

 

 

Template

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

Tipo[2]

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Categoria[3]

 

 

 

Executa via RPC

Sim/Não

Sim/Não

Sim/Não

Registro padrão

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Query on-line

Sim/Não

Sim/Não

Sim/Não

Log Exec.

Sim/Não

Sim/Não

Sim/Não

Rotina (EMS)

 

 

 

Sub-Rotina (EMS)

 

 

 

Localização dentro da Sub Rotina (EMS)

 

 

 

Compact[4]

Sim/Não

Sim/Não

Sim/Não

Home[5]

Sim/Não

Sim/Não

Sim/Não

Posição do Portlet[6]

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

Informar os papeis com os quais o programa deve ser vinculado

 

 

 

 

Cadastro de Papéis

<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

 

Código Papel

(máx 3 posições)

Descrição em Português*

 

Descrição em Inglês*

 


[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

[4] Obrigatório quando o projeto for FLEX

[5] Obrigatório quando o projeto for FLEX

[6] Obrigatório quando o projeto for FLEX

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.