1 DefiniçãoO serviço de Sincronização é um dos componentes do SFA, sendo o responsável por realizar a comunicação entre o aplicativo mobile e o banco de dados do sistema. Esse serviço é executado no servidor do SFA e tem como principal função garantir o intercâmbio de informações entre o aplicativo e o ambiente central. Quando o processo de sincronização é iniciado pelo aplicativo, os dados inseridos localmente são enviados ao servidor, onde são gravados no banco de dados. Em seguida, o servidor retorna ao aplicativo as informações mais recentes, assegurando que ambos os lados permaneçam atualizados. Vale destacar que o aplicativo mobile opera de forma offline, ou seja, sem necessidade de conexão contínua com a internet. Por isso, o processo de sincronização é essencial para transmitir e receber dados atualizados, mantendo a consistência das informações entre o dispositivo e o servidor. 2 EstruturaPor padrão, a sincronização pode ser encontrada em /ws/sincronizacao/. Dentro desse diretório, geralmente existem as pastas /ws/sincronizacao/producao e /ws/sincronizacao/homologacao, correspondentes aos ambientes de produção e homologação (testes). O nome dessas pastas pode variar conforme a instalação, e em alguns casos é possível encontrar mais de uma versão de produção — por exemplo, quando há usuários utilizando versões diferentes. No diretório raiz da sincronização, podem ser encontrados os seguintes arquivos e pastas (lembrando que pode haver variações conforme a instalação e o sistema operacional): 
- dats: Contém os dados enviados e recebidos durante o processo de sincronização, separados por dispositivo.
- lib: Diretório que contém o código-fonte da sincronização, ou seja, o núcleo da aplicação. É a pasta que recebe a maior parte das atualizações e correções nas novas versões.
- logs: Armazena os logs da sincronização.
- transfer: Responsável por controlar as sincronizações que falharam. Ou seja, caso um processo de sincronização seja iniciado no aplicativo, mas não seja finalizado, na próxima conexão a sincronização será retomada do ponto em que foi interrompida.
- update: Diretório não utilizado atualmente.
- update.and: Diretório onde ficam os arquivos de configuração que serão enviados ao aplicativo durante o processo de sincronização, como por exemplo o endereço IP e a porta em que o serviço está recebendo as conexões e o APK do aplicativo.
- exportationSequence: Arquivo onde são definidos os filtros das informações que serão enviadas ao aplicativo.
- hibernate.properties: Contém as configurações de conexão com o banco de dados da sincronização.
- sync, startSync, stopSync, statusSync: Scripts responsáveis pelo controle do serviço de sincronização (inicialização, parada e verificação de status).
- SyncConf: Principal arquivo de configuração da sincronização, onde são definidos os parâmetros que determinam o funcionamento da aplicação.
|