SlideShare uma empresa Scribd logo

GUJavaSC - Alternativas ao Desenvolvimento do Back-end Mobile com Java EE

O documento discute alternativas para desenvolvimento de back-end mobile com Java EE, incluindo clientes móveis como aplicativos web, híbridos e nativos, e conectividade RESTful e WebSocket. Ele também descreve as APIs JAX-RS e Java API for WebSocket para desenvolvimento back-end com Java EE, além de abordar implementações em iOS e Android.

1 de 35
Baixar para ler offline
Alternativas ao Desenvolvimento
do Back-end Mobile com
Java EE
Rodrigo Cândido da Silva
@rcandidosilva
http://about.me/rcandidosilva
Agenda
!
!
!
!
!

 
 
 
 
 

Mobile Platform
Mobile Clients
RESTful
WebSocket
Plataforma Java EE
!   JAX-RS
!   Java API for WebSocket

!   iOS
!   Android
!   DEMO !!!
Mobile Platform
Mobile Clients
Mobile Clients
!   Web Apps
! Aplicações server-side que rodam no navegador web do dispositivo
!   HTML 5, CSS 3, JavaScript
! jQuery Mobile, Sencha Touch
!   Web designs responsivos e adaptativos
!   Hybrid Apps
! Desenvolvida utilizando tecnologias web, mas são executadas como uma aplicação
nativa através de um container nativo (wrapper)
! PhoneGap, ADF Mobile, IBM Worklight, AeroGear, Appcelerator
!   Native Apps
! Desenvolvida para uma plataforma específica
! Aplicação instalada
!   Object-C/xCode, Java/Eclipse etc
Conectividade Client/Server
!   RESTful
!   Comunicação através do HTTP utilizando REST style
!   Leve, stateless e escalável
!   Utiliza tipicamente JSON over HTTP.
!   XML também pode ser utilizado

!   Cliente inicia a requisição
!   Utiliza verbos HTTP como GET, POST, PUT, DELETE
!   Utiliza as tecnologias web existentes

Recomendados

