Curso Android – Web Services

Após um vasto leque de demonstrações sobre como programar em Android, chega a hora de mostrar aos nossos leitores como podem realizar a comunicação do seu programa Android, com um servidor alojado algures na rede. Para isso, precisamos de pensar como realizar essa mesma comunicação entre os dispositivos e o servidor. O artigo de hoje terá como base preparar o utilizador sobre o tema.

Web Service

Os Web Services (WS) têm como grande utilidade a comuncação entre aplicações. São uma grande solução no que toca a integração de sistemas. Utilizando XML, podemos ter aplicações a funcionar nas mais diversas linguagens e trocar objetos entre elas. Como exemplo, podemos ter um servidor algures na rede (no caso do tutorial vamos utilizar um servidor da rede local) e uma aplicação Android que irá trocar objectos JSON com o servidor.

android

Objeto JSON

Mas afinal, o que são objetos JSON?

JavaScript Object Notation ou como acronimo JSON, é um formato bastante leve que permite a transferência de informação entre aplicações. Cada vez mais é utilizado JSON sobre XML, porque existe uma grande facilidade em interpretar os objectos. Como exemplo, temos um objeto JSON que trará 3 artigos com o titulo e o sub-titulo. Para interpretar tal objeto basta apenas aceder ao campo “tutoriais” e de seguida aos campos “Titulo” e “subTitulo”.

{"tutoriais":[
    {"Titulo":"Curso Android", "SubTitulo":"Intents"},
    {"Titulo":"Pokemon Go", "SubTitulo":"Jogo Android"},
    {"Titulo":"Android vs Iphone", "SubTitulo":"Vantagens do Android"}
]}

Enquanto que em ficheiro XML, a representação teria de ser da seguinte forma:

<tutoriais>
    <tutorial>
        <Titulo>Curso Android</Titulo> <subTitulo>Intents</subTitulo>
    </tutorial>
    <tutorial>
        <Titulo>Pokemon Go</Titulo> <subTitulo>Jogo Android</subTitulo>
    </tutorial>
    <tutorial>
        <Titulo>Android vs Iphone</Titulo> <subTitulo>Vantagens do Android</subTitulo>
    </tutorial>
</tutoriais>

Problemas de segurança

Os WS apesar de serem bastante úteis, não garantem segurança na transmissão de dados. Este pode ser um problema quando se transferem dados em rede, qualquer um pode apanhar a transmissão, ler os dados e fazer o que lhe apetecer. Infelizmente os WS estão expostos a isso. É sempre importante, garantir 3 pontos no que toca a segurança:

  • Autenticidade (ter a certeza que a transação entre servidor e aplicação ocorreu)
  • Privacidade (as mensagens não serem interceptadas por terceiros)
  • Integridade (as mensagens permanecerem inalteradas)

Estas rotinas de segurança podem ser implementadas de forma fácil, pelo que iremos dividir o tutorial em dois:

  • Utilização de Web Services em Android
  • Rotinas de segurança para a transmissão dos dados

Para o artigo:

Para que o leitor esteja pronto a realizar o tutorial, deverá ter em conta que as ferramentas que serão utilizadas deste lado serão:

  • NetBeans – Onde irá ser programado o servidor (faça clique no nome caso queira instalar o software)
  • Android Studio – Onde irá ser programada a aplicação Android (se ainda não está familiarizado com o Android Studio ou quer realizar o download, faça clique sobre o nome)

É importante referir que se pode utilizar qualquer outra linguagem de programação para o servidor. Desde que o tratamento do objecto JSON seja realizado da forma correta, a transmissão de dados irá ocorrer na mesma.

Basta então o utilizador estar atento aos próximos tutoriais de Android e preparado para programar um servidor e uma aplicação. O tutorial terá como primeiro objetivo realizar a comunicação entre um servidor e a aplicação android, somando dois números. Estes números irão ser enviados através de um objeto JSON e tratados do lado do servidor para que a soma seja efetuada e devolvida ao utilizador

Na segunda parte, iremos tratar de mostrar como tratar das rotinas de segurança, para os dados viajem de forma segura ou pelo menos mais segura, uma vez que é quase impossível garantir a segurança nas tecnologias a 100%.

Tens sugestões/dúvidas a fazer sobre outro tipo de assunto, no que toca a transmissão de dados via Android-Servidor? Deixa o teu comentário!

Fonte das imagens