SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Criando um Google App Engine Cloud 
Endpoint RESTful 
Autores: 
Fábio Rosato ­fabio. 
rosato@sensedia.com ­@ 
frosato 
José Vahl ­jose. 
vahl@sensedia.com ­@ 
josevahl 
Documentação disponível em: 
http://goo.gl/vZEo6v 
Premissas 
As ferramentas utilizadas no cursos são as seguintes, com os respectivos links para download: 
● Java 7+ 
○ http://www.oracle.com/technetwork/java/javase/downloads/index.html 
● Eclipse IDE for Java EE Developers 
○ https://www.eclipse.org/downloads/ 
● Google Plugin for Eclipse 
○ https://developers.google.com/eclipse/ 
● Postman ou SoapUI 
○ http://www.getpostman.com/ 
○ http://www.soapui.org/ 
Além disso é imprescíndivel ter uma conta Google para a realização do deploy da aplicação ou 
endpoint no Google App Engine. A conta deve estar configuração no no Google Eclipse Plugin.
Criando um projeto Google App Engine 
Clique em File => New => Other… para criar um projeto do tipo Web Application Project. 
Selecione no Wizard o tipo de projeto Google Web Application Project.
Dê um nome para o projeto no campo “Project Name” e inclua o nome base do pacote dos 
códigos­fontes 
no campo “Package”. Depois clique em “Finish”.
Abaixo a estrutura do projeto ComidaBoteco criada: 
Agora vamos criar as entidades que serão os recursos da nossa API. Vamos utilizar uma 
classe de entidade para Restaurantes e outra para Pratos.
Abaixo os atributos e utilizados no recurso Restaurantes.
Abaixo os atributos do recurso Pratos. 
Isto é tudo que precisamos para persistir no lado do servidor os objetos Restauntes e Pratos. 
Agora vamos utilizar um gerador de código que vem com o Google Eclipse Plugin para criar um 
appengine cloud endpoint. 
Clique com o botão direto sobre a classe e selecione "Create Cloud Endpoint Class" (tal como 
na imagem abaixo). 
Vamos fazer isso para a entidade Restaurantes...
… e depois para a entidade Pratos.
O plugin criou três arquivos. Um para o lado da persistência dos dados (EMF.java), outro que 
expõe as operações CRUD da classe Restaurantes (RestaurantesEndpoint.java) e outro para 
Pratos (RestaurantesEndpoint.java). 
Isto é tudo pessoal! Vamos iniciar a e acessar localmente a API. 
Execução local da API 
Execute o projeto como “Web Application” e será iniciado um servidor AppEngine local. 
Pronto sua API já está disponível localmente. 
Acessando a API 
Existem um número de APIs expostas pelo appengine, e elas estão rodando sobre a URL 
_ah/api. Vamos acessar o Discovery API, acessível via: 
http://localhost:8888/_ah/api/discovery/v1/apis
Esta é a lista de todas REST APIsThis espostas pelo noso servidor. Existem duas APIs, a 
RestaurantesEndpoint e a PratosEndpoint. Nós podemos navegar nelas nos links abaixo: 
http://localhost:8888/_ah/api/discovery/v1/apis/restaurantesendpoint/v1/rest (referenciado pelo 
campo "discoveryLink". Que retorna um host de informações sobre o endpoint da API de 
Restaurantes...
...e 
http://localhost:8888/_ah/api/discovery/v1/apis/pratosendpoint/v1/rest 
Nós podemos testar as APIs utilizando o Postman ou SoapUI. 
Deploy da API 
Agora vamos realizar o deploy da aplicação na cloud do Google. Com o projeto selecionado 
clique no ícone do Google, conforme a imagem abaixo e selelecione a opção “Deploy to App 
Engine…”
Se você tentar fazer deploy irá receber o seguinte erro:
O erro ocorre, pois precisamos criar um aplicação no Google App Engine para termos um 
Application ID. Para criar a aplicação acesse o link: https://appengine.google.com/ e crie uma 
aplicação com o mesmo Application ID definido nas configurações da aplicação, clicando no 
botão “Create Application”. 
Preencha os campos “Application Identifier” e “Application Title”. O Application Identifier é que 
iremos utilizar no Google Eclipse Plugin para referenciar a aplicação na cloud e realizarmos o 
deploy. 
Se tudo correu bem você receberá a seguinte mensagem:
Voltando no Eclipse, clique em “App Engine Project Settings…” e preencha o campo 
“Application ID” com o valor que você utilizou para o popular o campo “Application Identifier”. 
Agora está tudo ok para a realização do deploy.
A aplicação será compilada, otimizada, entregue e inicializada no Google App Engine. 
As URLs dos recursos na cloud ficam: 
● https://1­dot­comida­boteco. 
appspot.com/_ah/api/restaurantesendpoint/v1/restaurantes 
● https://1­dot­comida­boteco. 
appspot.com/_ah/api/pratosendpoint/v1/pratos 
A lista completa de operações são: 
Restaurantes 
● obter um restaurante => GET: /restaurantes/{nome} 
● inserir um restaurante => POST: /restaurantes/ 
● lista de restaurantes => GET: /restaurantes/ 
● excluir um restaurante => DELETE: /restaurantes/{nome} 
● atualizar um restaurante => PUT: /restaurantes/{nome}
Pratos 
● obter um restaurante => GET: /pratos/{nome} 
● inserir um prato => POST: /pratos/ 
● lista de pratos => GET: /pratos/ 
● excluir um prato => DELETE: /pratos/{nome} 
● atualizar um prato => PUT: /pratos/{nome} 
Você pode utilizar e testar os endpoints com a linha de comando CURL ou Postman ou o 
SOAPUI.

