Web Services RESTful
Aprenda a criar web services RESTful em Java na nuvem do Google
Descrição do livro
Este livro ensina a criar web services RESTful com a linguagem Java, utilizando uma metodologia passo a passo do básico ao avançado.
O conteúdo é dividido em três partes:
Na primeira parte, vamos criar o banco de dados; conhecer os conceitos básicos de programação web para Java e web services; estudar os conceitos do REST para criar uma aplicação completa utilizando frameworks líderes do mercado, como Hibernate, Spring e Jersey; e aprender a criar web services que retornam dados em XML ou JSON e com diversas funcionalidades, como upload de arquivos, segurança e OAuth.
Na segunda parte, veremos como disponibilizar um site ou web service na nuvem do Google – o Google Cloud Platform. Você aprenderá a utilizar diversos serviços de computação em nuvem do Google para criar serviços de alto desempenho, seguros e escaláveis .
Na terceira parte do livro são fornecidos alguns exemplos de aplicações clientes, que consomem os web services construídos no livro. Veremos um exemplo de aplicação web com o AngularJS (framework JavaScript do Google) e um aplicativo Android completo feito com Android Studio e Material Design.
Depois de ler esta obra, o leitor estará apto a desenvolver web services RESTFul em Java e a hospedá-los na nuvem do Google.
Ver menos ▲Sumário
Sumário
- Sobre o autor
- Prefácio
- Capítulo 1 ■ Introdução
- 1.1 Introdução
- 1.2 Tecnologias utilizadas no livro
- 1.3 Web services
- 1.4 Web services SOAP
- 1.5 Web services simples com HTTP
- 1.6 Web services RESTful
- 1.7 Estrutura do livro
- 1.8 Capítulos extras
- 1.9 Computação em nuvem
- 1.10 Links úteis
- Capítulo 2 ■ Protocolo HTTP e Servlets
- 2.1 Instalando o Java
- 2.2 Instalando o Eclipse
- 2.3 Instalando o Tomcat
- 2.4 Configurando o Eclipse com o Tomcat
- 2.5 Criando um projeto web no Eclipse
- 2.6 Executando o projeto no Tomcat
- 2.7 Criando um servlet em Java
- 2.8 Passagem de parâmetros pela URL
- 2.9 Passagem de parâmetros por formulário
- 2.10 Métodos do protocolo HTTP (GET, POST, PUT, DELETE)
- 2.11 Links úteis
- Capítulo 3 ■ MySQL
- 3.1 Instalação do MySQL no Windows
- 3.2 Instalação do MySQL no Linux
- 3.3 Criando um banco de dados e usuário no MySQL
- 3.4 Conectando-se ao banco de dados
- 3.5 Criando e importando um backup do banco de dados
- 3.6 Importando o backup pronto dos exemplos do livro
- 3.7 Links úteis
- Capítulo 4 ■ Banco de dados com Java
- 4.1 JDBC
- 4.2 Persistindo a classe Carro
- 4.3 Testes unitários com o framework JUnit
- 4.4 Links úteis
- Capítulo 5 ■ Web services básico
- 5.1 Criando um servlet
- 5.2 Gerando XML com JAXB
- 5.3 Gerando JSON com JAXB e Jettison
- 5.4 Gerando JSON com Google Gson
- 5.5 URL no formato REST com /pagina/id
- 5.6 Salvando um carro com POST
- 5.7 Excluindo um carro com DELETE
- 5.8 Links úteis
- Capítulo 6 ■ Web services RESTful
- 6.1 Introdução a REST
- 6.2 JAX-RS e Jersey
- 6.3 Olá, mundo Jersey
- 6.4 Content-Type
- 6.5 Web service RESTful dos carros
- 6.6 Explorando a anotação @Path
- 6.7 Salvando e atualizando um carro
- 6.8 Links úteis
- Capítulo 7 ■ Maven
- 7.1 Maven
- 7.2 Spring Tools Suite
- 7.3 Criando um projeto Maven
- 7.4 Configurando as dependências no Maven
- 7.5 Adicionando dependências
- 7.6 Executando o projeto Maven no Tomcat
- 7.7 Compilando projetos com o Maven
- 7.8 Integração Maven e Eclipse
- 7.9 Criando um projeto biblioteca
- 7.10 Repositórios remotos com Maven
- 7.11 Links úteis
- Capítulo 8 ■ Spring
- 8.1 Introdução
- 8.2 Spring como dependência do Maven
- 8.3 Criando componentes com a anotação @Component
- 8.4 Controlando dependências com a anotação @Autowired
- 8.5 Utilizando o Spring com o Jersey
- 8.6 Links úteis
- Capítulo 9 ■ Hibernate
- 9.1 Introdução
- 9.2 Configurando o Hibernate
- 9.3 Configurando o Hibernate com Spring
- 9.4 Testando o web service no Tomcat
- 9.5 Considerações finais
- 9.6 Links úteis
- Capítulo 10 ■ File upload
- 10.1 File upload
- 10.2 File upload com Jersey
- 10.3 Organizando o código
- 10.4 File upload com Base64
- 10.5 Como criar uma URL para a foto do arquivo
- 10.6 Atualizando a foto do carro
- 10.7 Links úteis
- Capítulo 11 ■ Google Cloud Platform
- 11.1 Introdução
- 11.2 Plano gratuito para avaliação
- 11.3 Criando um projeto
- 11.4 Opções dentro da página do projeto
- 11.5 Links úteis
- Capítulo 12 ■ Cloud SQL
- 12.1 Introdução
- 12.2 Criando um banco de dados MySQL na nuvem
- 12.3 Configurando o acesso ao banco de dados
- 12.4 Conectando-se ao banco de dados
- 12.5 Cloud Storage
- 12.6 Importando um backup no banco de dados
- 12.7 Preço
- 12.8 Links úteis
- Capítulo 13 ■ Cloud Storage
- 13.1 Exemplo com a API Java
- 13.2 Obtendo as chaves de acesso OAuth2
- 13.3 Autenticando automaticamente pelo servidor
- 13.4 Upload de arquivos para o Cloud Storage pela API
- 13.5 Alterando o web service REST do projeto
- 13.6 Links úteis
- Capítulo 14 ■ Google App Engine (GAE)
- 14.1 Console do App Engine
- 14.2 Criando um projeto Web no Eclipse
- 14.3 Fazendo deploy no App Engine
- 14.4 Versão da API de Servlets
- 14.5 Links úteis
- Capítulo 15 ■ Google Compute Engine (GCE)
- 15.1 Introdução
- 15.2 Tipos de servidor (instância)
- 15.3 Criando um servidor na nuvem do Google
- 15.4 Conectando-se ao servidor por SSH pelo painel
- 15.5 Instalando o servidor web Apache
- 15.6 Gerando chaves SSH no Windows
- 15.7 Gerando chaves SSH no Linux ou no Mac
- 15.8 Instalando a chave pública na instância
- 15.9 Conectando-se por SSH no Windows
- 15.10 Conectando-se por SSH no Linux ou no Mac
- 15.11 Links úteis
- Capítulo 16 ■ Deploy da aplicação no GCE
- 16.1 Configurando o acesso no Cloud SQL
- 16.2 Conectando-se ao Cloud SQL a partir da instância do GCE
- 16.3 Instalando o Java 7 e o Tomcat 7
- 16.4 Controlando o firewall
- 16.5 Removendo o Java 7 e o Tomcat 7
- 16.6 Instalando o Java 8
- 16.7 Instalando o Tomcat 8
- 16.8 Configurando a memória do Tomcat
- 16.9 Configurando a administração do Tomcat
- 16.10 Exportando o arquivo .war da aplicação
- 16.11 Enviando o arquivo .war para a nuvem
- 16.12 Instalando o projeto no Tomcat
- 16.13 Configurando o Apache com Proxy Reverso
- 16.14 Links úteis
- Capítulo 17 ■ Client side – API
- 17.1 Introdução
- 17.2 Requisições do tipo GET
- 17.3 Requisições do tipo DELETE
- 17.4 Requisições do tipo POST
- 17.5 Requisições do tipo POST com JSON
- 17.6 Links úteis
- Capítulo 18 ■ Client side – Web com AngularJS
- 18.1 Projeto dos carros
- 18.2 Exemplo em AngularJS
- 18.3 Links úteis
- Capítulo 19 ■ Client Side – Android
- 19.1 Exemplo de aplicativo para Android
- 19.2 Dicas do código-fonte
- 19.3 Links úteis
- Capítulo 20 ■ Segurança: Basic Authentication e SSL
- 20.1 Introdução
- 20.2 Basic Authentication
- 20.3 Brincando com REST e o formato Base64
- 20.4 Autorizando acesso com base no perfil (role)
- 20.5 Utilizando Basic Authentication com a API cliente
- 20.6 Informações sobre o perfil do usuário
- 20.7 Autorizando acesso com anotações
- 20.8 O problema com o Basic Authentication
- 20.9 Preparando o Tomcat no Compute Engine
- 20.10 Configurando o SSL
- 20.11 Solicitando o certificado de uma entidade certificadora (CA)
- 20.12 Links úteis
- Capítulo 21 ■ OAuth no lado cliente
- 21.1 OAuth
- 21.2 Criando uma aplicação no Twitter
- 21.3 Criando um novo projeto Maven
- 21.4 Exemplo de OAuth com Twitter
- 21.5 Executando o exemplo com OAuth e Twitter
- 21.6 Entendendo o código-fonte e o fluxo do OAuth
- 21.7 Redirecionando automaticamente (versão 1)
- 21.8 Redirecionando automaticamente (versão 2)
- 21.9 Links úteis
- Capítulo 22 ■ OAuth Server
- 22.1 Criando o servidor OAuth
- 22.2 Criando o web service de autorização
- 22.3 Criando o cliente OAuth
- 22.4 Links úteis
Livros relacionados
Opinião dos leitores
Marcos R V
Este livro veio de encontro com minhas expectativas!!!!
Carlos D
Ótima referência, especialmente para quem sabe o básico de Java e deseja ingressar no universo de aplicações Web feitas em Java.
Cristian B
O livro é bom, mas não aborda de forma clara como consumir o serviço REST e deixa bem claro que este não foi o foco do livro nos capítulos de Angular e Android. Também achei que foi uma grande propaganda para os serviços de hospedagem do Google, deixando um pouco a desejar neste aspecto!
Raimundo M de A J
O livro é ótimo.





