Pagetitle |
---|
| Desenvolvimento de APIs |
---|
| Desenvolvimento de APIs |
---|
| tocConceitoAPI - acrônimo de Application Programming Interface, ou Interface de Programação de Aplicação em português - , é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços. De modo geral, a API é composta por uma série de funções acessíveis somente por programação e que permitem utilizar características do software menos evidentes ao utilizador tradicional. Informações |
---|
No desenvolvimento do produto Logix as APIs antigamente chamavam-se RNL acrônimo de Regra de Negócio Logix. |
DesenvolvimentoPara o correto desenvolvimento é preciso ter em mente alguns cuidados que devem ser sempre considerados na construção de uma API: - Nunca desenvolva ou solicite qualquer interação com o usuário, seja ela através de telas, mensagens ou perguntas.
- Simplifique suas funções, não é uma boa prática construir uma função "faz tudo", separe sempre sua lógica em diversas funções que possam ser executadas de formas distintas.
- Evite que suas funções dependam do produto, lembre-se que elas poderão ser executadas através de outros produtos ou um serviços.
- Sempre desenvolva visando a solução de único objetivo de negócio, uma API para manutenção de pedidos não pode conter manutenção de uma empresas, por exemplo.
Para iniciar o desenvolvimento de uma API no Logix, crie seu código fonte utilizando o Controle de Fontes Logix e Datasul disponível no GCAD-TOOLS. Nota |
---|
title | Nomenclatura do Fonte |
---|
| IMPORTANTE: a nomenclatura do fonte deve seguir os padrão de DML e RNT contendo as letras do módulo responsável pelo código fonte seguido pela sequência do fonte e pela letra "R" em minúscula. Exemplo: logr4, manr1, supr99, obfr21. |
Bloco de código |
---|
#TODO
DEFINE lr_return RECORD
length INTEGER, #total registros
#RECORD com o conteúdo da empresa criada.
data RECORD LIKE empresa.*,
#RECORD com a mensagem de retorna da função.
msg RECORD
type SMALLINT,
code SMALLINT,
detail CHAR(500)
END RECORD
END RECORD |
2. Nomenclatura das FunçõesPara gerar a estrutura e pontos de entrada das APIs, a ferramenta deverá verificar os padrões de nomenclatura de funções - conforme descritos no documento TODO. O nome da função indicará como ficará o nome e o método de chamada através do WebService. Exemplo: Bloco de código |
---|
title | Fonte logr4.4gl |
---|
linenumbers | true |
---|
| #------------------------------------------------------------------------------#
FUNCTION logr4_pub_create_companies()
#------------------------------------------------------------------------------#
END FUNCTION |
Sempre delimitada pelo caractere underscore, o nome da função indica como será a estrutura da função a partir de cada delimitador: - Código da API (logr4)
- Identificador de publicação da função (sem o identificador pub, ela não será publicada)
- Método de execução da função (create - verificar o item Métodos de Execução)
- Nome da função (companies)
2.1. Métodos de ExecuçãoOs métodos de execução definem qual método de requisição HTTP será utilizado para executar a função. Para aproximar o desenvolvimento das APIs ao desenvolvimento do produto Logix, será possível definir um apelido para os métodos de execução, como create, process e update - uma função definida com o nome logr4_pub_create_companies seria igual a uma função com o nome logr4_pub_post_companies por exemplo. Os métodos de execução disponíveis atualmente são: - POST, CREATE ou PROCESS: para inclusão ou processamento
- PUT ou UPDATE: para modificação
- DELETE: para exclusão
- GET ou QUERY: para recuperar uma ou mais informações
A execução REST da função da imagem acima, após sua publicação, teria uma requisição semelhante a abaixo: Bloco de código |
---|
| POST /logix-rest/logr4/companies HTTP/1.1
Host: localhost:808 |
3. Nomenclatura dos ParâmetrosPara gerar os parâmetros de TODO: documentar nomenclatura dos parametros TODO: documentar estrutura JSON TODO: documentar estrutura XML TODO: documentar funções de retorno da estrutura TODO: gerar WADL TODO: gerar WSDL
|