Histórico da Página
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 | Logix | Módulo | Foundation |
Segmento Executor | Tecnologia | ||
Projeto | LD_FRW_FRW002 | IRM | PCREQ-9903 |
Requisito | PCREQ-9904 | Subtarefa | PDR_LD_FRW001-241 |
País | (X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
Desenvolver uma ferramenta que efetue a exportação e publicação das estruturas das APIs Logix, desenvolvidos nos padrões determinados em LGX - Desenvolvimento de APIs e o novo serviço, denominado GetSchema, que provê a consulta às estruturas publicadas retornando-as no formato de XML Schema (XSD).
Definição da Regra de Negócio
Índice minLevel 3
1. Introdução
Recentemente foram definidos novos padrões para o desenvolvimento de API na tecnologia Logix 4GL, disponível em LGX - Desenvolvimento de APIs, permitindo sua execução através de Web Services. Porém, para permitir a execução desta API é necessária uma ferramenta que efetue a exportação e publicação de sua estrutura de dados para que os serviços externos (como o TOTVS HTML Framework e EAI) saibam quais parâmetros de entrada e de saída deverão ser informados para a execução da mesma.
2. Funcionamento
A ferramenta de publicação será responsável por ler o conteúdo do código fonte da API e gerar a estrutura de todos os métodos públicos encontrados e seus respectivos parâmetros de entrada e saída. Após gerada a estrutura no formato JSON
, a ferramenta deve disponibilizar um meio do desenvolvedor copiá-la para o código fonte informado, a API ficará disponível publicamente para execução apenas apenas após a compilação do código fonte no RPO com a estrutura copiada.
3. Serviço GetSchema
O serviço GetSchema será responsável por retornar a estrutura das APIs públicas, este fará parte da nova arquitetura de integração EAI, a qual está sendo denominada Mensageria TOTVS e que visa, entre outras coisas, definir os responsáveis de uma integração e reduzir o custo total de suporte em situações de inconsistências. O GetSchema será desenvolvido utilizando uma transação do tipo Mensagem Única TOTVS utilizando o a estrutura do XSD disponível neste link.
O fluxo abaixo demonstra como o serviço GetSchema será utilizado no contexto das integrações:
No lado Logix, que no fluxo acima é representado como ERP, será desenvolvido um adapter seguindo os padrões de Mensagem Única TOTVS, o qual utilizará a classe Helper gerada a partir do XSD da transação GetSchema versão 1.000. O adapter, de nome EAIAdapterGetSchema, receberá o XML com o nome do objeto de negócio e a resposta será um XML com o XSD da estrutura contendo os parâmetros de entrada e saída do objeto solicitado.
Informações | ||
---|---|---|
| ||
As funções Helpers são geradas por um processo automático que interpreta o XSD de uma determinada mensagem e os converte em funções 4GL. Estas funções são compiladas e disponibilizadas em um repositório comum e são utilizadas por todos que desejam utilizar o padrão de mensagem única para integração via EAI. |
A geração do XSD se dará a partir da conversão da execução da função responsável por retornar a estrutura em JSON
gerada através da ferramenta de publicação de API (item item 2.Funcionamento deste documento).
3.1 Mensagem de envio
Segue abaixo um exemplo do XML que deverá ser enviado pelo aplicativo que deseja obter o XSD de determinado objeto de negócio.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?> <TOTVSMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xmlschema/general/requests/getSchema_1_000.xsd"> <MessageInformation version="1.000"> <UUID>a8eef627-a4f7-47ad-97dc-706ab15b995d</UUID> <Type>BusinessMessage</Type> <Transaction>GetSchema</Transaction> <StandardVersion>1.000</StandardVersion> <SourceApplication>SoapUI</SourceApplication> <Product name="SoapUI" version="5.2.1"/> <GeneratedOn>2016-01-01T00:00:00.000-00:00</GeneratedOn> <DeliveryType>Sync</DeliveryType> </MessageInformation> <BusinessMessage> <BusinessRequest> <Operation>GetSchema</Operation> </BusinessRequest> <BusinessContent> <Adapter>Logix/logr2.logr2_pub_create_companies</Adapter> </BusinessContent> </BusinessMessage> </TOTVSMessage> |
Observe na mensagem acima que no elemento <Adapter>
o nome do objeto de negócio deve vir precedido do nome do produto (Logix) e do nome da API (logr2) sempre que for realizada a requisição do XSD.
Protótipo de Tela
Imagem 1: tela para informação do código fonte da API.
Imagem 2: estrutura gerada e exibida em tela para cópia.
Imagem 3: lista das APIs já publicadas anteriormente pela ferramenta.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|