•Envio e recebimento de informações
•Market Vendas Server: http://android.market.com.br/server/
•Market Vendas Android: http://android.market.com.br/
•File Zilla Server: https://filezilla-project.org/download.php?type=server
•Market Vendas Server: Software responsável pela troca de informações entre Android e Gestor. Trabalha via socket recebendo e enviando comandos para o Android.
•Market Vendas: Software Android para vendas.
•File Zilla Server: Servidor de FTP para transferência de arquivos maiores entre Android e o Servidor de vendas (Arquivo de atualização para o vendedor trabalhar e pedidos realizados pelo vendedor).
Envio e recebimento de informações (Comunicação entre sistemas)
A troca de informações entre o Android e Servidor é feita via socket, porém isto é apenas para a interface de comandos, para transferência de pedidos é realizado upload do arquivo de pedidos SQLite do Android para o Servidor via FTP, depois o Android envia um comando via socket informando o envio do arquivo e quais pedidos devem ser faturados, por fim o Android aguarda a resposta do servidor confirmando o faturamento do pedido número X e marca o mesmo como transmitido no Android, ou remove o mesmo de acordo com o parâmetro configurado no Gestor.
O mesmo acontece com a solicitação do arquivo de atualização de dados do vendedor (Arquivo que contém os preços das pautas, cliente, etc...), o Android envia o comando via socket para o servidor, que por sua vez começa a gerar um arquivo SQLite com os dados buscados do Gestor, ao término da geração o arquivo SQLite é disponibilizado no FTP e o servidor responde ao Android via socket que a geração foi concluida e que o download já pode ser realizado via FTP.
Portando antes de instalar o servidor de vendas você necessita instalar o servidor FTP do cliente.
Para o servidor FTP é utilizado o programa "FileZilla Server" (https://filezilla-project.org/download.php?type=server), instale-o normalmente com todas as opções padrões que vieram marcadas (Qualquer outro servidor FTP também funciona), é interessante que seja instalado no mesmo computador que será instalado o servidor de Vendas externas posteriormente.
LEMBRE-SE: PARA ACESSO EXTERNO É NECESSÁRIO REDIRECIONAR A PORTA DO FTP (21) DO MODEM PARA O COMPUTADOR ONDE ESTÁ SENDO INSTALADO O FILEZILLA SERVER, CERTIFIQUE-SE QUE O IP DO COMPUTADOR E O IP DA INTERNET SEJA FIXO.
Configurando usuário e pasta para utilização do servidor do Palm
Abra o "FileZilla Server Interface" para definirmos o usuário e pasta que será utilizado pelo servidor de vendas externas, se abrir uma janelinha pedido usuário e senha dê enter da forma que veio, este usuário e senha não é para acessar o FTP mas sim para acessar a interface de configuração do FileZillla server. Após aberto o "FileZilla Server Interface" acesse o menu "Edit -> Users".
Pressione o botão "Add" e informe o nome do usuário para acessar o FTP, deixe sem grupo de usuário ("<none>"). Depois marque a opção "Password" e defina a senha de acesso ao FTP. Procure utilizar o usuário e senha "market" por padrão para facilitar eventuais acesso aos clientes.

Agora acesse o sub-menu "Shared folders" e faça os dois passos indicados abaixo para definir o diretório de armazenamento de arquivos e dar permissão de leitura e gravação no mesmo:

Testando conexão
Abra o prompt de comando e teste a sequência de comandos a seguir:
|
1.ftp 2.open 3.IP do servidor (Libere a porta do FTP (21) no firewall do servidor) 4.market (Usuário criado por você) 5.market (Senha definida por você) 6.dir (Irá listar todos os arquivos e pastas do diretório definido para o usuário: "D:\ftp" no exemplo) 7.quit (Para fechar a conexão) |
|---|
Problemas
As vezes o teste local funciona mas ao testar na conexão externa não funciona, certifique-se que tudo está liberado no Firewall e redirecionado no modem. Mesmo assim ainda pode não estar funcionando, vamos entender o protocolo FTP para resolver o problema.
O File Zilla esta configurado para utilizar a 21, porém esta não é a única porta utilizada, esta é a porta para transmissão de comandos, quando for necessário transferir os dados (transferência de arquivos e listagens) será utilizada outra porta, e é nesta outra porta que está o problema de bloqueio que você terá que resolver.
A forma de utilização desta outra porta é classificada em duas formas:
Modo ativo, o cliente requisita o servidor usando uma porta aleatória, por exemplo, a porta 1026, endereçando o pacote à porta 21 do servidor.
O servidor imediatamente contata o cliente de volta, usando a porta seguinte(do cliente) para enviar dados.
Se o cliente usou a porta 1026 para abrir uma conexão, então o servidor enviará os dados na porta 1027.
A questão principal é que o modo ativo não funciona quando o cliente acessa através de uma conexão compartilhada. Ao tentar responder, o servidor cairia na porta 1027 do gateway da rede, sem conseguir chegar ao cliente.
Modo passivo, o cliente também abre a conexão contatando a porta 21 do servidor, entretanto, ao invés de iniciar a conexão imediatamente, o servidor responde avisando que o cliente pode contatá-lo numa segunda porta, escolhida aleatoriamente (a 2026, por exemplo). O cliente inicia, então, uma nova conexão na porta especificada e o servidor responde enviando os dados.
Esta porta fica reservada ao cliente durante o tempo que durar a transferência. Em teoria, isto seria um limite ao número de clientes que poderiam se conectar simultaneamente, mas, na prática, seriam necessárias mais de 64.000 conexões simultâneas ao mesmo servidor FTP para esgotar as portas disponíveis.
Por ser mais fácil de utilizar em redes compartilhadas e minorar as dificuldades decorrentes de restrições normalmente encontradas nestas redes, sugerimos que você configure seu cliente de FTP para utilizar o modo passivo sempre que possível.
Quando o FTP é utilizado em modo ativo em uma rede restritiva, normalmente temos sintomas como:
- conexão de FTP OK, porém não lista os diretórios da hospedagem;
- alguns arquivos/pastas publicados anteriormente não ficam "visíveis" no FTP.
QUEM DEFINE A FORMA DE COMPORTAMENTO DO SERVIDOR ATIVA OU PASSIVA É O CLIENTE QUE ESTA SE CONECTANDO.
Alguns provedores de internet são os responsáveis pela liberação de portas e pode acontecer de eles não liberarem as portas abaixo de 1024, ai temos que nos virar modificando as portas do File Zilla, nesta situação provavelmente dará problema no modo ativo também, neste caso podemos configurar um range de portas passivas para o File Zilla Server (Edit -> Settings -> Passive mode settings), adicionar este range ao firewall e ao redirecionamento do modem para contornar o problema. Não esqueça de alterar as configurações Market Vendas no Android para funcionar em modo passivo.
Para o modo ativo funcionar o modem não pode possuir nenhum bloqueio de saída, o que pode tornar inviável em algumas situações.
O Market Vendas no Android vem configurado por padrão para o modo ativo porque na maior parte dos clientes não tem problema com as portas de saída do modem e como utilizam 3G não sofrem com o problema de entrada de dados por não passar por um modem. Este cara pode enfrentar problemas ao conectar-se numa Wi-fi de casa e tentar transmitir. Utilizar o modo passivo é o solução, só que é necessário realizar as configurações do passo anterior pra garantir o funcionamento.
Market Vendas Server (Servidor de vendas externas)
Este aplicativo é o responsável pela troca de informações entre a base de dados do Gestor e o Android. As informações de pedidos cadastrados no Android, assim como os clientes e produtos que existem no gestor são transferidas compactadas utilizando o servidor FTP anteriormente configurado. Este software deve estar sempre em execução no servidor da loja.
Para seu funcionamento é necessário ter o dotNET 4.5 ou superior instalado na máquina, logo só funciona em Windows 7 ou superior pois o dotNET 4.5 requer esta plataforma no mínimo.
Abra o servidor do Palm e clique no botão "Configurações".
Configurando servidor
Na tela indicada abaixo faça os seguintes passos:

•Passo 1: Aqui é definida a porta de comunicação entre o Android e o servidor de vendas, utilize a 6060 por padrão. Esta porta deve ser configurada no modem para ser redirecionada ao servidor onde foi instalado o software. Também deve estar liberada no firewall do servidor.
•Passo 2: Definição do acesso ao FTP.
➢Endereço local: IP na rede local do servidor FTP, é utilizado quando o vendedor estiver dentro da rede interna da loja.
➢Endereço externo: IP fixo da internet da loja, é utilizado quando o vendedor estiver na rua e for transmitir pedidos de fora da loja.
➢Porta: Porta de transferência de arquivo do FTP, utilizado a porta 21 por padrão.
➢Usuário: Usuário de acesso ao FTP definido anteriormente.
➢Senha: Senha de acesso ao FTP definida anteriormente.
➢Caminho local da pasta de trabalho: Path para o servidor acessar localmente o diretório do FTP (D:\FTP). Note que foi definida a subpasta "Market Vendas" dentro do diretório "D:\FTP", foi criado apenas para deixas separado os arquivos deste sistema caso o servidor FTP seja utilizado por outros sistemas.
➢Caminho remoto: Caminho para acessar via FTP o diretório definido no passo acima, como foi definida uma subpasta é necessário informa-la "/Market Vendas/", caso não fosse seria apenas "/".
•Passo 3: Acesso a base de dados do Gestor.
Após gravar pela primeira vez é necessário reiniciar o servidor de vendas, clique com o botão direito no ícone ao lado do relógio e depois em "Finalizar Serviço" e reinicie o servidor.
LEMBRE-SE: PARA ACESSO EXTERNO É NECESSÁRIO REDIRECIONAR A PORTA CONFIGURADA PARA O SERVIDOR(6060) DO MODEM PARA O COMPUTADOR ONDE ESTÁ SENDO INSTALADO, CERTIFIQUE-SE QUE O IP DO COMPUTADOR E O IP DA INTERNET SEJA FIXO.
Definindo usuários(vendedores) que poderão utilizar o sistema
Clique no menu "Configurações" na tela inicial e depois na página "Usuários".

Para cadastrar um novo usuário clique no botão "Novo" e informe os campos:
•Usuário: Nome para autentificação do acesso pelo Android, não utilize espaços em branco.
•Senha: Senha de autentificação.
•Código do vendedor: Código do vendedor no sistema Market Gestor.
•Todos clientes: Marcando esta opção todos os clientes do cadastro da loja serão transferidos para o Android, se estiver desmarcada será transferido apenas os clientes vinculados ao vendedor. Para as duas opção somente será utilizado os cadastro ativos.
Ao término clique em "Confirmar" e "Salvar".
Para alterar um cadastro basta selecionar o mesmo na combo, modifica-lo e clicar em "Confirmar" ao final.
Para excluir um cadastro basta selecionar o mesmo na combo e clicar em "Excluir" ao final.
Testando servidor de vendas
Para testar o servidor configurado bastar abrir o "Telnet" do windows ("Iniciar -> Executar", digite "Telnet"). Se não haver telnet instalado no seu computador, vá em "Programas e recursos", clique em "Ativar ou desativar recursos do windows" e selecione a opção "Cliente Telnet", veja na imagem abaixo como adicionar o recurso ao windows.

Com o telnet aberto faça a sequência de comando abaixo:
|
1.o ip_servidor porta (o 192.168.60.5 6060, você deve receber as boas vindas do servidor se haver sucesso na conexão) 2.user market 3.pass 123 4.ftp_config (Deve retornar as configurações de FTP definidas) 5.gerar (Deve gerar o arquivo de atualização do vendedor e disponibiliza-lo na pasta configurada para o FTP) 6.quit |
1.Utilize um key de atacado para entrar no Gestor.
2.Dentro do Gestor acesse o menu "Orçamento -> Orçamento de Pauta -> Pauta de preço -> Manutenção" e crie uma nova pauta ou localize uma que você conheça, lembre-se do código dela.
3.Certifique-se que os produtos da pauta tenham saldo.
4.Cadastre um supervisor "Cadastros -> Base -> Supervisores", neste cadastro você deverá informar o campo "Pauta" com o código da pauta cadastrada anteriormente.
5.Cadastre um vendedor (Pode utilizar o mesmo cadastro base do supervisor realizado anteriormente), e informe no campo "Supervisor" o código do mesmo cadastrado anteriormente.
6.Vincule alguns clientes ao vendedor "Cadastros -> Base -> Clientes -> Manutenção", vá na aba "Cliente" e informe no campo "Vendedor" o vendedor cadastrado anteriormente.
7.Rode o servidor FTP, depois o Market Vendas Server.
8.Conecte seu Android na rede Wi-fi, configure o acesso ao servidor e mande atualizar os dados.
9.Cadastre um pedido, mande atualizar novamente e verifique se o mesmo aparece no Market Gestor (Orçamento -> Atacado (Pauta) -> Manutenção).