Páginas filhas
  • ER_FRWJOI01-3_Serviços_para_monitoramento_de_EAI

Versões comparadas

Chave

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

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

  

Informações Gerais

 

Especificação

Produto

TOTVS

Módulo

EAI

Segmento Executor

Framework

Projeto1

FRWJOI01

IRM1

Evolução EAI

Requisito1

FRWJOI01-3

Subtarefa1

FRWJOI01-84

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

 

Descrever os serviços WEB que devem ser disponibilizados pelos produtos TOTVS para monitoramento do EAI (status do serviço, mensagens e configurações).


Definição da Regra de Negócio

Índice
minLevel3
typeflat


Pré-requisitos


Os serviços de monitoramento de EAI disponibilizados pelos produtos deverão atender os seguintes pré-requisitos:

  • Plataforma com suporte a REST e autenticação HTTP Basic.
  • Suporte a expressões XPath, para pesquisa de conteúdo em documentos XML.
  • Suporte a tratamento de cross-domain, por conta das requisições de serviços em servidores de domínio diferente.

Definições gerais dos serviços

 

Todas as linhas de produto deverão definir uma URL base, a partir da qual os serviços REST do monitor de EAI serão disponibilizados. Todos os caminhos descritos neste documento serão relativos a esta URL base.

As URLs dos serviços - por exemplo, /totvseai/monitor/v1/admin - são compostas pelos seguintes elementos:

  • totvseai - designa o contexto dos serviços relacionados ao EAI TOTVS.
  • monitor - designa o sub-contexto dos serviços. Neste caso, são os serviços relacionados ao monitoramento. Outro sub-contexto possível seria config, para agrupar serviços de configuração do EAI.
  • v1 - descreve a versão dos serviços dentro do sub-contexto. Isso permite a evolução dos serviços, sem quebrar clientes dos serviços de versões anteriores.
  • entidade - descreve a entidade que provê os recursos acessados pelo serviço. No caso dos serviços de monitoramento, teremos apps, transactions, msgs, entre outras.

Os retornos dos serviços REST devem estar encapsulados dentro de um objeto JSON com a seguinte especificação:

Bloco de código
languagejs
{
	“messages” : [ { ... }, { ... }, ... ],
	“length” : 999,
	“data” : [{ ... }]
}

 

Conteúdos de negócio, listas, dados e objetos devem estar contidos dentro do atributo data. O atributo length especifica o tamanho da lista ou a quantidade de dados contida no atributo data; No caso das listas, o atributo length, quando aplicável, contém a quantidade total de itens correspondentes aos parâmetros de pesquisa, e não apenas os que estão contidos no retorno, o que é comum quando há paginação de dados. O atributo messages contém uma lista de mensagens para exibir ao usuário (mensagens de erro ou de negócio). Cada elemento do array será um objeto que obedece a seguinte estrutura:

Bloco de código
languagejs
{
	“code” : “string”,
	“type” : “danger|error|warning|info|success”,
	“detail” : “string”
}

 

O atributo code representa o código da mensagem. Caso a mensagem possua um detalhamento técnico, este deve constar no atributo detail. O atributo type identifica o tipo de mensagem a ser exibida ao usuário: danger (perigo), error (erro), warning (aviso), info (informação) ou success (sucesso).

Descrição dos serviços do monitor

 

Os serviços de monitoramento que serão descritos a seguir estão divididos nas seguintes categorias:

  • Serviços de administração;
  • Serviços de aplicativo;
  • Serviços de mensagem;
  • Serviços de sumarização de mensagem;
  • Serviços de listagem de mensagem;
  • Serviços de filtro de mensagem;
  • Serviços de mapeamento de valores (“de-para”);

Na descrição de cada serviço podemos encontrar os seguintes elementos:

  • Esquema geral da URL do serviço;
  • Parâmetros de entrada e saída;
  • Descrição do serviço com detalhes relativos ao seu funcionamento;
  • Exemplos de uso do serviço, com URLs em situações específicas, e o respectivo retorno.


Serviços de Administração

 

GET /totvseai/monitor/v1/admin/context

Recebe

Não recebe parâmetros

Retorna

Application/JSON

 O método /totvseai/monitor/v1/admin/context é utilizado para obter informações de contexto de EAI do aplicativo, seja ele interno ou externo. No JSON de retorno, no atributo data, deve constar as seguintes informações:               

  • hostAppID: Código do aplicativo interno (host application);
  • databaseType: O tipo de banco de dados em uso pelo produto (ORACLE, SQLSERVER, PROGRESS, DB2, MYSQL, etc.);
  • productName: Nome do produto instalado (DATASUL, PROTHEUS, RM, LOGIX, etc.);
  • productVersion: Versão do produto instalado;
  • userCode: código do usuário logado. Corresponde ao identificador único gerado pelo produto, por exemplo, “jose.silva”, “santos001”, etc.;
  • userName: nome do usuário logado, por exemplo, “José da Silva”, “Luiz dos Santos”, etc.;
  • userEmail: e-mail do usuário logado. Por exemplo: “jose.silva@totvs.com.br”, “santos-luiz@mycomp.com”, etc.;
  • userDialect: dialeto do usuário logado, utilizado para fins de tradução da interface do usuário (i18n). Por exemplo, “pt-BR”, “es-ES”, “en-US”, etc.;
  • userCanMonitor: indica se o usuário logado pode acessar o monitor de EAI (serviços e interface) ou não. Pode ser “true” ou “false”.

Importante: Em relação ao acesso, este será o único serviço que um usuário não autorizado poderá acessar e obter retorno. Os demais serviços retornarão código HTTP 403 (Forbidden) caso não tenham permissão (userCanMonitor = “false”).

Exemplo de JSON de retorno:

GET /totvseai/monitor/v1/admin/context

{

       “messages” : [],

       “length” : 1,

       “data” : [{

             “hostAppID” : “app1”,

             “databaseType” : “ORACLE”,

             “productName” : “PROTHEUS”,

             “productVersion” : “12.1.11”,

             “userCode” : “jose.silva”,

             “userName" : “Jose da Silva”,

             “userEmail” : “jose.silva@mycomp.com”,

             “userDialect” : “pt-BR”,

             “userCanMonitor” : true

       }]

} serviços do monitor 

 

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

 

 

 

 

 

 

 

 

 

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.