Ricardo R. Lecheta. Novatec



Documentos relacionados
Ricardo R. Lecheta. Novatec

Ademir C. Gabardo. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Desenvolvendo Websites com PHP

Adrian Mejia. Novatec

Hélio Engholm Jr. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Jonathan Stark Brian Jepson

Brandon Rhodes John Goerzen

Ricardo Lino Olonca. Novatec

Google Android para Tablets

Crie Seu Próprio Site

Luiz Carlos Querino Filho

David Hows Peter Membrey Eelco Plugge

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Ricardo R. Lecheta. Novatec

Novatec Editora Ltda. [2014].

Novatec Editora Ltda

Desenvolvendo Websites com PHP

Ricardo Lino Olonca. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

João Eriberto Mota Filho

Google Android para Tablets

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Nelson Glauber de Vasconcelos Leal

Copyright 2008, 2013 da Novatec Editora Ltda.

Ademir C. Gabardo. Novatec

Paulo Strelczuk. Novatec

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Josh Pauli Revisão técnica Scott White. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Desenvolvimento de Grandes Aplicações Web

Ricardo Kléber M. Galvão. Novatec

Julia Elman e Mark Lavin. Novatec

Wilson Moraes Góes. Novatec

Camila Porto. Novatec

Service Desk Corporativo

André Gugliotti. Novatec

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Pramod J. Sadalage Martin Fowler

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

2ª EDIÇÃO. André Milani. Novatec

PDF Explicado John Whitington

Criando Relatórios com PHP

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Google Analytics Justin Cutroni

2ª Edição Alexandre Keller

Wilson Moraes Góes. Novatec

Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. 2a Edição. Samuel Henrique Bucke Brito. Novatec

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Google Android para Tablets

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Maker Planet Manual do Usuário

Harrison Kinsley Will McGugan

Segurança em Redes sem Fio

Guia rápido do usuário

Andreas Wittig Michael Wittig

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

Criando Aplicações Gráficas com PHP

Ademir C. Gabardo. Novatec

Manual TIM PROTECT BACKUP. Manual do Usuário. Versão Copyright TIM PROTECT BACKUP

Murillo Lo Visco. Novatec

Edgar Gomes de Abreu

Aprendendo Programação. ios. Alasdair Allan. Novatec

Configuração Java Nota Legal Porto Alegre

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Daniel Moreno. Novatec

Keith Wood. Apresentação de Dave Methvin. Novatec

Larry Ullman. Novatec

Primeiros Passos com o Raspberry Pi

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão Copyright Nextel

SUMÁRIO REST. REST + OAuth. Cliente em Java Processamento de respostas JSON

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Pete Goodliffe. Novatec

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Roteiro de Instalação da NF-e no Sistema CalcExpress S U M À R I O

UNIVERSIDADE TECNOLOGIA FEDERAL DO PARANÁ. Owncloud SERVIÇO DE COMPARTILHAMENTO EM NUVEM. Manual

Guia do Programador Joel Saade

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container TomCat Aula 05

Sérgio de Oliveira. Novatec

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Matheus Marabesi Michael Douglas

Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Capa: Victor Bittow Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

SOLICITAÇÃO DE CERTIFICADO SERVIDOR WEB MICROSOFT IIS 5.x

Copyright 2015 Mandic Cloud Solutions - Somos Especialistas em Cloud.

Integração de sistemas utilizando Web Services do tipo REST

MANUAL DE EXPORTAÇÃO DE CERTIFICADO SERVIDOR WEB APACHE PARA SERVIDOR WEB MICROSOFT IIS

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Como melhorar a performance de websites.net

William Pereira Alves

PAINEL MANDIC CLOUD. Mandic. Somos Especialistas em Cloud. Manual do Usuário

Transcrição:

Ricardo R. Lecheta Novatec

