5. Instalação no Cliente e Acesso aos Dados Atenção: Este artigo foi inteiramente gerado por IA e ainda não passou por revisão humana. Prossiga com cuidado. Este artigo explica como a Ema.IA passa a ser instalada diretamente no ambiente do cliente, o que muda no processo de implantação, e como os aplicativos (celular, desktop e navegador) conseguem consultar os dados do ERP sem que a TI do cliente precise abrir portas ou expor o servidor na internet. Este artigo descreve o novo modelo de instalação, com registro automático. Clientes configurados pelo modelo anterior (token gerado no Painel Administrador) continuam funcionando normalmente e serão migrados aos poucos. Como a Ema.IA acessa os dados do cliente Os dados do cliente estão no banco de dados do ERP, dentro da rede dele. Já o usuário pode estar em qualquer lugar — inclusive no celular, usando os dados móveis. A pergunta que a TI do cliente sempre faz é: "Então vocês precisam que eu abra uma porta ou exponha o servidor na internet?" Não. E o motivo é simples: invertemos o sentido da conexão . Junto com a Ema.IA é instalado no servidor do cliente um componente chamado Runtime Local . Assim que ele sobe, é ele quem liga para o servidor da Ema — e deixa essa ligação aberta o tempo todo. Quando a Ema precisa de alguma informação, ela apenas fala na linha que já está aberta. Pense assim: em vez de a Ema tocar a campainha da casa do cliente (e para isso precisar do endereço e de alguém para abrir o portão), é o cliente que liga para a Ema quando acorda e deixa o telefone fora do gancho. Para o firewall do cliente, isso é apenas uma saída HTTPS — o mesmo tipo de tráfego de um navegador abrindo um site. Praticamente toda rede corporativa já libera isso por padrão. - O caminho de uma pergunta Quando o usuário pergunta algo no celular, acontece o seguinte: O Runtime Local, no servidor do cliente, já está conectado ao servidor da Ema desde que o serviço subiu. O celular envia a pergunta apenas para o servidor da Ema , pela internet normal. O servidor da Ema repassa o pedido pela conexão que já estava aberta. O Runtime Local consulta o banco do ERP ali mesmo, dentro da rede do cliente. O resultado volta pelo mesmo caminho até o celular. O ponto que resolve tudo: o celular nunca fala com o servidor do cliente . Ele nem sabe onde esse servidor fica. Os dois lados falam com a Ema, e a Ema faz a ponte. Isso vale igualmente para o aplicativo desktop e para o navegador — nenhum deles precisa estar dentro da rede do cliente. - O que o Runtime Local pode e não pode fazer A conexão aberta não dá acesso livre ao servidor. O Runtime Local só sabe executar aquilo que veio programado dentro dele, e hoje isso é uma coisa só: consulta de leitura no banco de dados . Ele recusa qualquer comando que não seja uma consulta. Não existe caminho para alterar, apagar ou incluir dados. O volume de linhas retornado por consulta é limitado. Não existe pasta onde seja possível "soltar" uma função nova: ampliar o que o runtime faz exige uma nova versão do programa, assinada e distribuída pela Ema. Cada cliente tem sua própria credencial, e o pedido de um cliente nunca alcança o runtime de outro. Para interromper o acesso a qualquer momento, basta parar o serviço no servidor do cliente ou revogar a credencial daquele cliente no Painel Administrador. O que muda na implantação: o registro é automático No modelo anterior era necessário gerar um token no Painel Administrador e colá-lo no assistente de configuração dentro do Ema ERP. Isso não é mais necessário. Agora, na primeira vez que sobe, o Runtime Local se registra sozinho: Ele lê a chave de registro que já existe na base do cliente e identifica de qual cliente Ema se trata. Consulta o servidor da Ema, que confere se a licença é válida e se o cliente tem a Ema.IA contratada. Recebe a credencial, grava na própria base e já conecta. Se o processo for interrompido no meio (queda de internet, por exemplo), ele simplesmente tenta de novo na próxima vez, sem duplicar nada e sem perder a credencial já criada. O registro automático depende da licença do cliente estar em dia e com a Ema.IA contratada. Se o cliente não aparecer no Painel Administrador depois da instalação, verifique a licença antes de acionar o suporte. Onde a Ema.IA é instalada A instalação varia conforme o ambiente do cliente: - Cliente com Ema ERP em servidor É o caso mais comum. A Ema.IA e o Runtime Local são instalados na pasta do Contas ERP, e o Runtime Local é registrado como um serviço do Windows , para subir sozinho junto com o servidor, sem depender de alguém estar logado na máquina. - Estação de trabalho Nas máquinas dos usuários é instalado apenas o aplicativo da Ema.IA, na pasta do próprio usuário, sem necessidade de permissão de administrador. Essas máquinas não têm Runtime Local — elas usam o que está no servidor. - Cliente sem Ema ERP Apenas o aplicativo, com atalho no menu iniciar. Não existe Runtime Local nesse caso, pois não há banco do ERP para consultar. As atualizações são automáticas nos três casos. Quando o Runtime Local é atualizado, ele espera as consultas em andamento terminarem antes de reiniciar, e se a nova versão falhar ao subir ele volta sozinho para a versão anterior. O que precisa ser liberado na rede do cliente Somente a saída para o domínio ema.ia.br , em HTTPS. Nada de entrada. Para conferir se está liberado, no servidor do cliente abra o link https://ema.ia.br/api/v1/ no navegador. Se estiver tudo certo, aparece: {"status":"Running"} Ou, se preferir, pelo PowerShell: (Invoke-WebRequest https://ema.ia.br/api/v1/).StatusDescription Se a resposta for diferente de OK , existe algo bloqueando a conexão — normalmente o firewall ou o proxy da rede. Conferindo se a instalação deu certo O serviço do Runtime Local está em execução no servidor (Serviços do Windows). O cliente aparece no Painel Administrador Ema.IA. Uma pergunta feita no aplicativo que dependa de dados do ERP é respondida com os dados corretos. Se algo não funcionar, os registros de funcionamento ficam na pasta runtime\logs , dentro da pasta de instalação da Ema.IA no servidor, organizados por data. Eles são o primeiro lugar a olhar e o que o suporte vai pedir. - Situações comuns O serviço sobe e fica tentando conectar: normal enquanto o banco de dados ainda está subindo. Ele tenta sozinho, esperando um pouco mais a cada tentativa. O serviço sobe e para logo em seguida: normalmente configuração de banco incorreta ou credencial recusada. Nesses casos ele para de propósito, para não mascarar o problema — confira o log. O cliente não aparece no Painel Administrador: o registro não foi concluído. Confira a licença e a chave de registro na base. A conexão cai quando a máquina hiberna ou troca de rede: esperado. O runtime percebe sozinho e reconecta, sem precisar de intervenção. Perguntas frequentes da TI do cliente Precisa abrir porta no firewall? Não. Apenas saída HTTPS para ema.ia.br . Precisa de IP fixo, DNS público ou VPN? Não. O banco de dados fica exposto na internet? Não. Só o Runtime Local, de dentro da rede, conversa com o banco. A Ema consegue alterar dados no sistema? Não. A única operação disponível é consulta de leitura. Como interromper o acesso? Parando o serviço no servidor ou revogando a credencial do cliente no Painel Administrador. Ficou alguma dúvida? Entre em contato com o suporte da Ema.IA. Se a dúvida for recorrente, atualizaremos este artigo — sugestões são bem-vindas.