[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao PhonegapLoiane Groner
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
Construindo aplicações com HTML5, WebSockets, e Java EE 7
Construindo aplicações com HTML5, WebSockets, e Java EE 7Construindo aplicações com HTML5, WebSockets, e Java EE 7
Construindo aplicações com HTML5, WebSockets, e Java EE 7Bruno Borges
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Dr. Spock
 

Mais conteúdo relacionado

Semelhante a GUJavaSC - Alternativas ao Desenvolvimento do Back-end Mobile com Java EE

Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Apresentação LifeRay
Apresentação LifeRayApresentação LifeRay
Apresentação LifeRayPT.JUG
 

Semelhante a GUJavaSC - Alternativas ao Desenvolvimento do Back-end Mobile com Java EE (20)

Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
Phonegap
PhonegapPhonegap
Phonegap
 
Html5
Html5Html5
Html5
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EE
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Web2.0 e Ajax
Web2.0 e AjaxWeb2.0 e Ajax
Web2.0 e Ajax
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Lab
LabLab
Lab
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
React Native - JSday
React Native - JSdayReact Native - JSday
React Native - JSday
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Apresentação LifeRay
Apresentação LifeRayApresentação LifeRay
Apresentação LifeRay
 

Mais de Rodrigo Cândido da Silva

Protegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de ImplementaçãoProtegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de ImplementaçãoRodrigo Cândido da Silva
 
Protecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and StrategiesProtecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and StrategiesRodrigo Cândido da Silva
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesRodrigo Cândido da Silva
 
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSWorkshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSRodrigo Cândido da Silva
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootRodrigo Cândido da Silva
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesRodrigo Cândido da Silva
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaRodrigo Cândido da Silva
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsRodrigo Cândido da Silva
 
GUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaGUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaRodrigo Cândido da Silva
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EERodrigo Cândido da Silva
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTRodrigo Cândido da Silva
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudRodrigo Cândido da Silva
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...Rodrigo Cândido da Silva
 

Mais de Rodrigo Cândido da Silva (20)

Java 9, 10 e ... 11
Java 9, 10 e ... 11Java 9, 10 e ... 11
Java 9, 10 e ... 11
 
Cloud Native Java EE
Cloud Native Java EECloud Native Java EE
Cloud Native Java EE
 
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de ImplementaçãoProtegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
 
Protecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and StrategiesProtecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and Strategies
 
As novidades da nova versão do Java 9
As novidades da nova versão do Java 9As novidades da nova versão do Java 9
As novidades da nova versão do Java 9
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
 
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSWorkshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring Boot
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com Java
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
 
GUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaGUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com Java
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EE
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
 
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...
 

Último

ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx2m Assessoria
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx2m Assessoria
 
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docxATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx2m Assessoria
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxjosecarlos413721
 
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docxATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docxjosecarlos413721
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxjosecarlos413721
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx2m Assessoria
 
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docxATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx2m Assessoria
 
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docxATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx2m Assessoria
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx2m Assessoria
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx2m Assessoria
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx2m Assessoria
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx2m Assessoria
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxjosecarlos413721
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxjosecarlos413721
 
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.Daniel Mendes
 
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docxATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx2m Assessoria
 

Último (20)

ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1- LÓGICA PARA COMPUTAÇÃO - 512024.docx
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docxATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
ATIVIDADE 1 - CONTABILIDADE EMPRESARIAL - 512024.docx
 
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxMAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
MAPA - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docxATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
ATIVIDADE 1 - ADSIS - MATEMÁTICA PARA COMPUTAÇÃO - 512024.docx
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docxATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
ATIVIDADE 1 - MODELAGEM DE SOFTWARE – 512024.docx
 
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docxMAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
MAPA - INTRODUÇÃO À ENGENHARIA - 51-2024.docx
 
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docxATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
ATIVIDADE 1 - ESTATÍSTICA E PROBABILIDADE - 512024.docx
 
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docxATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
ATIVIDADE 1- MICROPROCESSADORES E MICROCONTROLADORES - 512024.docx
 
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docxATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
ATIVIDADE 1 - TEORIA DAS ESTRUTURAS I - 512024.docx
 
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docxATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES  - 512024.docx
ATIVIDADE 1 - ADSIS - FUNDAMENTOS E ARQUITETURA DE COMPUTADORES - 512024.docx
 
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docxMAPA -INTRODUÇÃO À ENGENHARIA  - 512024.docx
MAPA -INTRODUÇÃO À ENGENHARIA - 512024.docx
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
 
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docxATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
ATIVIDADE 1 - PESQUISA OPERACIONAL - 512024.docx
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
 
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docxATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
ATIVIDADE 1 - TI - BOAS PRÁTICAS DE GOVERNANÇA EM TI - 512024.docx
 
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
Power BI: A ferramenta da Microsoft que vem ganhando o mercado.
 
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docxATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
ATIVIDADE 1 - DESENHO TÉCNICO - 512024.docx
 

GUJavaSC - Alternativas ao Desenvolvimento do Back-end Mobile com Java EE

  • 1. Alternativas ao Desenvolvimento do Back-end Mobile com Java EE Rodrigo Cândido da Silva @rcandidosilva http://about.me/rcandidosilva
  • 2. Agenda ! ! ! ! !           Mobile Platform Mobile Clients RESTful WebSocket Plataforma Java EE !   JAX-RS !   Java API for WebSocket !   iOS !   Android !   DEMO !!!
  • 5. Mobile Clients !   Web Apps ! Aplicações server-side que rodam no navegador web do dispositivo !   HTML 5, CSS 3, JavaScript ! jQuery Mobile, Sencha Touch !   Web designs responsivos e adaptativos !   Hybrid Apps ! Desenvolvida utilizando tecnologias web, mas são executadas como uma aplicação nativa através de um container nativo (wrapper) ! PhoneGap, ADF Mobile, IBM Worklight, AeroGear, Appcelerator !   Native Apps ! Desenvolvida para uma plataforma específica ! Aplicação instalada !   Object-C/xCode, Java/Eclipse etc
  • 6. Conectividade Client/Server !   RESTful !   Comunicação através do HTTP utilizando REST style !   Leve, stateless e escalável !   Utiliza tipicamente JSON over HTTP. !   XML também pode ser utilizado !   Cliente inicia a requisição !   Utiliza verbos HTTP como GET, POST, PUT, DELETE !   Utiliza as tecnologias web existentes
  • 9. Conectividade Client/Server !   WebSockets !   Oferece comunicação bi-direcional (full-duplex) através de uma simples conexão TCP !   Inicia através de um hand-shake através do protocolo HTTP, mas as conversações utilizam o protocolo WebSockets. !   Suporte requisições assincronas !   Perfeito para aplicações como chat e jogos !   Utiliza as tecnologias web existentes
  • 13. Java Enterprise Edition !   Suporte ao desenvolvimento de aplicações “enterprise” !   Aplicações distribuídas, seguras, escaláveis, de alta disponibilidade e com baixo custo de manutenção !   Plataforma para desenvolvimento de software de pequeno, médio e grande porte em múltiplas camadas de componentes !   Componentes “rodam” em um servidor Java EE
  • 14. Java EE History Java EE 7   Java EE 6 Java EE 5 J2EE 1.4 J2EE 1.3 CMP, Connector Architecture Web Services Mgmt, Deployment, Async Connector Ease of Development, EJB 3, JPA, JSF, JAXB, JAX-WS, StAX, SAAJ Pruning, Extensibility Ease of Dev, CDI, JAX-RS JMS 2, Batch, TX, Concurrency, Interceptor, WebSocket, JSON   JAX-RPC, CMP/ BMP, JSR 88 Web  Profile     Servlet 3, EJB 3.1 Lite   Web  Profile     JAX-RS 2  
  • 15. Java EE / Mobile Mobile Device Java API for WebSocket JAX-RS Java API for JSON JAXB Bean Validation Servlet EJB 3 JPA CDI JMS JTA JCA
  • 16. JAX-RS !   REST development API for Java !   Server and client !   Programação declarativa com anotações !   @Path, @GET, @POST, @PUT, @DELETE, @PathParam, @QueryParam, @Produces, @Consumes !   Plugável e extensível !   Providers, filters, interceptors
  • 17. Exemplo JAX-RS (1) @Path("/atm/{cardId}") public class AtmService { @GET @Path("/balance") @Produces("text/plain") public String balance( @PathParam("cardId") String card, @QueryParam("pin") String pin) { return Double.toString(getBalance(card, pin)); } ...
  • 18. Exemplo JAX-RS (2) ... @POST @Path("/withdrawal") @Consumes("text/plain") @Produces("application/json") public Money withdraw( @PathParam("card") String card, @QueryParam("pin") String pin, String amount) { return getMoney(card, pin, amount); } }
  • 19. Java API for WebSocket ! Programação declarativa com anotações !   Client and server-side !   Powerful API !   @ServerEndpoint, @OnOpen, @OnClose, @OnMessage, @OnError, Session, Remote !   Plugável e extensível !   Encoders, decoders, sub-protocols !   Lifecycle callback handlers ! Permite empactá-los em aplicações Java EE
  • 20. Exemplo WebSocket (1) @ServerEndpoint("/chat") public class ChatBean { Set<Session> peers = Collections.synchronizedSet(…); @OnOpen public void onOpen(Session peer) { peers.add(peer); } @OnClose public void onClose(Session peer) { peers.remove(peer); } ...
  • 21. Exemplo WebSocket (2) ... @OnMessage public void message(String message, Session client) { for (Session peer : peers) { peer.getRemote().sendObject(message); } } }
  • 22. iOS !   Fornece suporte nativo para REST e JSON !   Existem bibliotecas externas como RestKit !   Não possui suporte nativo à WebSocket !   Pode-se utilizar bibliotecas externas como SocketRocket !   SSL é suportado para conexões REST e WebSocket
  • 23. iOS com RestKit !   RestKit ! http://restkit.org ! ! ! ! !   Apache License   Core Data Support   Object Mapping   Pluggable Parser   MIME types, multi-part requests
  • 24. iOS com SocketRocket !   OpenSource library para WebSocket ! http://github.com/square/socketrocket ! ! ! !   Apache 2.0 License   Suite para testes de regressão   Suporte WebSockets seguros   Implementação através de proxy !   SRWebSocketDelegate !   Simples integração para com os projetos
  • 25. iOS com SocketRocket !   Delegate Methods !   Message Message Callback !  (void)webSocket:(SRWebSocket*)webSocket didReceiveMessage:(id)message; !   WebSocket Open Operation !  (void)webSocketDidOpen:(SRWebSocket*)webSocket; !   WebSocket Connection Failed !  (void)webSocket:(SRWebSocket*)webSocket didFailWithError:(NSError*)error; !   WebSocket Failed !  (void)webSocket:(SRWebSocket*)webSocket didCloseWithCode:(NSInteger)codereason: (NSString*)reason wasClean:(BOOL)wasClean;
  • 26. iOS com SocketRocket !   Open Connection !   Close Connection
  • 27. Android !   Suporte nativo Apache HTTPClient !   Suporte nativo JSON libraries !   Jackson !   GSON !   Bibliotecas externas para suporte REST !   Spring Android RestTemplate !   RESTDroid !   JAX-RS/Jersey Client APIs on Android !   Bibliotecas externas para WebSocket !   Autobahn Android !   Android WebSockets from CodeButler !   WebSocket/Tyrus Client APIs on Android
  • 28. Spring Android RestTemplate RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter()); restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); ResponseEntity<ToDoResponse> response = ResponseEntityrestTemplate.exchange( urlStr, HttpMethod.POST, new HttpEntity<ToDoItem>(todoItem, httpHeaders), ToDoResponse.class );
  • 29. Autobahn WebSockets Client private final WebSocketConnection mConnection = new WebSocketConnection(); ... mConnection.connect(wsuri, new WebSocketHandler() { @Override public void onOpen() { mConnection.sendTextMessage("Hello, world!"); } @Override public void onTextMessage(String payload) { Log.d(TAG, "Got echo: " + payload); } @Override public void onClose(int code, String reason) { Log.d(TAG, "Connection lost."); } });
  • 31. Boas Práticas !   REST vs. WebSocket !   REST para maioria das situações, WebSocket apenas para comunicações full-duplex, bidirecionais !   JSON vs. XML !   JSON é a melhor opção !   Aonde deve-se armazenar os dados !   Geralmente no client-side, sincronizando/persistindo no server-side !   API design !   Coarse grained, stateless, general purpose !   Security !   TLS, federated (OAuth), evite dados confidenciais no client-side !   Development model !   Native -> Hybrid -> HTML 5?
  • 34. Iniciativas ! ! ! ! ! ! !   Eventos mensais;   Blog;   Redes sociais;   Listas de discussão;   Organização de eventos;   Projetos open source;  …
  • 35. Como Colaborar !   Blog: ! http://www.gujavasc.org !   Facebok: ! https://www.facebook.com/groups/gujavasc !   Twitter ! https://twitter.com/gujavasc !   Google+ ! https://plus.google.com/communities/102439827020596326242 !   Github ! https://github.com/gujavasc