Copyright 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Assistente editorial: Priscila A. Yoshimatsu Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Capa: Carolina Kuwabata ISBN: 978-85-7522-454-0 YG20150903 Histórico de impressões: Setembro/2015 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Sobre o autor... 11 Prefácio... 12 Capítulo 1 Introdução... 17 1.1 Introdução... 17 1.2 Tecnologias utilizadas no livro... 17 1.3 Web services... 19 1.4 Web services SOAP... 19 1.5 Web services simples com HTTP...22 1.6 Web services RESTful...26 1.7 Estrutura do livro...27 1.8 Capítulos extras...27 1.9 Computação em nuvem...29 1.10 Links úteis...30 Capítulo 2 Protocolo HTTP e Servlets... 31 2.1 Instalando o Java... 31 2.2 Instalando o Eclipse... 31 2.3 Instalando o Tomcat...32 2.4 Configurando o Eclipse com o Tomcat...33 2.5 Criando um projeto web no Eclipse...36 2.6 Executando o projeto no Tomcat...38 2.7 Criando um servlet em Java...42 2.8 Passagem de parâmetros pela URL...44 2.9 Passagem de parâmetros por formulário...45 2.10 Métodos do protocolo HTTP (GET, POST, PUT, DELETE)...47 2.11 Links úteis...50 Capítulo 3 MySQL... 51 3.1 Instalação do MySQL no Windows... 51 3.2 Instalação do MySQL no Linux...54 5

6 Web services RESTful 3.3 Criando um banco de dados e usuário no MySQL...55 3.4 Conectando-se ao banco de dados...56 3.5 Criando e importando um backup do banco de dados...59 3.6 Importando o backup pronto dos exemplos do livro...60 3.7 Links úteis...62 Capítulo 4 Banco de dados com Java... 63 4.1 JDBC...63 4.2 Persistindo a classe Carro...66 4.3 Testes unitários com o framework JUnit...75 4.4 Links úteis...80 Capítulo 5 Web services básico... 81 5.1 Criando um servlet... 81 5.2 Gerando XML com JAXB...83 5.3 Gerando JSON com JAXB e Jettison...88 5.4 Gerando JSON com Google Gson...90 5.5 URL no formato REST com /pagina/id...92 5.6 Salvando um carro com POST...96 5.7 Excluindo um carro com DELETE...99 5.8 Links úteis... 104 Capítulo 6 Web services RESTful... 105 6.1 Introdução a REST... 105 6.2 JAX-RS e Jersey... 106 6.3 Olá, mundo Jersey...110 6.4 Content-Type...112 6.5 Web service RESTful dos carros...116 6.6 Explorando a anotação @Path... 123 6.7 Salvando e atualizando um carro... 125 6.8 Links úteis... 127 Capítulo 7 Maven... 128 7.1 Maven... 128 7.2 Spring Tools Suite... 129 7.3 Criando um projeto Maven... 129 7.4 Configurando as dependências no Maven... 134 7.5 Adicionando dependências... 138 7.6 Executando o projeto Maven no Tomcat...141 7.7 Compilando projetos com o Maven... 142 7.8 Integração Maven e Eclipse... 144

Sumário 7 7.9 Criando um projeto biblioteca... 146 7.10 Repositórios remotos com Maven... 148 7.11 Links úteis...151 Capítulo 8 Spring... 152 8.1 Introdução... 152 8.2 Spring como dependência do Maven... 153 8.3 Criando componentes com a anotação @Component... 158 8.4 Controlando dependências com a anotação @Autowired... 162 8.5 Utilizando o Spring com o Jersey... 163 8.6 Links úteis... 165 Capítulo 9 Hibernate... 166 9.1 Introdução...166 9.2 Configurando o Hibernate...166 9.3 Configurando o Hibernate com Spring... 176 9.4 Testando o web service no Tomcat...181 9.5 Considerações finais... 183 9.6 Links úteis... 184 Capítulo 10 File upload... 185 10.1 File upload... 185 10.2 File upload com Jersey... 186 10.3 Organizando o código... 195 10.4 File upload com Base64... 197 10.5 Como criar uma URL para a foto do arquivo...206 10.6 Atualizando a foto do carro...209 10.7 Links úteis... 211 Capítulo 11 Google Cloud Platform... 212 11.1 Introdução...212 11.2 Plano gratuito para avaliação...213 11.3 Criando um projeto...214 11.4 Opções dentro da página do projeto... 216 11.5 Links úteis...219 Capítulo 12 Cloud SQL... 220 12.1 Introdução...220 12.2 Criando um banco de dados MySQL na nuvem...220 12.3 Configurando o acesso ao banco de dados... 224 12.4 Conectando-se ao banco de dados... 227

