1) O documento discute a integração de aplicativos Android com web services RESTful. 2) Ele identifica a biblioteca Retrofit como a melhor opção para esta integração devido à sua popularidade, manutenção e facilidade de uso. 3) O documento também apresenta um exemplo prático de como utilizar a Retrofit para consumir um web service REST que fornece uma lista de contatos.
Este documento apresenta uma palestra sobre mobilidade, computação móvel, dispositivos e aplicativos móveis. O palestrante Carlos Eugênio Torres irá discutir o conceito de mobilidade, uma breve história da computação móvel, necessidades do mercado, características técnicas de dispositivos móveis, principais plataformas de desenvolvimento e estatísticas do mercado de aplicativos móveis. A palestra também irá apresentar um aplicativo móvel desenvolvido especialmente para interagir com o público durante a
O documento apresenta uma introdução ao desenvolvimento mobile, descrevendo os principais tipos de dispositivos, plataformas e ferramentas. Cobre tópicos como interface, banco de dados, backend, análise de projeto e formas de monetização de aplicativos móveis.
O documento descreve a história e características do sistema operacional Android. Começa com a compra da Android Inc. pelo Google em 2005 e o lançamento da plataforma em 2007. Detalha as principais versões lançadas desde 2008 e aspectos técnicos como o kernel Linux, máquina virtual Dalvik e código aberto.
Uma panorâmica sobre a Historia e Arquitetura do IOS. Apresenta uma explanação sobre as linguagens Objective-C e Swift, bem como o ambiente de desenvolvimento XCode.
Este documento apresenta as informações sobre a disciplina de Bioquímica dos Alimentos ministrada na Universidade Federal da Paraíba, incluindo o nome da professora, carga horária, ementa e objetivos. A introdução discute a definição de bioquímica de alimentos e os principais nutrientes como carboidratos, lipídeos, proteínas, vitaminas, minerais e água. Também aborda as características químicas e transformações que ocorrem nos alimentos.
Fibras alimentares como frutooligossacarideos e inulina são prebióticos que estimulam a flora intestinal e ajudam na digestão. Alimentos probióticos como leites fermentados contêm microrganismos benéficos. O glúten é uma proteína encontrada em cereais que pode causar problemas para pessoas com doença celíaca, enquanto o MSG é um aditivo alimentar usado para melhorar o sabor de alguns alimentos.
Este documento fornece uma referência sobre comandos básicos do Linux, incluindo comandos para navegação de arquivos e diretórios, visualização de informações do sistema, configuração de permissões e ferramentas de linha de comando. O documento lista vários comandos úteis e fornece exemplos de uso.
Este documento apresenta uma palestra sobre mobilidade, computação móvel, dispositivos e aplicativos móveis. O palestrante Carlos Eugênio Torres irá discutir o conceito de mobilidade, uma breve história da computação móvel, necessidades do mercado, características técnicas de dispositivos móveis, principais plataformas de desenvolvimento e estatísticas do mercado de aplicativos móveis. A palestra também irá apresentar um aplicativo móvel desenvolvido especialmente para interagir com o público durante a
O documento apresenta uma introdução ao desenvolvimento mobile, descrevendo os principais tipos de dispositivos, plataformas e ferramentas. Cobre tópicos como interface, banco de dados, backend, análise de projeto e formas de monetização de aplicativos móveis.
O documento descreve a história e características do sistema operacional Android. Começa com a compra da Android Inc. pelo Google em 2005 e o lançamento da plataforma em 2007. Detalha as principais versões lançadas desde 2008 e aspectos técnicos como o kernel Linux, máquina virtual Dalvik e código aberto.
Uma panorâmica sobre a Historia e Arquitetura do IOS. Apresenta uma explanação sobre as linguagens Objective-C e Swift, bem como o ambiente de desenvolvimento XCode.
Este documento apresenta as informações sobre a disciplina de Bioquímica dos Alimentos ministrada na Universidade Federal da Paraíba, incluindo o nome da professora, carga horária, ementa e objetivos. A introdução discute a definição de bioquímica de alimentos e os principais nutrientes como carboidratos, lipídeos, proteínas, vitaminas, minerais e água. Também aborda as características químicas e transformações que ocorrem nos alimentos.
Fibras alimentares como frutooligossacarideos e inulina são prebióticos que estimulam a flora intestinal e ajudam na digestão. Alimentos probióticos como leites fermentados contêm microrganismos benéficos. O glúten é uma proteína encontrada em cereais que pode causar problemas para pessoas com doença celíaca, enquanto o MSG é um aditivo alimentar usado para melhorar o sabor de alguns alimentos.
Este documento fornece uma referência sobre comandos básicos do Linux, incluindo comandos para navegação de arquivos e diretórios, visualização de informações do sistema, configuração de permissões e ferramentas de linha de comando. O documento lista vários comandos úteis e fornece exemplos de uso.
Aula 1- Fundamentos da computação móvelJanynne Gomes
O documento discute os fundamentos da computação móvel, incluindo a evolução dos dispositivos móveis, os pilares da mobilidade (portabilidade, usabilidade, funcionalidade e conectividade) e tendências futuras, como o aumento de usuários móveis e vídeos.
O documento discute a engenharia de requisitos, incluindo a elicitação, detalhamento e documentação de requisitos. Apresenta várias técnicas para análise de requisitos como entrevistas, questionários e protótipos. Discutem características de bons requisitos como não ambíguos, verificáveis e determinísticos. Também aborda classificação, validação e gerenciamento de requisitos.
1) O documento apresenta o método WAE para modelagem de aplicações web utilizando a linguagem UML, definindo novos estereótipos para representar elementos específicos da arquitetura web.
2) Apresenta os estereótipos de classe, como páginas do cliente e servidor, e de associação, como link e submit, utilizados na visão lógica do projeto web.
3) Discutem a visão de componentes da WAE, mapeando os elementos lógicos aos arquivos físicos por meio de diagram
O documento descreve o sistema operacional iOS da Apple, incluindo sua história desde o lançamento em 2007, principais versões e recursos, assim como pontos positivos como segurança e atualizações e pontos negativos como preço elevado e falta de personalização.
O documento discute doenças transmitidas por alimentos, incluindo agentes causadores comuns como Salmonella, E. coli, Staphylococcus aureus, Bacillus cereus, Shigella e Rotavírus. Ele também aborda fatores que contribuem para a contaminação e multiplicação microbiana dos alimentos.
The recent explosion in the popularity of apps has seen more and more people set out to develop their own, and the technology behind them has changed as a result. The big technology companies which easily dominated the market in years past have had to become more competitive in order to keep up sales, while people with limited technical skills have sought out simple design modules to enable them to develop their ideas.
Mobile application development is a term used to denote the act or process by which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones.
These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.
Mobile - Uma introdução sobre sistemas para dispositivos móveis.Júlia Fernandes Alves
O documento apresenta uma introdução sobre sistemas móveis, discutindo os principais sistemas operacionais como Android, iOS e Windows Phone. Também aborda sobre as plataformas mais vendidas e como iniciar o desenvolvimento para Android, requisitos e publicação em lojas de aplicativos.
Feature-Driven Development - Visão GeralRuan Carvalho
O documento descreve a metodologia de desenvolvimento de software chamada Feature-Driven Development (FDD). O FDD é um processo iterativo e incremental que foca no desenvolvimento equilibrado de funcionalidades valiosas para o cliente, através de modelagem, planejamento, detalhamento e implementação de pequenas funcionalidades por uma equipe multifuncional. O ciclo de vida do FDD inclui a construção de um modelo abrangente do sistema, a criação de uma lista de funcionalidades, o planejamento e detalhamento dessas funcionalidades e o desenvolvimento por funcionalidade.
O documento apresenta uma palestra sobre mobilidade, computação móvel, dispositivos e aplicativos. O palestrante Carlos Eugênio Torres irá discutir o conceito de mobilidade, uma breve história da computação móvel, as principais plataformas de desenvolvimento de aplicativos e as necessidades do mercado.
A INDÚSTRIA DE ALIMENTOS TEM
SEU DESEMPENHO VINCULADO AO
DO SETOR AGROPECUÁRIO, NO
QUAL SE ABASTECE DE
MATÉRIAS-PRIMAS, ENTRE ELAS:
LEITE, CAFÉ, CARNES, CANA-DEAÇÚCAR,
ÁLCOOL, AÇÚCAR, SOJA,
MILHO, GIRASSOL, PALMA, TRIGO,
ENTRE OUTROS
Teste de usabilidade - Ferramentas online para testesLuiz Agner
O documento discute ferramentas para testes de usabilidade online, resumindo quatro sites que oferecem este serviço. Cada site é descrito em termos de como funciona, configuração de testes, realização dos testes, resultados e prós e contras. Em geral, os sites fornecem resultados estatísticos detalhados, porém não substituem testes de usabilidade formais devido à falta de exploração dos motivos das ações dos usuários.
O documento discute arquitetura orientada a serviços (SOA), arquitetura orientada para web (WOA) e REST. SOA descreve uma metodologia para desenvolvimento de software baseada em serviços reutilizáveis. WOA estende SOA para aplicações web. REST usa protocolo HTTP e URIs para identificar recursos e permitir que sistemas se comuniquem independentemente de plataforma.
Este trabalho da disciplina de Sistemas de Informação Distribuídos visava criar um sistema de recomendação de páginas web sobre saúde de acordo com o perfil do usuário. O sistema seria resultado da integração de módulos desenvolvidos por diferentes grupos da turma. Infelizmente não foi completamente implementado, ficando funcional apenas a integração com web services de terceiros.
1) O documento apresenta a arquitetura e o desenvolvimento de um protótipo de aplicação web distribuída baseada em JavaScript.
2) As tecnologias utilizadas incluem HTTP, HTML5, JavaScript, AngularJS, MongoDB, Node.js, Express e Bootstrap.
3) A arquitetura proposta separa o lado servidor, onde estão as regras de negócio e a persistência dos dados, do lado cliente, responsável pela exibição e captura de dados.
Atualmente, o Serviço Web é a solução mais utilizada para integração entre sistemas, pois apresenta vantagens como independência de plataforma, baixo acoplamento e interoperabilidade entre aplicações. Além disso, é uma tecnologia barata, pois se baseia em padrões abertos da Internet. Com base nisto este trabalho apresenta a estrutura básica, tecnologias e a forma de funcionamento de um Serviço Web. Também são apresentadas características positivas e negativas desta tecnologia.
[1] O documento discute Web Services, incluindo as tecnologias SOAP, WSDL e UDDI que permitem a comunicação entre aplicações da web. [2] SOAP é usado para enviar requisições e respostas entre aplicações, WSDL descreve as funcionalidades dos serviços web, e UDDI fornece um diretório para descoberta e integração de serviços web. [3] Juntos, esses padrões permitem que aplicações desenvolvidas independentemente em diferentes linguagens possam se comunicar e integrar funcionalidades.
1) O documento discute as tecnologias por trás de Web Services, incluindo SOAP, WSDL e UDDI.
2) Web Services permitem que aplicações distribuídas troquem informações através da internet usando padrões abertos como XML, SOAP e HTTP.
3) SOAP é usado para troca de mensagens, WSDL descreve os serviços disponíveis e UDDI permite localizar e integrar serviços.
Este documento discute as tecnologias por trás dos Web Services. Descreve o que são Web Services e como eles permitem a integração de aplicações através da internet usando padrões como XML, SOAP, WSDL e UDDI. Também explica como a arquitetura orientada a serviços difere de outras arquiteturas e quais são os principais componentes e funcionalidades de Web Services.
Este documento discute as tecnologias por trás dos Web Services. Descreve o que são Web Services e como eles permitem a integração de aplicações através da internet usando padrões como XML, SOAP, WSDL e UDDI. Também explica como a arquitetura orientada a serviços difere de outras arquiteturas e quais são os principais componentes e funcionalidades de Web Services.
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
O documento discute APIs, REST e arquitetura RESTful. Explica que APIs permitem a integração entre sistemas e microserviços estruturam soluções como coleções de serviços levemente acoplados. REST é um estilo de projetar aplicativos da Web fracamente acoplados usando recursos nomeados e métodos HTTP padronizados. Arquitetura RESTful significa que uma aplicação web segue os princípios de design REST.
Web services permitem a integração e comunicação entre aplicações, permitindo que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Web services usam XML para enviar e receber dados entre aplicações e são identificados por URIs. SOAP é o padrão para troca de mensagens entre aplicações e web services.
Aula 1- Fundamentos da computação móvelJanynne Gomes
O documento discute os fundamentos da computação móvel, incluindo a evolução dos dispositivos móveis, os pilares da mobilidade (portabilidade, usabilidade, funcionalidade e conectividade) e tendências futuras, como o aumento de usuários móveis e vídeos.
O documento discute a engenharia de requisitos, incluindo a elicitação, detalhamento e documentação de requisitos. Apresenta várias técnicas para análise de requisitos como entrevistas, questionários e protótipos. Discutem características de bons requisitos como não ambíguos, verificáveis e determinísticos. Também aborda classificação, validação e gerenciamento de requisitos.
1) O documento apresenta o método WAE para modelagem de aplicações web utilizando a linguagem UML, definindo novos estereótipos para representar elementos específicos da arquitetura web.
2) Apresenta os estereótipos de classe, como páginas do cliente e servidor, e de associação, como link e submit, utilizados na visão lógica do projeto web.
3) Discutem a visão de componentes da WAE, mapeando os elementos lógicos aos arquivos físicos por meio de diagram
O documento descreve o sistema operacional iOS da Apple, incluindo sua história desde o lançamento em 2007, principais versões e recursos, assim como pontos positivos como segurança e atualizações e pontos negativos como preço elevado e falta de personalização.
O documento discute doenças transmitidas por alimentos, incluindo agentes causadores comuns como Salmonella, E. coli, Staphylococcus aureus, Bacillus cereus, Shigella e Rotavírus. Ele também aborda fatores que contribuem para a contaminação e multiplicação microbiana dos alimentos.
The recent explosion in the popularity of apps has seen more and more people set out to develop their own, and the technology behind them has changed as a result. The big technology companies which easily dominated the market in years past have had to become more competitive in order to keep up sales, while people with limited technical skills have sought out simple design modules to enable them to develop their ideas.
Mobile application development is a term used to denote the act or process by which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones.
These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.
Mobile - Uma introdução sobre sistemas para dispositivos móveis.Júlia Fernandes Alves
O documento apresenta uma introdução sobre sistemas móveis, discutindo os principais sistemas operacionais como Android, iOS e Windows Phone. Também aborda sobre as plataformas mais vendidas e como iniciar o desenvolvimento para Android, requisitos e publicação em lojas de aplicativos.
Feature-Driven Development - Visão GeralRuan Carvalho
O documento descreve a metodologia de desenvolvimento de software chamada Feature-Driven Development (FDD). O FDD é um processo iterativo e incremental que foca no desenvolvimento equilibrado de funcionalidades valiosas para o cliente, através de modelagem, planejamento, detalhamento e implementação de pequenas funcionalidades por uma equipe multifuncional. O ciclo de vida do FDD inclui a construção de um modelo abrangente do sistema, a criação de uma lista de funcionalidades, o planejamento e detalhamento dessas funcionalidades e o desenvolvimento por funcionalidade.
O documento apresenta uma palestra sobre mobilidade, computação móvel, dispositivos e aplicativos. O palestrante Carlos Eugênio Torres irá discutir o conceito de mobilidade, uma breve história da computação móvel, as principais plataformas de desenvolvimento de aplicativos e as necessidades do mercado.
A INDÚSTRIA DE ALIMENTOS TEM
SEU DESEMPENHO VINCULADO AO
DO SETOR AGROPECUÁRIO, NO
QUAL SE ABASTECE DE
MATÉRIAS-PRIMAS, ENTRE ELAS:
LEITE, CAFÉ, CARNES, CANA-DEAÇÚCAR,
ÁLCOOL, AÇÚCAR, SOJA,
MILHO, GIRASSOL, PALMA, TRIGO,
ENTRE OUTROS
Teste de usabilidade - Ferramentas online para testesLuiz Agner
O documento discute ferramentas para testes de usabilidade online, resumindo quatro sites que oferecem este serviço. Cada site é descrito em termos de como funciona, configuração de testes, realização dos testes, resultados e prós e contras. Em geral, os sites fornecem resultados estatísticos detalhados, porém não substituem testes de usabilidade formais devido à falta de exploração dos motivos das ações dos usuários.
O documento discute arquitetura orientada a serviços (SOA), arquitetura orientada para web (WOA) e REST. SOA descreve uma metodologia para desenvolvimento de software baseada em serviços reutilizáveis. WOA estende SOA para aplicações web. REST usa protocolo HTTP e URIs para identificar recursos e permitir que sistemas se comuniquem independentemente de plataforma.
Este trabalho da disciplina de Sistemas de Informação Distribuídos visava criar um sistema de recomendação de páginas web sobre saúde de acordo com o perfil do usuário. O sistema seria resultado da integração de módulos desenvolvidos por diferentes grupos da turma. Infelizmente não foi completamente implementado, ficando funcional apenas a integração com web services de terceiros.
1) O documento apresenta a arquitetura e o desenvolvimento de um protótipo de aplicação web distribuída baseada em JavaScript.
2) As tecnologias utilizadas incluem HTTP, HTML5, JavaScript, AngularJS, MongoDB, Node.js, Express e Bootstrap.
3) A arquitetura proposta separa o lado servidor, onde estão as regras de negócio e a persistência dos dados, do lado cliente, responsável pela exibição e captura de dados.
Atualmente, o Serviço Web é a solução mais utilizada para integração entre sistemas, pois apresenta vantagens como independência de plataforma, baixo acoplamento e interoperabilidade entre aplicações. Além disso, é uma tecnologia barata, pois se baseia em padrões abertos da Internet. Com base nisto este trabalho apresenta a estrutura básica, tecnologias e a forma de funcionamento de um Serviço Web. Também são apresentadas características positivas e negativas desta tecnologia.
[1] O documento discute Web Services, incluindo as tecnologias SOAP, WSDL e UDDI que permitem a comunicação entre aplicações da web. [2] SOAP é usado para enviar requisições e respostas entre aplicações, WSDL descreve as funcionalidades dos serviços web, e UDDI fornece um diretório para descoberta e integração de serviços web. [3] Juntos, esses padrões permitem que aplicações desenvolvidas independentemente em diferentes linguagens possam se comunicar e integrar funcionalidades.
1) O documento discute as tecnologias por trás de Web Services, incluindo SOAP, WSDL e UDDI.
2) Web Services permitem que aplicações distribuídas troquem informações através da internet usando padrões abertos como XML, SOAP e HTTP.
3) SOAP é usado para troca de mensagens, WSDL descreve os serviços disponíveis e UDDI permite localizar e integrar serviços.
Este documento discute as tecnologias por trás dos Web Services. Descreve o que são Web Services e como eles permitem a integração de aplicações através da internet usando padrões como XML, SOAP, WSDL e UDDI. Também explica como a arquitetura orientada a serviços difere de outras arquiteturas e quais são os principais componentes e funcionalidades de Web Services.
Este documento discute as tecnologias por trás dos Web Services. Descreve o que são Web Services e como eles permitem a integração de aplicações através da internet usando padrões como XML, SOAP, WSDL e UDDI. Também explica como a arquitetura orientada a serviços difere de outras arquiteturas e quais são os principais componentes e funcionalidades de Web Services.
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
O documento discute APIs, REST e arquitetura RESTful. Explica que APIs permitem a integração entre sistemas e microserviços estruturam soluções como coleções de serviços levemente acoplados. REST é um estilo de projetar aplicativos da Web fracamente acoplados usando recursos nomeados e métodos HTTP padronizados. Arquitetura RESTful significa que uma aplicação web segue os princípios de design REST.
Web services permitem a integração e comunicação entre aplicações, permitindo que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Web services usam XML para enviar e receber dados entre aplicações e são identificados por URIs. SOAP é o padrão para troca de mensagens entre aplicações e web services.
Web services permitem a integração de sistemas e comunicação entre aplicações diferentes, independentemente da linguagem ou plataforma. Os web services usam XML para transmitir dados entre aplicações de forma padronizada, permitindo que recursos sejam compartilhados através da rede. WSDL descreve os serviços disponíveis para consumidores enquanto SOAP especifica a comunicação entre cliente e servidor.
O documento descreve um protótipo de sistema de gerenciamento de rotas para transporte coletivo desenvolvido usando Java, JSP, API Google Maps e banco de dados PostgreSQL. O sistema permite gerenciar rotas de forma automatizada, calculando distâncias e custos.
O documento discute as diferenças entre SOAP e REST para integração de aplicativos. SOAP é mais maduro e possui especificações completas, enquanto REST é mais flexível. SOAP é melhor para processamento assíncrono, contratos formais e operações com estado, enquanto REST é melhor quando há limitação de recursos e para operações sem estado.
1) O documento discute as tecnologias de Web Services, incluindo conceitos, arquitetura e padrões como SOAP, WSDL e UDDI.
2) SOAP é o protocolo padrão para troca de mensagens entre Web Services, WSDL descreve os serviços disponíveis e UDDI fornece um diretório para descoberta de serviços.
3) Web Services permitem a comunicação entre sistemas distribuídos de forma independente de plataforma ou linguagem através da utilização de padrões da web como XML, HTTP e os
REST e GraphQL são duas APIs populares. REST usa métodos HTTP como GET e POST para recuperar e enviar dados, enquanto GraphQL permite que os clientes solicitem exatamente os dados de que precisam através de uma única consulta. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e monitoramento mais fácil.
Este documento compara REST e SOAP, discutindo suas vantagens e desvantagens. REST facilita a filosofia da Web aberta e usa HTTP padrão, enquanto SOAP fornece confiabilidade e segurança integradas, mas requer mais recursos. O documento recomenda identificar as necessidades do projeto e objetivos antes de escolher entre as abordagens.
1. O documento compara as arquiteturas SOAP e REST, descrevendo seus conceitos, diferenças arquiteturais e pontos positivos e negativos de cada uma.
2. SOAP é um protocolo baseado em XML para troca de mensagens, enquanto REST é um estilo arquitetural que usa recursos nomeados e o protocolo HTTP.
3. REST tende a ser mais simples e performático, enquanto SOAP oferece mais recursos de segurança e transações em integrações complexas.
1) O documento discute duas abordagens arquitetônicas para serviços web: a visão tradicional baseada em SOAP e a abordagem RESTful baseada nos princípios do REST.
2) A abordagem RESTful propõe a exposição de recursos através de URLs ao invés de escondê-los atrás de métodos, seguindo os princípios de identificação global, interfaces uniformes e interações stateless.
3) Um exemplo mostra como informações sobre alunos poderiam ser disponibilizadas como recursos XML identificados
Semelhante a INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST (20)
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
1. INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
Rafael Silva de Bitencourt1
Ricardo Longa2
RESUMO
O aumento da utilização de dispositivos móveis impulsionou o desenvolvimento
de aplicações embarcadas que necessitam de integração através da utilização
de web services. A arquitetura REST é cada vez mais utilizada pelo mundo
inteiro para criação de web services, que são chamados de RESTful por seguir
os princípios desta arquitetura. Com base no aumento da utilização e a
necessidade de integração dos aplicativos Android, tendo os web services
RESTful em ascensão no mercado atual, o artigo busca identificar formas para
realizar esta integração e ilustrar uma delas com exemplo de utilização. Para
isto foi realizado pesquisa literária, identificando as APIs especialistas como
forma recomentada para esta integração. Realizado então, pesquisa em sites
que comparam APIs, onde foi identificado a Retrofit no topo das listas de
classificação, sendo a mais indicada. Desta forma foi utilizada esta API para
ilustrar um exemplo e demonstrar com mais clareza as vantagens. Concluiu-se
que com a utilização da API o desenvolvedor não necessita ter conhecimento
sobre assuntos que são essenciais para a comunicação, podendo ter mais foco
no objetivo final da aplicação que está trabalhando e apresentando mais
resultados.
Palavras-chave: Android. RESTful. JSON.
1
Pós-graduando em sistemas web e dispositivos móveis: rafael_silbit@hotmail.com
2
Pós-graduado em engenharia de software: ricardo.longa@gmail.com
2. 2
1 INTRODUÇÃO
De acordo com a IDC (2013), empresa que estuda as tendências de mercado
na área de tecnologia e presta consultoria por todo o mundo, o mercado de
dispositivos móveis, especialmente os smartphones, está em evidência e
possui um público cada vez maior, em virtude da facilidade de aquisição de um
aparelho por qualquer pessoa. Esta tendência continuará nos próximos anos
em razão à forte demanda por dados móveis e computação de mão,
evidenciando que o consumo por aplicações em rede seguirá a mesma
tendência.
Aplicativos móveis são normalmente pequenos, utilizando pouca memória dos
dispositivos, e com muitas funcionalidades. Um dos fatores que contribui para
estes aplicativos terem várias funcionalidades é a extração de informações de
várias fontes. Um exemplo é o aplicativo Maps, que já vem instalado na maioria
dos smartphones Android e fornece a avançada funcionalidade de
mapeamento. Isto é possível devido a sua integração com a API do Google
Maps e outros serviços (HASHIMI; KOMATINENI; MACLEAN, 2010).
Também existe a necessidade de armazenamento de dados da própria
aplicação móvel em base de dados externas, mesmo existindo a possibilidade
de utilização do banco de dados do Android. Por questões de segurança e
devido à grande quantidade de dados que precisam ser armazenados é
recomendado a utilização de um servidor convencional para persistência, e não
o dispositivo móvel (LECHETA, 2010).
Para a integração com esta base de dados a aplicação móvel não deve realizar
a conexão direta ao banco de dados, por questões de segurança dos dados e
pela padronização do acesso, uma vez que web services facilitam a
comunicação entre diversas plataformas, pois as linguagens de programação
entre servidor e cliente podem ser diferentes (LECHETA, 2015a).
Para a criação de web services a arquitetura de software Representational
State Transfer (REST) é cada vez mais utilizada pelo mundo inteiro e é uma
3. 3
alternativa aos web services SOAP que já estão no mercado a mais tempo.
Esta arquitetura foi formalizada em 2000 por Dr. Roy T. Fielding, onde sistemas
ou serviços que seguem os princípios desta arquitetura são denominados
RESTful (LECHETA, 2015b).
A partir desta formalização em 2000, a arquitetura REST vem sendo um termo
cada vez mais utilizado, estudado e discutido. Tornando-se de fácil
compreensão pelos desenvolvedores, bem documentada e assim atraindo
interesse de grandes empresas para utilização em vários sistemas de grande
porte como Twitter, Facebook, Flickr e todas as APIs de serviços públicos do
Google como: Google Agenda, Google Health, Google Data e Google Maps
(ARAÚJO. et al, 2012).
Com base no aumento da utilização e a necessidade de integração dos
aplicativos Android, tendo os web services RESTful em ascensão no mercado
atual, neste artigo será identificado formas para realizar esta integração e
ilustrado uma delas com exemplo de utilização. Com objetivo de contribuir em
pesquisas de trabalhos futuros que desejarem criar aplicativos Android mais
complexos com integração.
2 INTEGRAÇÃO DE APLICATIVOS ANDROID
Como neste artigo buscamos formas para integração de aplicações Android
com web services RESTful, primeiramente será abordado o conceito e
implementação deste web service.
4. 4
2.1 Web Services RESTful
Para ser considerado um RESTful o web service precisa seguir os princípios
básicos da arquitetura REST que foram definidos por Dr. Roy T. Fielding em
2000. Esta arquitetura utiliza o protocolo HTTP para criação de serviços que
trabalham com dados geralmente nos formatos XML ou JSON e seus princípios
são (LECHETA, 2015b; RICHARDSON; RUBY, 2007):
a) Comunicação entre cliente e servidor sem estado, ou seja, cada
mensagem HTTP encaminhada ao servidor contém toda a
informação necessária para atendimento do pedido. Assim nem o
cliente e nem o servidor necessitam gravar nenhum estado das
comunicações entre mensagens. Outras aplicações baseadas em
HTTP utilizam cookies e outros mecanismos para manter o estado
da sessão.
b) Um conjunto de operações bem definidas e padronizadas
aplicados a todos os recursos de informação. O protocolo HTTP já
define um conjunto de operações, onde as mais importantes são
POST, GET, PUT e DELETE. Normalmente estas operações são
combinadas com operações CRUD para a persistência de dados.
c) Uma sintaxe universal para identificar os recursos, a chamada
Uniform Resource Identifier (URI). Onde cada recurso é
unicamente direcionado, contendo uma URI exclusiva.
d) A utilização de tipos de conteúdo para as solicitações e retornos
de conteúdo. O que permite que a aplicação cliente especifique o
formato de conteúdo desejado, por exemplo XML ou JSON.
Para criação do web service o ideal é a utilização de framework especialista,
para separação dos detalhes de baixo nível da comunicação. Afim de
simplificar o desenvolvimento de web services RESTful e seus clientes em
Java, a Sun/Oracle projetou uma API JAX-RS padrão e portátil. O framework
Jersey RESTful Web Services tem código aberto e é a implementação de
referência desta API. Além disso, Jersey fornece a sua própria API estendendo
o conjunto de ferramentas JAX-RS com recursos adicionais e utilitários para
5. 5
simplificar ainda mais a criação dos serviços RESTful (LECHETA, 2015b;
ORACLE,2016c).
Foi utilizado o Jersey para a criação do web service, considerando que a
empresa que disponibilizou o framework é a responsável pela linguagem Java.
Mas como o objetivo do artigo é a demonstração da integração no Android não
foi aprofundado a demonstração da criação do serviço, apenas demonstrado o
necessário para o entendimento e desenvolvimento da aplicação cliente.
Para a demonstração da integração foi feito uma aplicação com objetivo
simples para facilitar o entendimento, sendo uma lista de contatos
compartilhada. Ou seja, a lista de contatos fica em um banco de dados no
servidor, é disponibilizada através do web service RESTful e a aplicação
Android faz a manutenção desta lista.
Para armazenar a lista de contatos foi utilizado o banco de dados JavaDB
(Derby). O motivo da escolha deste banco de dados foi o mesmo do framework
Jersey, já que também é disponibilizado pela Sun/Oracle, escrito inteiramente
em Java (ORACLE,2016b).
A Figura 1 apresenta o diagrama UML da tabela criada para armazenar os
contatos.
6. 6
Figura 1: Diagrama UML
Fonte: Do autor.
Utilizando o ambiente de desenvolvimento Netbeans, que também é
disponibilizado pela Sun/Oracle de forma gratuita, é possível criar o Web
Service RESTful a partir do banco de dados. Para isto deve ser criado um
projeto Java Web e após existe a opção “Web Services RESTful a partir do
banco de dados”, onde podem ser selecionados bancos de dados que estejam
com o Java Database Connectivity (JDBC) devidamente configurado e definir
quais tabelas do banco escolhido devem ser disponibilizadas no web service.
Utilizando esta opção o NetBeans cria as classes de entidades referentes as
tabelas e o web service já disponibilizando estas classes, utilizando a Java
Persistence API para persistência dos dados no banco (ORACLE,2016a).
A Figura 2 mostra as classes geradas pelo Netbeans a partir da tabela Contato.
Figura 2: Classes do projeto Web
Fonte: Do autor.
A classe AbstractFacade implementa os métodos de persistência da entidade
no banco e a classe ContatoFacadeREST é uma herança desta,
implementando apenas os métodos REST.
A URL de acesso ao recurso ficou da seguinte forma:
http://servidor/restful/app/contatos/. Sendo que restful é o caminho do contexto
7. 7
da aplicação web, app é definido na classe ApplicationConfig com a anotação
ApplicationPath da API Jersey e contatos é definido na classe
ContatoFacadeREST com a anotação Path da API Jersey, conforme
apresentado na Figura 3, representando o recurso na URL.
Na aplicação de demonstração foram utilizados os métodos de inserção,
alteração, exclusão e listagem. A Figura 3 demonstra estes métodos da classe
ContatoFacadeREST.
Figura 3: Métodos REST
Fonte: Do autor.
Para utilização dos métodos apresentados na Figura 3, deve ser utilizado a
URL http://servidor/restful/app/contatos/ em conjunto com as operações HTTP:
a) Criar um contato: deve ser passado para a URL o contato em
formato JSON com a operação POST.
8. 8
b) Editar um contato: deve ser adicionado o código do contato a URL
e passado o contato em formato JSON com a operação PUT.
c) Excluir um contato: deve ser adicionado o código do contato a
URL e utilizado a operação DELETE.
d) Obter a lista de contatos: apenas acionar a URL com a operação
GET.
Tendo o web service disponível, a próxima etapa é o desenvolvimento do
aplicativo Android para consumi-lo.
2.2 Integração Android
A comunicação direta com web service exige do programador conhecimento e
utilização de protocolos, que podem tomar mais tempo do que o próprio
objetivo da aplicação. Para abstrair esta comunicação, em aplicações web são
utilizadas APIs, que também tornam as aplicações mais simples, devido a
menor quantidade de código (LOUVEL; TEMPLIER; BOILEAU, 2012).
Para comunicação com web service o ideal é a identificação de uma biblioteca
leve e compacta para ser adicionado ao projeto da aplicação Android. Ela deve
ser leve e compacta pois a aplicação será executada em dispositivos móveis,
que normalmente não têm o mesmo poder de processamento de um
computador comum (LECHETA, 2010).
O site da LibHunt auxilia na busca por bibliotecas de código aberto de diversos
ambientes de programação, incluindo Java e Android, com base na
popularidade e manutenção. Para o ambiente Android a comparação é feita
com projetos disponibilizados no GitHub, onde foram selecionados mais de mil
projetos e classificados em noventa categorias. Na categoria Network é
apresentado em um gráfico as bibliotecas Retrofit, okhttp, android-async-http,
AndroidAsync, async-http-client e RoboSpice como as mais populares, sendo a
Retrofit a que se destaca em primeiro lugar, com maior índice de popularidade
e tendo manutenções frequentes. A Figura 4 apresenta este gráfico, onde as
colunas na cor laranja representam o índice de popularidade e as colunas na
9. 9
cor verde o índice de manutenção, em uma escala de 0 a 10 (LIBHUNT,
2016).
Figura 4: Bibliotecas Android de código aberto
Fonte: LibHunt (2016)
O site Android Arsenal disponibiliza uma lista de classificação de projetos
android, disponível no link https://android-arsenal.com/rating, baseada nas
atividades do Github e do próprio Android Arsenal, apresentando a Retrofit na
quinta posição, sendo que os quatro primeiros não são para mesma finalidade,
ou seja, o Retrofit é o primeiro colocado entre as APIs para aplicações clientes
de web services.
A Infinum é uma empresa especializada no desenvolvimento móvel e web,
atendendo grandes marcas, bancos, seguradoras, editoras de mídia,
operadoras de celular e outras empresas com a necessidade de aplicativos
móveis, entre elas as empresas Universal Music Group e P&G, fundada em
2005, com sede na Croácia e filiais nos Estados Unidos e na Eslovênia. Esta é
um exemplo de empresa de desenvolvimento de software que utiliza a Retrofit.
Chegou a publicar em sua página um artigo que lista a Retrofit entre as cinco
principais bibliotecas para Android (INFINUM, 2016).
A Retrofit é uma biblioteca Java para Android desenvolvida pela empresa
Square, que faz todas as chamadas REST internamente e trata as conexões
HTTP, fornecendo um padrão simples de implementação para transmissão de
dados entre aplicação e servidor, fazendo uso do JSON. Esta biblioteca
transforma o web service REST em uma interface Java (SQUARE, 2016).
10. 10
A versão atual da API Retrofit é a 2.1 e para adicioná-la na aplicação Android
foi utilizado Android Studio, que é o ambiente de desenvolvimento oficial de
aplicativos Android, criando o projeto e inserindo a API nas dependências do
Gradle. Além da API foi adicionado o conversor Gson para tratar o JSON
recebido do web service. A Figura 5 mostra as duas linhas que foram
adicionadas nas dependências.
Figura 5: Dependências Gradle
Fonte: Do autor.
Com a API já disponível no projeto, foi criado a classe Contato, representando
a entidade recebida do Web Service, e a interface ContatosService. Na
interface, apresentada na Figura 6, foram definidos os métodos de acesso ao
Web Service utilizando anotações e objetos da API.
11. 11
Figura 6: Interface Retrofit
Fonte: Do autor.
A classe Retrofit da API gera uma implementação da interface com base nas
anotações. Para utilizar esta classe foi criado a classe GeradorServico com
atributos estáticos, sendo a URL do WebService, a classe Gson com a
definição da formatação de data utilizada e a instância da classe Retrofit, que
recebe a URL a instância da classe Gson, conforme apresentado na Figura 7.
Para disponibilizar o serviço às outras classes do projeto, foi criado o método
público criarServico, que recebe como parâmetro a interface e retorna a
implementação da mesma, utilizando o método create da classe Retrofit.
12. 12
Figura 7: Classe GeradorServico
Fonte: Do autor.
Com a implementação da interface, a API permite realizar solicitações HTTP
síncronas e assíncronas ao WebService. Para tratar estas solicitações é
utilizado a classe Call. A Figura 8 exemplifica uma solicitação assíncrona
utilizando o método enqueue da classe Call. Ao utilizar o método enqueue deve
ser passado uma instância da classe Callback, responsável pela resposta da
solicitação assíncrona, obrigatoriamente implementando os métodos
onResponse e onFailure, que serão executados de acordo com o resultado da
solicitação. Em caso de sucesso, o método onResponse recebe por parâmetro
uma instância da classe Response que retorna o recurso solicitado, no caso a
lista de contatos, com método body.
13. 13
Figura 8: Solicitação assíncrona
Fonte: Do autor.
Foi utilizado transação síncrona para salvar e excluir os contatos. Este tipo de
solicitação não deve ser aplicado na thread principal da aplicação, pois pode
ocorrer a chamada Application not Responding (ANR), ou seja, a interface da
aplicação com o usuário é parada. Então foram criadas classes dentro da
activity de cadastro, estendendo a classe AsyncTask, que permite executar
operações em segundo plano, para realizar a execução das solicitações
síncronas. A Figura 9 apresenta a classe criada para exclusão do contato, onde
foi utilizado o método execute da classe call, ao invés do enqueue da
solicitação assíncrona. O método execute já retorna a instância da classe
Response, que neste exemplo não foi necessário utilizar por se tratar da
exclusão, não sendo esperado um retorno.
14. 14
Figura 9: Solicitação síncrona
Fonte: Do autor.
Para a utilização dos outros dois métodos da interface, criarContato e
alterarContato, é alterado somente a forma de criar a instância da classe Call,
conforme ilustrado na Figura 10.
Figura 10: Utilização dos métodos da interface
Fonte: Do autor.
A aplicação Android criada ficou com as funcionalidades de listar os contatos
disponíveis no banco de dados em uma tela inicial, com opção de editá-los,
excluí-los e realizar novos cadastros.
3 RESULTADOS E DISCUSSÕES
Após as pesquisas realizadas, tendo a utilização de APIs especialistas como
opção mais adotada para a integração de aplicações Android com web
services, foi identificado a API Retrofit como a mais utilizada e bem
conceituada.
15. 15
Utilizando a API Retrofit o desenvolvimento da integração da aplicação Android
com o web service REST pode ser feito com poucas linhas de código e sem o
tratamento das requisições HTTP e do JSON recebido, a API abstrai todo o
trabalho de comunicação.
Com o exemplo criado foi possível notar grande rendimento no
desenvolvimento da aplicação, devido a todo este trabalho de comunicação
feito pela API, que não toma o tempo do desenvolvedor.
4 CONCLUSÃO
O contínuo aumento do mercado de dispositivos móveis evidencia que o
consumo por aplicações em rede seguirá a mesma tendência. Estas aplicações
necessitam de integração com servidores para obter informações e
complementar suas funcionalidades.
Tendo como objetivo do artigo a identificação de formas para realizar a
integração de aplicativos Android, que é o sistema operacional móvel mais
utilizado na atualidade, com web services, foi realizado pesquisa literária para
identificar a forma recomendada para esta integração. Afim de contribuir em
pesquisas de trabalhos futuros que desejarem criar aplicativos mais complexos
com integração. Após verificar que a utilização de APIs especialistas é a forma
recomentada, foi realizado pesquisa em sites que comparam APIs, onde foi
identificado a Retrofit no topo das listas de classificação, sendo a mais
indicada. Desta forma foi utilizada esta API para ilustrar um exemplo e
demonstrar com mais clareza as vantagens da utilização de API.
Com o exemplo foi possível demonstrar que API especialista realiza todo o
trabalho de comunicação com o servidor. Desta forma o desenvolvedor não
necessita ter conhecimento sobre assuntos que são essenciais para a
comunicação, como o protocolo HTTP e o formato JSON. Podendo ter mais
foco no objetivo final da aplicação que está trabalhando e apresentando mais
resultados.
16. 16
ANDROID APPLICATION INTEGRATION WITH REST WEB SERVICES
ABSTRACT
The increased use of mobile devices has boosted the development of
embedded applications that require integration through the use of web services.
The REST architecture is increasingly used all over the world for creating web
services that are called RESTful since it follows the principles of this
architecture. Based on the increased use and the need for integration of
Android applications, having Web services RESTful on the rise in the current
market, the article seeks to identify ways to accomplish this integration and
illustrate one of them as an example of use. This was done through literary
research, identifying APIs experts as recommended way for this integration.
Researches on websites that compare APIs were accomplished, identifying
Retrofit at the top of the ranking lists and also being the most indicated. Thus
this API was used to illustrate an example and demonstrate more clearly the
advantages. It was concluded that with the use of the API the developer does
not need to have knowledge about issues that are essential for communication
and may focus more on the ultimate objective of the application which is being
done and presenting more results.
Key-words: Android. RESTful. JSON.
17. 17
REFERÊNCIAS
ARAÚJO, R. M. L. de. et al. Desenvolvimento de Aplicações para Plataforma
Google Android. In: ENCONTRO UNIFICADO DE COMPUTAÇÃO EM
PARNAÍBA, 5., 2012. Parnaíba. Anais eletrônicos... Parnaíba: FUESPI, 2012.
p. 103-129. Disponível em:
<http://www.enucomp.com.br/2012/conteudos/AnaisVENUCOMP2012.pdf>.
Acesso em: 21 jun. 2016.
HASHIMI, Sayed; KOMATINENI, Satya; MACLEAN, Dave. Pro Android 3. [S.
l.]: Apress, 2011.
IDC, Market Analysis. Smartphones expected to grow 32.7% in 2013 fueled by
declining prices and strong emerging market demand, According to IDC.
Framinghan: IDC, 2013.
INFINUM, Inc. Top 5 Android libraries every Android developer should know
about. Disponível em: <https://infinum.co/the-capsized-eight/articles/top-5-
android-libraries-every-android-developer-should-know-about>. Acesso em: 27
jun. 2016
LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para
dispositivos móveis com o Android SDK. 2 ed. São Paulo: Novatec, 2010.
______. Google Android: aprenda a criar aplicações para dispositivos móveis
com o Android SDK. 4 ed. São Paulo: Novatec, 2015a.
______. Web Services RESTful: aprenda a criar web services RESTful em
Java na nuvem do Google. São Paulo: Novatec, 2015b.
LIBHUNT. Android Network. Disponível em:
<https://android.libhunt.com/categories/1417-network>. Acesso em: 06 jul.
2016.
LOUVEL, Jerome; TEMPLIER, Thierry; BOILEAU,Thierry. Restlet in Action:
Developing RESTful web APIs in Java. Greenwich: Manning, 2012.
ORACLE. Introdução aos Web Services RESTful. Disponível em:
<https://netbeans.org/kb/docs/websvc/rest_pt_BR.html>. Acesso em: 19 jul.
2016a.
18. 18
ORACLE. Java DB: Overview. Disponível em:
<http://www.oracle.com/technetwork/java/javadb/overview/index.html>. Acesso
em: 18 jul. 2016b.
ORACLE. Jersey: RESTful Web Services in Java. Disponível em:
<https://jersey.java.net/>. Acesso em: 17 jul. 2016c.
RICHARDSON, Leonard; RUBY, Sam. RESTful Web Services. Sebastopol:
O’Reilly Media, 2007.
SQUARE, Inc. Retrofit: A type-safe HTTP client for Android and Java.
Disponível em: <http://square.github.io/retrofit/>. Acesso em: 27 jun. 2016.