Contenu connexe

Tendances (7)

Programando Android - Aula 5
Programando Android - Aula 5Programando Android - Aula 5
Programando Android - Aula 5
 
Oficina de aplicativos
Oficina de aplicativosOficina de aplicativos
Oficina de aplicativos
 
Framework Robotium
Framework RobotiumFramework Robotium
Framework Robotium
 
Phonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorPhonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emulador
 
MeetUp XamarinRJ - Push Notification
MeetUp XamarinRJ  - Push NotificationMeetUp XamarinRJ  - Push Notification
MeetUp XamarinRJ - Push Notification
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 

Similaire à APIs gerenciadas de ponta a ponta - construção

Trabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo AndroidTrabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo Android
Vinícius Thiengo
 

Similaire à APIs gerenciadas de ponta a ponta - construção (20)

Aula maps 23_2
Aula maps 23_2Aula maps 23_2
Aula maps 23_2
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
 
Publicacao tablet dualpixel
Publicacao tablet dualpixelPublicacao tablet dualpixel
Publicacao tablet dualpixel
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!
 
gae
gaegae
gae
 
Publicação para App Stores - Apple e Google Play
Publicação para App Stores - Apple e Google PlayPublicação para App Stores - Apple e Google Play
Publicação para App Stores - Apple e Google Play
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Trabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo AndroidTrabalhando Análise Qualitativa em seu Aplicativo Android
Trabalhando Análise Qualitativa em seu Aplicativo Android
 
Apostila android
Apostila androidApostila android
Apostila android
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Android e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociaisAndroid e Facebook - Integrando sua aplicação às redes sociais
Android e Facebook - Integrando sua aplicação às redes sociais
 
Google app engine para lean startups: the good, the bad and the ugly
Google app engine para lean startups: the good, the bad and the uglyGoogle app engine para lean startups: the good, the bad and the ugly
Google app engine para lean startups: the good, the bad and the ugly
 
TDC São Paulo 2019 - Vapor
TDC São Paulo 2019 - VaporTDC São Paulo 2019 - Vapor
TDC São Paulo 2019 - Vapor
 
Bada
BadaBada
Bada
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APP
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 

Plus de Fábio Rosato

Vida longa para soa com microservices
Vida longa para soa com microservicesVida longa para soa com microservices
Vida longa para soa com microservices
Fábio Rosato
 

Plus de Fábio Rosato (11)

Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIs
 
Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travados
 
Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...
Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...
Impacto das mega tendências io t, cloud e mobile na arquitetura das grandes e...
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
Vida longa para soa com microservices
Vida longa para soa com microservicesVida longa para soa com microservices
Vida longa para soa com microservices
 
Gestão de projetos consultivos com base em metodologias ágeis
Gestão de projetos consultivos com base em metodologias ágeisGestão de projetos consultivos com base em metodologias ágeis
Gestão de projetos consultivos com base em metodologias ágeis
 
Public API - Você está preparado para um mundo interconectado
Public API - Você está preparado para um mundo interconectadoPublic API - Você está preparado para um mundo interconectado
Public API - Você está preparado para um mundo interconectado
 
APIs Atributos e Tecnologia
APIs Atributos e TecnologiaAPIs Atributos e Tecnologia
APIs Atributos e Tecnologia
 
Vida longa para SOA com microservices
Vida longa para SOA com microservicesVida longa para SOA com microservices
Vida longa para SOA com microservices
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publica
 

