Durante o período de desenvolvimento da versão 21.20, o time SIGER-Tools trabalhou em diversas adaptações do SIGER® para viabilizar a execução do sistema no ambiente da nuvem, além de mais algumas melhorias com Thin Client e caminho com tc://. Confira as novidades!
Adaptações para o uso do tc://
Uma das principais alterações realizadas foi a adaptação do SIGER® para permitir trabalhar com tc://. Neste post foi apresentada uma versão inicial das adaptações para o tc://, sendo que no decorrer da versão identificamos outras rotinas centralizadas que ainda precisavam de atenção especial e que não haviam sido previstas anteriormente.
Mas o que é o tc:// ?
Tecnicamente, o tc:// é um schema URI (Uniform Resource Identifier). De acordo com a literatura, um schema URI é uma cadeia de caracteres compacta utilizada para identificar e caracterizar um recurso na computação. Você já deve ter visto diversas URIs durante os estudos ou até mesmo no trabalho: file://, ftp://, http://, https:// são exemplos de schemas URI bastante conhecidos atualmente.
Muito técnico?
De forma mais didática, o tc:// é uma informação passada juntamente com o caminho do arquivo para identificar que esse arquivo se encontra fisicamente no lado do client (computador do usuário) no modelo de execução Thin Client. Essa informação indica para o SIGER® que ele deve buscar o arquivo no computador do usuário ao invés do servidor, permitindo que o usuário trabalhe com seus arquivos locais.
No exemplo abaixo, podemos ver dois caminhos de arquivo que aparentemente apontam para o ‘mesmo arquivo’. Porém, o primeiro caminho aponta para o arquivo no servidor e o segundo caminho aponta para o arquivo no client. Dessa forma, por mais que sejam dois caminhos iguais, apontam para arquivos diferentes, uma vez que são dois file-systems diferentes.
As alterações realizadas para compatibilizar o uso do tc:// no SIGER® foram feitas de forma centralizada nas rotinas de infraestrutura, de modo que fossem compatibilizadas mais rotinas com alterações estratégicas. Além disso, também abstrai esse controle dos programas de negócio.
Ainda existem alguns pontos conhecidos que não foram adaptados, sendo eles:
- Visualização do DANFE a partir do XML através do painel de ferramentas
- Visualização do DACTe a partir do XML através do painel de ferramentas
- Salvar imagens geradas a partir de gráficos
- Diretório do ponto nos parâmetros do sistema
Demais lugares do sistema estão adaptados para a utilização do tc:// !
Observação: alguns lugares do 1.1-P (parâmetros do sistema) persistem com o caminho do servidor, pois normalmente tratam de rotinas que podem ser executadas em diversas máquinas e que precisam garantir a existência do diretório. Se fosse um caminho da estação, com tc://, a rotina de negócio só funcionaria em máquinas específicas.
Melhorias na Open/Save Dialog do SIGER®
Juntamente com as adaptações do SIGER® para funcionamento com tc://, o time SIGER-Tools desenvolveu melhorias na usabilidade do sistema no modo Thin Client. Veja a seguir algumas das principais alterações:
Implementado cache de informações no SFile
A classe SFile passa a contar com um cache de informações de arquivos. Esse cache foi criado com o objetivo de ganhar desempenho no SFile e fazer menos acessos ao file-system para buscar informações que já haviam sido carregadas previamente.
O cache tem tempo de expiração de 1,5 segundo, de modo que após esse tempo o cache é invalidado. Todas as operações realizadas através do SFile que modificam o arquivo também invalidam o cache. O tempo de expiração do cache pode ser configurado no iscobol.properties através da configuração iscobol.rech.file.cache.expiration_millis.
Otimização de desempenho na carga de arquivos
A Open/Save dialog do SIGER® recebeu algumas alterações de modo a ganhar desempenho para a carga de arquivos. Quando era necessário carregar muitos arquivos, a dialog era conhecidamente demorada. Durante o desenvolvimento, vimos que boa parte do tempo estava na ordenação do grid pelas rotinas de interface. Dessa forma, criamos um mecanismo local no SRITAT para inserção de registros, a fim de garantir que já sejam inseridos de maneira ordenada sem depender de recursos de ordenação do componente de grid.
Os resultados podem ser vistos a seguir:
Os recursos apresentados estão disponíveis na versão 21.20.