Escolar Documentos
Profissional Documentos
Cultura Documentos
PARA DISPOSITIVOS
MÓVEIS
Introdução
O acesso à internet por dispositivos móveis cresce ano após ano, até o
ponto em que se tornou o principal meio de conexão à rede mundial de
computadores, utilizados no dia a dia para diferentes fins. Todavia, para que
a aplicação funcione adequadamente de acordo com as expectativas do
usuário e atenda às diversas funcionalidades, deve-se integrá-la a outros
sistemas (geralmente remotos). Para essa integração, o mais comum é
usar a application programming interface (API) de representational state
transfer (REST) e o padrão de arquitetura RESTful, bem como a separação
de conceitos entre back-end e front-end.
Neste capítulo, você estudará uma API REST, suas aplicações, seu uso
no desenvolvimento de aplicações Web, como acontece o consumo de
dados por meio dos serviços em endpoints de API e a partir de API REST
utilizando os recursos da plataforma Ionic com TypeScript.
Controle
de operações
Mensagens
Base de dados
CRM
Frontend Backend
Quando o usuário solicita o extrato ao banco, por meio do aplicativo móvel, este
encaminha para o servidor (que está na internet ou na nuvem) as informações sobre
o usuário que o acessa, qual sua conta e qual o dado buscado, no caso, o extrato.
Assim, o servidor busca essas informações em seus bancos de dados, prepara uma
estrutura que o aplicativo seja capaz de compreender e retorna tais dados a esse
aplicativo. Este, por sua vez, é responsável por montar a tela e apresentar, de forma
compreensível e objetiva, ao usuário quais foram seus recebimentos e gastos no
período consultado.
Os métodos PUT e POST podem ser utilizados para inserir ou alterar informações,
porém, existe uma diferença fundamental entre eles. Segundo a norma RFC 2616,
deve-se utilizar PUT quando a URI que identifica o recurso já existe; e POST quando o
sistema criar uma nova URI para os dados inseridos ou alterados (IETF/RFC 2616, 1999).
Para saber mais sobre a estrutura de mensagens HTTP, suas partes e subpartes, acesse
o link a seguir.
https://qrgo.page.link/mx7Ba
10 Consumo de serviços Web RESTful
O padrão RESTful é indicado quando cada chamada puder ser tratada como uma
transação em si. Se houver a necessidade de manter o estado da aplicação e uma
transação ser composta de diversas chamadas e trocas de mensagens, ou caso as
chamadas não forem condizentes com o uso do protocolo HTTP, convém utilizar o
Simple Object Access Protocol (SOAP). Para saber mais sobre esse protocolo, leia o capítulo
7.5 — Conceito Abstrato de Serviços e Exemplificação de Serviços do tipo SOAP, da
obra Redes de Computadores (CARISSIMI; ROCHOL; GRANVILLE, 2009).
Padrões de serialização
O padrão XML é mais antigo, mas amplamente usado por se tratar de um
modelo mais rígido de serialização de dados, fornecendo maior segurança e
a integridade destes por ser mais pesado e complexo de manusear. Trata-se
do padrão de excelência em sistemas críticos, como bancos.
Já o modelo de notação JSON é bastante simples e legível, tornando-se o
padrão de escolha para a maioria das aplicações modernas que não exigem um
contrato rígido para a troca de mensagens. Nele, cada lado da aplicação ( front-
-end e back-end) tem a responsabilidade exclusiva de garantir a integridade
dos dados. Ele também utiliza menos dados por ser menos verboso, é mais
leve e suportado, nativamente, pelo JavaScript e por linguagens derivadas,
deixando o processo de serialização e desserialização mais fácil.
12 Consumo de serviços Web RESTful
<cursos>
<curso>
<nome>Análise e Desenvolvimento de Sistemas</nome>
<duracao-unidades>6</duracao-unidades>
<duracao-escala>semestre</duracao-escala>
<titulacao>Tecnólogo</titulacao>
</curso>
<curso>
<nome>Engenharia de Software</nome>
<duracao-unidades>8</duracao-unidades>
<duracao-escala>semestre</duracao-escala>
<titulacao>Bacharel</titulacao>
</curso>
</cursos>
{
"cursos": [{
"nome": "Análise e Desenvolvimento de Sistemas",
"duracaoUnidade": "6",
"duracaoEscala": "semestre",
"titulacao": " Tecnólogo"
},
Consumo de serviços Web RESTful 13
{
"nome": "Engenharia de Software",
"duracaoUnidade": "8",
"duracaoEscala": "semestre",
"titulacao": "Bacharel"
}]
}
As chamadas aos recursos externos devem ser cuidadosamente tratadas para que
não tornem a aplicação inoperante enquanto espera o retorno das informações, nem
apresentem problemas graves caso o resultado dessa chamada não retorne, por algum
problema na rede, por exemplo. Assim, o correto tratamento dessas situações influirá
diretamente na experiência do usuário com sua aplicação.
14 Consumo de serviços Web RESTful
A seguir, veja um exemplo de como efetuar a chamada para URI, solicitando a lista
de usuários.
Classes de modelo de dados:
AMPUDIA, R. Celular é mais utilizado que computador para acessar internet no Brasil:
Um em cada cinco domicílios brasileiros tem acesso à internet sem ter um computador.
Folha de São Paulo, São Paulo, 2018. Disponível em: https://www1.folha.uol.com.br/
tec/2018/07/celular-e-mais-utilizado-do-que-computador-para-acessar-internet-no-
-brasil.shtml. Acesso em 12 jun. 2019.
CARISSIMI, A. S.; ROCHOL, J.; GRANVILLE, L. Z. Redes de computadores. Porto Alegre:
Bookman, 2009. 392 p. (Série Livros Didáticos Informática UFRGS, 20).
CÓDIGOS de status de respostas HTTP. Mozilla Developer Network Web Docs, [S. l.], 18
mar. 2019. Disponível em: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status.
Acesso em: 12 jun. 2019.
FIELDING, R. et al. Request for Comments: 2616: Hypertext Transfer Protocol — HTTP/1.1.
Internet Engineering Task Force, [S. l.], 1999. Disponível em: https://www.ietf.org/rfc/
rfc2616.txt. Acesso em: 12 jun. 2019.
FIELDING, R. T. Architectural Styles and the Design of Network-based Software Architectures.
Orientador: Richard N. Taylor. 2000. 180 f. Tese (Doutorado/Ph. D. em Ciência da Com-
putação e Informática) — Donald Bren School of Information & Computer Sciences,
University of California, Irvine, 2000. Disponível em: https://www.ics.uci.edu/~fielding/
pubs/dissertation/top.htm. Acesso em: 12 jun. 2019.
FOROUZAN, B. A; MOSHARRAF, F. Redes de computadores: uma abordagem top-down.
Porto Alegre: AMGH; Bookman, 2013. 917 p.
INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA. Diretoria de Pesquisas. Pesquisa
Nacional por Amostra de Domicílios (PNAD) contínua: características gerais dos domi-
cílios e dos moradores 2017. Rio de Janeiro: IBGE, 2018. 30 p. Disponível em: https://
agenciadenoticias.ibge.gov.br/media/com_mediaibge/arquivos/983c56b6748df136
90bcab63b5f631c1.pdf. Acesso em: 12 jun. 2019.
Leituras recomendadas
HYPERTEXT Transfer Protocol (HTTP) Status Code Registry. Internet Assigned Numbers
Authority, [S. l.], 2018. Disponível em: http://www.iana.org/assignments/http-status-
-codes/http-status-codes.xhtml. Acesso em: 12 jun. 2019.
MACHADO, R. P.; FRANCO, M. H. I.; BERTAGNOLLI, S. C. Desenvolvimento de software III:
programação de sistemas Web orientada a objetos em Java. Porto Alegre: Bookman;
Instituto Federal de Educação Ciência e Tecnologia do Rio Grande do Sul, 2016. 220
p. (Série Tekne; Eixo Informação e Comunicação).
Consumo de serviços Web RESTful 17
REST — PUT vs POST. REST API Tutorial, [S. l.], [201-?]. Disponível em: https://restfulapi.
net/rest-put-vs-post/. Acesso em: 12 jun. 2019.
WAGH, K.; THOOL, R. A Comparative Study of SOAP Vs REST Web Services Provisioning
Techniques for Mobile Host. Journal of Information Engineering and Applications, [S. l.], v.
2, n. 5, p. 12–16, 2012. Disponível em: https://www.iiste.org/Journals/index.php/JIEA/
article/view/2063. Acesso em: 12 jun. 2019.