APIs gerenciadas de ponta a ponta - construção

  • 1. Criando um Google App Engine Cloud Endpoint RESTful Autores: Fábio Rosato ­fabio. rosato@sensedia.com ­@ frosato José Vahl ­jose. vahl@sensedia.com ­@ josevahl Documentação disponível em: http://goo.gl/vZEo6v Premissas As ferramentas utilizadas no cursos são as seguintes, com os respectivos links para download: ● Java 7+ ○ http://www.oracle.com/technetwork/java/javase/downloads/index.html ● Eclipse IDE for Java EE Developers ○ https://www.eclipse.org/downloads/ ● Google Plugin for Eclipse ○ https://developers.google.com/eclipse/ ● Postman ou SoapUI ○ http://www.getpostman.com/ ○ http://www.soapui.org/ Além disso é imprescíndivel ter uma conta Google para a realização do deploy da aplicação ou endpoint no Google App Engine. A conta deve estar configuração no no Google Eclipse Plugin.
  • 2. Criando um projeto Google App Engine Clique em File => New => Other… para criar um projeto do tipo Web Application Project. Selecione no Wizard o tipo de projeto Google Web Application Project.
  • 3. Dê um nome para o projeto no campo “Project Name” e inclua o nome base do pacote dos códigos­fontes no campo “Package”. Depois clique em “Finish”.
  • 4. Abaixo a estrutura do projeto ComidaBoteco criada: Agora vamos criar as entidades que serão os recursos da nossa API. Vamos utilizar uma classe de entidade para Restaurantes e outra para Pratos.
  • 5. Abaixo os atributos e utilizados no recurso Restaurantes.
  • 6. Abaixo os atributos do recurso Pratos. Isto é tudo que precisamos para persistir no lado do servidor os objetos Restauntes e Pratos. Agora vamos utilizar um gerador de código que vem com o Google Eclipse Plugin para criar um appengine cloud endpoint. Clique com o botão direto sobre a classe e selecione "Create Cloud Endpoint Class" (tal como na imagem abaixo). Vamos fazer isso para a entidade Restaurantes...
  • 7. … e depois para a entidade Pratos.
  • 8. O plugin criou três arquivos. Um para o lado da persistência dos dados (EMF.java), outro que expõe as operações CRUD da classe Restaurantes (RestaurantesEndpoint.java) e outro para Pratos (RestaurantesEndpoint.java). Isto é tudo pessoal! Vamos iniciar a e acessar localmente a API. Execução local da API Execute o projeto como “Web Application” e será iniciado um servidor AppEngine local. Pronto sua API já está disponível localmente. Acessando a API Existem um número de APIs expostas pelo appengine, e elas estão rodando sobre a URL _ah/api. Vamos acessar o Discovery API, acessível via: http://localhost:8888/_ah/api/discovery/v1/apis
  • 9. Esta é a lista de todas REST APIsThis espostas pelo noso servidor. Existem duas APIs, a RestaurantesEndpoint e a PratosEndpoint. Nós podemos navegar nelas nos links abaixo: http://localhost:8888/_ah/api/discovery/v1/apis/restaurantesendpoint/v1/rest (referenciado pelo campo "discoveryLink". Que retorna um host de informações sobre o endpoint da API de Restaurantes...
  • 10. ...e http://localhost:8888/_ah/api/discovery/v1/apis/pratosendpoint/v1/rest Nós podemos testar as APIs utilizando o Postman ou SoapUI. Deploy da API Agora vamos realizar o deploy da aplicação na cloud do Google. Com o projeto selecionado clique no ícone do Google, conforme a imagem abaixo e selelecione a opção “Deploy to App Engine…”
  • 11. Se você tentar fazer deploy irá receber o seguinte erro:
  • 12. O erro ocorre, pois precisamos criar um aplicação no Google App Engine para termos um Application ID. Para criar a aplicação acesse o link: https://appengine.google.com/ e crie uma aplicação com o mesmo Application ID definido nas configurações da aplicação, clicando no botão “Create Application”. Preencha os campos “Application Identifier” e “Application Title”. O Application Identifier é que iremos utilizar no Google Eclipse Plugin para referenciar a aplicação na cloud e realizarmos o deploy. Se tudo correu bem você receberá a seguinte mensagem:
  • 13. Voltando no Eclipse, clique em “App Engine Project Settings…” e preencha o campo “Application ID” com o valor que você utilizou para o popular o campo “Application Identifier”. Agora está tudo ok para a realização do deploy.
  • 14. A aplicação será compilada, otimizada, entregue e inicializada no Google App Engine. As URLs dos recursos na cloud ficam: ● https://1­dot­comida­boteco. appspot.com/_ah/api/restaurantesendpoint/v1/restaurantes ● https://1­dot­comida­boteco. appspot.com/_ah/api/pratosendpoint/v1/pratos A lista completa de operações são: Restaurantes ● obter um restaurante => GET: /restaurantes/{nome} ● inserir um restaurante => POST: /restaurantes/ ● lista de restaurantes => GET: /restaurantes/ ● excluir um restaurante => DELETE: /restaurantes/{nome} ● atualizar um restaurante => PUT: /restaurantes/{nome}
  • 15. Pratos ● obter um restaurante => GET: /pratos/{nome} ● inserir um prato => POST: /pratos/ ● lista de pratos => GET: /pratos/ ● excluir um prato => DELETE: /pratos/{nome} ● atualizar um prato => PUT: /pratos/{nome} Você pode utilizar e testar os endpoints com a linha de comando CURL ou Postman ou o SOAPUI.