As sessões abaixo visam exemplificar como fazer uso da plataforma xMova Android, demonstrando quais recursos estão disponíveis e como utilizá-los. Para desenvolver um aplicativo nesta plataforma deve-se configurar três partes do aplicativo APP, MODEL e LANG. Abaixo pode-se acessar a sessão relacionada a configuração de cada parte.
Danger
Guarde esses pontos com sua própria vida.
Cada versão publicada em produção é um pacote único, com a mesma versão do server, center e mobile. Uma versão do mobile 1.5 deve obrigatoriamente rodar no center 1.5 e no server 1.5.
Quando fizer uma alteração em um fluxo de versão antiga, por exemplo 1.4, não deve-se atualizar a plataforma mobile (apk) para a versão mais nova, e sim manter a versão antiga, para que os usuários não sejam forçados a atualizarem o APK nos celulares.
Quando for duplicar e compilar um fluxo em uma versão antiga, deve-se usar o xmova-center na versão antiga, a mesma versão que o APK estiver. Se usar o xmova-center com uma versão nova para compilar um fluxo de versão antiga o fluxo ficará incompatível com os celulares em campo e os celulares em campo irão parar de funcionar.
Só deve-se duplicar/compilar um fluxo antigo numa versão center nova, quando realmente se deseja que os celulares em campo recebam o apk atualizado pelo fato de o antigo não ter uma nova funcionalidade.
Sempre que for disponibilizar uma versão da plataforma mobile (apk) em um fluxo, no xmova-center podem ter várias versões de build de plataforma. Use sempre a última versão de build. Exemplo, se estiverem disponíveis 1.6.0, 1.6.1 e 1.6.8, disponibilize a 1.6.8.
Abaixo você encontrará mais informações para dar suporte a um aplicativo xMova.
É possível acompanhar os logs de comunicação do mobile com o servidor em tempo real, acessando o painel xMova no xmova-server.
Para enviar os logs e o banco de dados do celular, é necessário acessar o menu do aplicativo e selecionar a opção Enviar log ao suporte.
Esses dados são recebidos no servidor linux, na pasta /usr/share/tomcat7/data
O acesso a esse servidor é restrito ao pessoal do departamento do xMova, e os arquivos devem ser requisitados a eles.
O nome arquivo recebido possui a seguinte composição:
Data/hora do envio do arquivo + UID do celular que enviou + extensão .db
Exemplo: 2014-09-03_10-59-27_355445058115260.db
Para instalar o banco de dados em outro celular, é necessário conectá-lo ao computador e copiar o arquivo com extensão .db para a pasta Downloads/xmova
Após copiado para a pasta, renomeie o arquivo para simova-in.db
Ao iniciar o aplicativo novamente, abrirá com o banco de dados copiado.
O war deve ser copiado da pasta de distribuições de produção que fica no servidor do Jenkins (ant-dist-prod), de acordo com a versão que está em uso no cliente. No fluxo deve ser colocado o atributo serverUrl com o endereço do server que está no cliente.
Para que o aplicativo mobile se comunique com o servidor, os seguintes endereços devem estar liberados na rede para o mobile:
Para o servidor web do painel receber os dados do mobile, deve ser liberado o acesso externo à porta 80 para o DNS xmova-server.simova.ws. O tráfego será sob o protocolo HTTP.
Warning
Devem ser liberados sempre os hostnames, não apenas os IPs, pois os IPs podem mudar.
Quando o simova Apps precisa enviar ou receber dados para o servidor de terceiro (BoB-Agro/ConstruMobil), ele envia os dados para o xMovaServer, que então redireciona os dados para o servidor de terceiro.
No fluxo define-se a URL do servidor de terceiro para onde o xMovaServer enviará as informações. Se nessa URL for definido o protocolo HTTPS, a comunicação será sobre SSL, se for definido HTTP, será usado comunicação HTTP não segura.
Mobile - xMovaServer: Comunicação via HTTP pela porta 80, usando formato de dados binário próprio. xMovaServer - Servidor de Terceiro: Comunicação via HTTP pela porta 80, usando formato de dados JSON.
Mobile - xMovaServer: Comunicação via HTTP pela porta 80, usando formato de dados JSON. xMovaServer - Servidor de Terceiro: Comunicação via HTTP pela porta 80, usando formato de dados JSON.
Os fontes são separados em vários projetos eclipse com objetivo de reuso de código entre os projetos, e reuso pela Simova.
O xMova Compiler é o projeto onde está a lógica de parse e compilação de um modelo de aplicativo xMova (fluxo: app, model e lang).
É o Core do xMova. Possui classes que são usadas pelos projetos Android JME.
Warning
Por ser usado para o JME deve ser escrito em Java 1.3.
Projeto do app Android. Estende as classes do xMova Java.
Projeto do app JME. Estende as classes do xMova Java.
Projeto web responsável pela comunicação do mobile com servidores de terceiros. Busca informações nos servidores de terceiros e envia aos aplicativos móveis.
Projeto web centralizador dos fontes do xMova. Toda a compilação é feita nesse ambiente. Armazena os códigos fontes dos fluxos xMova em banco de dados MySql.
Biblioteca de classes básicas Java para reuso pela empresa. .. warning:: Por ser usado para o JME deve ser escrito em Java 1.3.
Biblioteca de classes Java para reuso pela empresa.
Biblioteca de classes JavaEE para reuso pela empresa.
Biblioteca de classes JavaME para reuso pela empresa.
Projeto onde fica este documento que você está lendo.
Caso seja necessário editar uma versão já publicada do XMOVA, é necessário fazer o checkout da versão desejada no SVN, seguindo os passos a seguir.
Warning
Caso as alterações sejam feitas em uma das classes do Compiler, ou Compiler Shared é necessário replicar a alteração e fazer a publicação do Center, Server e Android. Caso contrário só é necessária a publicação do projeto alterado.
Danger
As configurações dos projetos estão configuradas para produção, se for realizar testes devem ser alteradas para a configuração de teste.
Fazer o checkout da versão na tag correspondente:
URL SVN: http://192.168.0.20/svn/simova/Projetos/Mobile/xMova/xmova-android/tags
URL para publicação do APK:
http://xmova-server.simova.ws/center{Versão*}/upload?v={Verão Completa**}
&apk=http://ci.simova.ws/pub/{Nome APK COM a biblioteca de codigo de barras}
&apk2=http://ci.simova.ws/pub/{Nome APK SEM a biblioteca de codigo de barras}
&apkJs=http://ci.simova.ws/pub/{Nome APK que executa o core em JavaScript}
&jar=http://ci.simova.ws/pub/download-jme.png
&jad=http://ci.simova.ws/pub/download-jme.png
URL para publicação do JS SOURCE:
http://xmova-server.simova.ws/center{Versão*}/uploadjssource?v={Versão Completa**}
&jssource=http://ci.simova.ws/pub/{Nome do arquivo do JS SOURCE}
*Versão: exemplo (1_32)
**Versão completa: exemplo (1.32.48)
Fazer o checkout da versão na tag correspondente:
URL: http://192.168.0.20/svn/simova/Projetos/Mobile/xMova/xmova-center/tags
Fazer o checkout da versão na tag correspondente:
URL: http://192.168.0.20/svn/simova/Projetos/Mobile/xMova/xmova-server/tags