Documentação

O aplicativo S.A.C. Gado de Corte foi desenvolvido utilizando o SDK do Android (nativo, sem o uso de bibliotecas de terceiros). Mais especificamente foi utilizada a versão 2.1 da plataforma disponibilizada pelo Android Open Source Project (API Level 7), garantindo sua compatibilidade com mais de 2.100 dispositivos do mercado.

Para integrá-lo ao sistema Web do S.A.C. da Gado de Corte optou-se por uma arquitetura baseada em webservices. Desta forma, foi criada uma camada de software independente que conecta-se ao banco de dados do sistema Web do S.A.C. (utilizando REST) e processa as informações gerando uma saída em JSON. O aplicativo mobile acessa esta camada recebendo, inicialmente, a lista de categorias de perguntas. Em seguida, o aplicativo envia para o webservice uma Unix Timestamp com a data da última sincronização realizada e recebe como resposta a lista de perguntas e respostas alteradas ou criadas desde esta última sincronização.

No caso específico da Embrapa Gado de Corte, o sistema Web do S.A.C. foi criado, assim como este site de documentação, como uma instância do WordPress Multisite Network e está disponível em:

http://cloud.cnpgc.embrapa.br/sac

O sistema Web do S.A.C. da Embrapa Gado de Corte utiliza o tema Edu Knows para WordPress, um tema livre direcionado para a criação de páginas de ajuda online e F.A.Q.. O banco de dados nativo deste sistema é o MySQL e a linguagem de programação utilizada é o PHP. Por ser baseado no WordPress, o banco de dados do sistema está organizado em dentro do domínio de blogs, e não para o domínio de negócio de um software S.A.C.. Assim, foi necessário abstrair por meio de consultas SQL os dados para sincronização da aplicação.

DER do SAC em WordPress

DER do banco de dados da instância do WordPress utilizado para o S.A.C. da Gado de Corte

O banco de dados da aplicação mobile, no entanto, possui entidades alinhadas ao domínio do negócio S.A.C.. Assim, teremos uma tabela para as categorias e, relacionada a esta, teremos a tabela de perguntas e respostas.

DER do banco de dados da aplicação S.A.C. Mobile

Para sincronizar os dados do banco de dados do WordPress na aplicação mobile são utilizados dois webservices, o primeiro sincroniza todas as categorias e o segundo sincroniza as perguntas de forma incremental (apenas as que foram modificadas desde a última sincronização). Os webservices do S.A.C. Gado de Corte foram implementados em PHP e podem ser obtidos pelo link abaixo:

O pacote compactado contém 6 arquivos:

  • config.inc.php: Arquivo com as configurações (p.e. servidor, nome, login e senha do banco de dados).
  • db.php: Arquivo que abre uma conexão com o banco de dados da aplicação Web do S.A.C. (é utilizada a biblioteca PDO).
  • error.php: Neste arquivo estão as classes de exceções que tratam erros da aplicação emitindo cabeçalhos com mensagens tratadas (padrão REST).
  • function.php: Arquivo com funções auxiliares.
  • category.php: Lê as categorias do banco de dados da aplicação Web e converte para uma array em JSON.
  • question.php: Recebe uma Unix Timestamp e a utiliza para ler do banco de dados da aplicação Web todas as perguntas e respostas criadas ou editadas após a data passada. Retorna o resultado desta consulta convertido para uma array em JSON.