8 Web services RESTful 12.5 Cloud Storage...228 12.6 Importando um backup no banco de dados...231 12.7 Preço... 232 12.8 Links úteis... 233 Capítulo 13 Cloud Storage... 234 13.1 Exemplo com a API Java... 234 13.2 Obtendo as chaves de acesso OAuth2... 240 13.3 Autenticando automaticamente pelo servidor... 245 13.4 Upload de arquivos para o Cloud Storage pela API... 249 13.5 Alterando o web service REST do projeto... 257 13.6 Links úteis... 267 Capítulo 14 Google App Engine (GAE)... 268 14.1 Console do App Engine...268 14.2 Criando um projeto Web no Eclipse... 270 14.3 Fazendo deploy no App Engine... 272 14.4 Versão da API de Servlets... 276 14.5 Links úteis...277 Capítulo 15 Google Compute Engine (GCE)... 278 15.1 Introdução... 278 15.2 Tipos de servidor (instância)... 279 15.3 Criando um servidor na nuvem do Google... 279 15.4 Conectando-se ao servidor por SSH pelo painel... 281 15.5 Instalando o servidor web Apache...283 15.6 Gerando chaves SSH no Windows...285 15.7 Gerando chaves SSH no Linux ou no Mac...287 15.8 Instalando a chave pública na instância...289 15.9 Conectando-se por SSH no Windows...290 15.10 Conectando-se por SSH no Linux ou no Mac...293 15.11 Links úteis...294 Capítulo 16 Deploy da aplicação no GCE... 295 16.1 Configurando o acesso no Cloud SQL...295 16.2 Conectando-se ao Cloud SQL a partir da instância do GCE... 297 16.3 Instalando o Java 7 e o Tomcat 7...298 16.4 Controlando o firewall...301 16.5 Removendo o Java 7 e o Tomcat 7...304 16.6 Instalando o Java 8...305 16.7 Instalando o Tomcat 8...308

Sumário 9 16.8 Configurando a memória do Tomcat...312 16.9 Configurando a administração do Tomcat...313 16.10 Exportando o arquivo.war da aplicação...315 16.11 Enviando o arquivo.war para a nuvem...317 16.12 Instalando o projeto no Tomcat...318 16.13 Configurando o Apache com Proxy Reverso... 323 16.14 Links úteis... 326 Capítulo 17 Client side API... 327 17.1 Introdução... 327 17.2 Requisições do tipo GET... 328 17.3 Requisições do tipo DELETE... 330 17.4 Requisições do tipo POST...331 17.5 Requisições do tipo POST com JSON... 333 17.6 Links úteis... 334 Capítulo 18 Client side Web com AngularJS... 335 18.1 Projeto dos carros... 335 18.2 Exemplo em AngularJS...340 18.3 Links úteis...342 Capítulo 19 Client Side Android... 343 19.1 Exemplo de aplicativo para Android... 343 19.2 Dicas do código-fonte... 345 19.3 Links úteis... 347 Capítulo 20 Segurança: Basic Authentication e SSL... 348 20.1 Introdução...348 20.2 Basic Authentication...348 20.3 Brincando com REST e o formato Base64... 355 20.4 Autorizando acesso com base no perfil (role)... 357 20.5 Utilizando Basic Authentication com a API cliente...360 20.6 Informações sobre o perfil do usuário... 361 20.7 Autorizando acesso com anotações...364 20.8 O problema com o Basic Authentication...368 20.9 Preparando o Tomcat no Compute Engine...369 20.10 Configurando o SSL... 370 20.11 Solicitando o certificado de uma entidade certificadora (CA)... 377 20.12 Links úteis... 379

10 Web services RESTful Capítulo 21 OAuth no lado cliente... 380 21.1 OAuth...380 21.2 Criando uma aplicação no Twitter...382 21.3 Criando um novo projeto Maven...386 21.4 Exemplo de OAuth com Twitter...390 21.5 Executando o exemplo com OAuth e Twitter...396 21.6 Entendendo o código-fonte e o fluxo do OAuth...400 21.7 Redirecionando automaticamente (versão 1)...404 21.8 Redirecionando automaticamente (versão 2)...406 21.9 Links úteis... 413 Capítulo 22 OAuth Server... 414 22.1 Criando o servidor OAuth...414 22.2 Criando o web service de autorização...419 22.3 Criando o cliente OAuth... 423 22.4 Links úteis... 432