Gestion offline
Raquel Pérez Bartolomé Team Manager

Gestão offline da informação em ambientes industriais

Em artigos anteriores discutimos algumas das vantagens de trabalhar com aplicações móveis em ambientes industriais o que, graças à sua ubiquidade, nos permite continuar a trabalhar a partir de qualquer lugar onde estejamos e atualizar os dados dos nossos sistemas ou aceder a outros.

Por outro lado, trabalhar remotamente a partir de qualquer lugar implica que, em alguns pontos, necessitemos conetividade à Internet. É importante ter presente que a experiência nos diz que em ambientes industriais são numerosas as zonas onde a cobertura é limitada ou inexistente.

As apps móveis garantem que o utilizador continue com o seu trabalho independentemente das condições, com ou sem conetividade disponível. A aplicação é responsável por sincronizar a informação assim que seja possível, sempre de forma transparente para o utilizador. Como o fazemos?

Planeamento do desenvolvimento de apps móveis

Antes de iniciar um projeto, falamos com os nossos clientes e definimos os objetivos gerais do mesmo, assim como os utilizadores finais do nosso sistema e em que condições o irão utilizar (definindo as pessoas). Na maioria dos projetos relacionados com a Indústria 4.0 contamos com limitações de conetividade e definimos uma política de gestão da informação offline desde o início.

Com a política offline procuramos garantir:

  • A sincronização com o servidor de toda a informação gerada, apesar de não contar com ligação constante, o objetivo é não perder informação, para isso, a app enviará de forma automática os dados, quando seja possível.
  • O trabalho dos nossos utilizadores; a aplicação móvel está preparada para um fluxo de trabalho assíncrono, sem necessidade de ter a informação constantemente atualizada com o servidor, conta com uma lógica de negócio que torna a app independente do servidor para as situações de falta de acesso à rede.
  • O utilizador sabe a qualquer momento se a app está atualizada ou não e conta com mecanismos para atualizar a app manualmente, se necessitar.

Exemplo de política offline

Nos desenvolvimentos em que a sincronização será previsivelmente offline incluímos os seguintes estados nos dados com que trabalhamos:

  • Sincronizado
  • Pendente de sincronização, sincronizará quando possível
  • Não sincronizado ainda, este estado usamo-lo quando queremos persistir dados na app, mas sem sincronizá-los com o servidor até que terminemos de incluir toda a informação

Queremos que a aplicação tenha uma lista atualizada dos dados que estão pendentes de sincronização. Estes dados serão sincronizados com o servidor numa próxima janela de sincronização.

A seguinte janela de sincronização ocorrerá dependendo da estratégia que definirmos. Para definir a estratégia analisemos a casuística da nossa aplicação, entre outras características vamos ter em conta a utilização da bateria. Em muitos casos, verificamos que o uso do telemóvel é quase constante e não temos pontos de carregamento no terreno, pelo que devemos de definir uma estratégia que equilibre a sincronização e a utilização da bateria.

Que estratégias podemos definir?

  • Repetição automática, da próxima vez que o utilizador executar uma ação que exija sincronização, a aplicação tentará enviar os dados.
  • Sincronização manual, delegamos a sincronização ao utilizador com uma opção própria: sincronizar dados e deixar o utilizador escolher o momento.
  • Automatização em função de eventos, definimos trabalhos na nossa aplicação que executam ações baseadas em eventos, neste caso, quando existe uma ligação. No Android, podemos implementar isto agendando tarefas com o WorkManager. No iOS podemos saber quando o dispositivo tem ligação novamente graças ao SCNetwork e definir as tarefas a serem executadas.

Conclusões

Na Izertis, o principal objetivo dos nossos desenvolvimentos de software é sempre adaptarmo-nos às necessidades e objetivos, tanto das empresas como dos utilizadores finais. Para este fim, combinamos a escuta ativa dos requisitos do negócio com o nosso conhecimento e experiência no desenvolvimento de sistemas. Juntamo-nos aos nossos clientes para traçar um plano num sistema digital que explora as possibilidades que a tecnologia nos oferece.

Quando desenvolvemos ferramentas de produtividade, uma das decisões iniciais que discutimos é a necessidade de incorporar, ou não, uma aplicação móvel no sistema. Embora nem sempre seja necessário e, em alguns casos, uma interface web seja suficiente para cumprir os objetivos específicos do projeto, noutras ocasiões é recomendada e necessária uma aplicação móvel. Por exemplo, quando os nossos utilizadores trabalham em ambientes com conectividade limitada; neste caso, a aplicação móvel, como discutimos neste artigo, assegura o funcionamento correto, impedindo que a falta de ligação à Internet cause bloqueios no fluxo de trabalho ou perda de informação.

Nos próximos artigos, iremos aprofundar sobre outros desafios da Indústria 4.0, tais como a integração de sensores nos nossos sistemas.