Histórico da Página
...
Desenvolvendo...
Importar o acesso dummy (dummyaccessdummyplugin) como um template para desenvolvimento de um acesso plugin externo. A ideia é que ele oriente o desenvolvimento de toda a estruturanecessária para a criação de um plugin de acesso, mantendo uma padronização na construção destes, evitando que o fonte de cada acesso externo tenha uma forma de implementação completamente diferente dos outros. O objetivo é facilitar desenvolvimento de novos acessos de forma fácil e rápida. Os artefatos que comporão o projeto vazio de um plugin serão:
- No arquivo JSON:
- Definir as propriedades com os dados de configuração do
- plugin externo, caso existam. Como não se sabe inicialmente quais são esses dados,
- definir no arquivo JSON de exemplo
- as propriedades mais comuns: protocolo (HTTP, HTTPS, TCP, etc), host, porta e objeto no servidor; atualmente só http/servlet é suportado
- No arquivo JSON:
- Artefatos necessários para a criação de uma funcionalidade no site do Intellector Server que permitirá a configuração do arquivo de propriedades pelo administrador do sistema;
- As estruturas das classes Java que deverão ser programadas para cada acesso externo:
- As classes, se for o caso, de implementação do acesso externo, para que o desenvolvedor possa programar o acesso externo propriamente dito; Um XML com
- . Essas propriedades poderão ser configuradas na interface do Intellector na edição do plugin.
- "properties": {
"database": "mango_d",
"usuario": "user",
"senha": "senha",
"audita": true
}
- "properties": {
- Definir os dados de entrada para chamada do acesso de acordo com o layout pré estabelecido pelo órgão e, que receberá o layout montado pela classe anterior e fará o acesso e retornará a classe com o layout de saída;
- . Essas propriedades poderão ser configuradas na interface do Intellector na edição do plugin.
- As estruturas das classes Java que deverão ser programadas para cada plugin externo:
- As classes, se for o caso, de implementação do plugin externo, para que o desenvolvedor possa programar o acesso externo propriamente dito;
- Uma classe que fará o parser do retorno do órgão externo e montará o VO com as variáveis de resposta, que será chamada pela classe que efetuou o acesso;
- Parametrizar no arquivo POM.XML as propriedades necessárias para correta geração do plugin. Essas confiogurações serã utilizadas para, por exemplo, a geração do META-INF/MANIFEST.MF
- Para configuração do plugin de acesso no "Intellector Data Dir", deverá ser informado no arquivo de manifesto, i.e. META-INF/MANIFEST.MF, o nome do acesso, na tag 'Implementation-Plugin'. Na Instalação do plugin, no Intellector, será criada um diretório com esse nome no "Intellector Data Dir". Para consultar o plugin de acesso é
- .
- <main-class> : classe principal do plugin, ou seja, a classe a ser instanciada pelo Intellector Server.
- <pluginname> : nome do plugin
- <description> : uma descrição do plugin
- <primarykey> : chave a ser usada para a persistência da execução do plugin. Normalmente é uma das variáveis de entrada do plugin e será usada como referência do uso de cache.
- <pkdescription>: descrição da chave
- <layoutpath>: caminho para o arquivo json de configuração do plugin.
- <pluginlib> : indicação se é um plugin ou uma lib para uso por outros plugins. P - plugin / L - lib para plugin
- Para consultar o plugin de acesso é necessário determinar as chaves primárias para que futuramente o plugin de acesos seja armazenado em uma base de dados, portanto as variáveis primarykey e pkdescription deverão ser informados no arquivo de manifesto, i.e. META-INF/MANIFEST.MF, sendo o campo primarykey as chaves no HashMap de entrada do acesso mais importantes da consulta separados por ',' para que sejam consultados na funcionalidade Consultar Resultados de Plugin de Acesso e o campo pkdescription um nome mais amigável para que seja listado na funcionalidade também separado por ',' na mesma sequência descrita no campo primarykey;
- Criar um novo projeto no Eclipse, tendo como base/exemplo o
- dummyplugin no diretório base de onde os artefatos foram gerados.
Exemplo do MANIFEST.MF (nesse caso, um do SERASA) :
Bloco de código | ||||
---|---|---|---|---|
| ||||
Manifest-Version: 1.0 Main-Class: br.com.tools.acessos.serasa.SerasaPF Class-Path: . Version-Info: teste-10 Implementation-Vendor: Tools Servicos Implementation-Plugin: serasapf Implementation-Layout: serasapf Implementation-Datadir: serasapf.datadir Implementation-FileList: resources/https.properties, resources/layout_p002.xml, resources/layout_p006.xml, resources/layoutPF_b49c.xml, resources/layoutPJ_b49c.xml, resources/serasa.properties, resources/serasapf.xml, resources/serasapj.xml primarykey: CPF, DTNASCIMENTO, pkdescription: CPF, Data de Nascimento, Built-By: ricart.monachesi Created-By: Apache Maven 3.3.9 Build-Jdk: 1.8.0_202 Main-Class: br.com.totvs.plugins.dummyplugin.DummyPlugin Name: Intellector Entries Implementation-Description: Dummy para exemplificar plugins externos Plugin-Lib: P pkdescription: CPF do adquirente Implementation-Plugin: dummyplugin Implementation-Layout: resources/dummyplugin.json primarykey: CPF |
Downloads
Baixe aqui o template do accessdummydummyplugin;
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas