Como funciona a comunicação entre softwares? Como posso programar algo que faça isso?

2 respostas
pauloaug1

Boa noite para todos vocês do GUJ. Minha pergunta é essa do título. Irei explicá-la…
Essa comunicação a que me refiro é o seguinte (darei um exemplo):
Exemplo básico (ao meu ver) >> um app de frases que dá pra compartilhar as frases no whatsapp. O app de frases se comunica com o whatsapp, pede pra acessar aquela interface com os contatos. (mais abstrato): um programa que se comunica com um outro programa afim de que o primeiro use alguma função do segundo para auxiliar seu trabalho, para agilizar tbm.
Exemplo avançado >> um programa que calcula quantas fotos de gatos tem no seu Google Fotos, a partir da quantidade de fotos presentes quando você pesquisa “gatos” no Google Fotos… Tem mt coisa envolvida, inclusive IA. Então é muito avançado isso.

Como eu faço um negócio desses? Eu já pesquisei mas meio que não entendi. Tem a ver com API?? Suspeito que sim.
Ou é outra coisa?
Claro que não vou usar isso com o Facebook, Office ou G Fotos, por exemplo. Eu daria uma facilitada, talvez com alguns FOSS, porque sou iniciante.

Eu entendi que isso é realmente importante, pois estudando e analisando eu percebi que softwares (web, mobile, desktop etc.) estão o tempo inteiro se comunicando, mesmo que eles estejam distantes (graças à internet e à nuvem).
Pronto, aí está toda a informação. Aguardo a resposta.

2 Respostas

rodriguesabner

é via API sim, quando você não tem um acesso a API vc pode fazer um scrapper (que seria raspar dados de um site).

Esse exemplo que vc deu do Whatsapp seria mais ou menos isso:

O app vai acessar essa URL (exemplo)
POST https://meusite.com.br/api/v1/app/enviar-mensagem

A minha requisição vai ser do tipo POST, nela eu vou passar:

mensagem: "oi, tudo bem?"
telefone: "5511912345678"

Quando eu clicar em um botão, a minha aplicação vai enviar uma requisição para esse “site” (que tem todo um backend por trás) e vai ser responsável por enviar essa mensagem.

Em Java eu gosto de usar o OkHttp

https://square.github.io/okhttp/

Essa requisição ficaria assim:

String nome = "nome aleatorio";

RequestBody requestBody = new MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("mensagem", "Eai " + nome  + ", tudo bem?")
        .addFormDataPart("telefone", "5511912345678")
        .build();

Request request = new Request.Builder()
        .url("https://meusite.com.br/api/v1/app/enviar-mensagem")
        .post(requestBody)
        .build();
pauloaug1

Legal. Não sabia desse scrapper! Obrigado pela resposta. Vou procurar mais informações sobre essas duas técnicas aí. Valeu!!

Criado 26 de junho de 2020
Ultima resposta 26 de jun. de 2020
Respostas 2
Participantes 2