Google Cloud Endpoints
Développer un backend sur App Engine pour des applications
Android, iOS et Web


Maxime Gréau, Architecte Technique, Ministère des Finances
Pourquoi sommes nous là


                          Utiliser Google App Engine en
                          tant que backend pour de
                          multiples clients

                          Introduire Google Cloud
                          Endpoints



                                                    #devfestnantes
Donc vous souhaitez créer une application




                                            #devfestnantes
Donc vous souhaitez créer une application
... car vous avez une super idée !




                                            #devfestnantes
Donc vous souhaitez créer une application
... vous voyez, l'idée qui va vous rendre millionnaire




                                                         #devfestnantes
Donc vous souhaitez créer une application
... elle doit donc être disponible sur plusieurs plate-formes




                                                                #devfestnantes
Donc vous souhaitez créer une application
... elle doit également être capable de gérer des montées en charge




                                                                      #devfestnantes
Vous pensez l'architecture
ça ressemblerait à quelque chose dans ce genre




                                                 #devfestnantes
Vous commencez à l'implémenter
Vous choisissez votre stack open source




                                          #devfestnantes
Vous commencez à l'implémenter
Vous décidez du fonctionnement de votre API




                                              #devfestnantes
Vous commencez à l'implémenter
Vous décidez du fonctionnement de votre API




                                              #devfestnantes
Vous commencez à l'implémenter
Vous commencer à développer vos applications clientes




                                                        #devfestnantes
Et vous lancez votre application !
La gestion des ressources, du load balancing... va devenir un travail à temps plein




                                                                                      #devfestnantes
Que faisons nous VS Qu'est ce que nous voulions faire




                                                   #devfestnantes
App Engine
Un framework web et une plate-forme de déploiement


                             Facile à coder/déployer
                             Scalabilité simplifiée
                             Administration triviale




               1 mois d'activité sur App Engine
                1,000,000 applications actives
           2 Trillion d'opérations dans le datastore

                                                       #devfestnantes
Google App Engine: Principales caractéristiques




     Stockage                 Calcul                 Services


Datastore, Cloud SQL,   Frontends, Backends,    Users, Mail, Images,
     Memcache            Task Queues, Cron     UrlFetch, MapReduce,
                                               TrafficSplitting, Search




                                                                 #devfestnantes
Utiliser App Engine en tant que Backend, et le reste ?




                                                         #devfestnantes
Présentation de Google Cloud Endpoints   Available for Trusted Testers




                                                               #devfestnantes
Endpoints: Comment ça marche


Ecrire son code   Annoter les   Générer les     Développer les
côté backend      méthodes de   bibliothèques   applications
                  l'API         clientes        clientes




                                                                 #devfestnantes
Endpoints: Comment ça marche


Write your code
Ecrire son                      Annoter les          Générer les     Développer les
côté backend
backend code                    méthodes de          bibliothèques   applications
                                l'API                clientes        clientes



                                                                               Java
 public class HotelEndpoint {
     public List<Hotel> searchHotel(String term) {
         // method logic here
         return hotelList;
     }
 }



                                                                                      #devfestnantes
Endpoints: Comment ça marche


Ecrire son code                 Annotate API
                                Annoter les     Générer les         Développer les
côté backend                    methods de
                                méthodes        bibliothèques       applications
                                l'API           clientes            clientes



                                                                              Java
 @Api(name = "bookingendpoint")
 public class HotelEndpoint {
     public List<Hotel> searchHotel(@Named("term") String term) {
         // method logic here
         return hotelList;
     }
 }


                                                                                     #devfestnantes
Endpoints: Comment ça marche


Ecrire son code        Annoter les             Generate client
                                               Générer les               Développer les
côté backend           méthodes de             libraries
                                               bibliothèques             applications
                       l'API                   clientes                  clientes



 localhost:home user$ ./endpoints.sh get-java-client-lib HotelEndpoint            Java

 ==========================================================
 ..
 API configuration written to war/WEB-INF/bookingendpoint-v1.api
 API Discovery Document written to war/WEB-INF/bookingendpoint-v1-rest.
 discovery
 API client library written to war/WEB-INF/bookingendpoint-v1-java.zip



                                                                                          #devfestnantes
Endpoints: Comment ça marche


Ecrire son code                Annoter les                      Générer les                Write client apps
                                                                                           Développer les
côté backend                   méthodes de                      bibliothèques              applications
                               l'API                            clientes                   clientes



 import com.appspot.api.services.bookingendpoint.Bookingendpoint;                                     Java

 Bookingendpoint service = new Bookingendpoint(transport, jsonFactory, null);
 List<Hotel> list = service.searchHotel(term).execute().getItems();

    JS           <script src="https://apis.google.com/js/client.js?onload=loadGapi"></script>
                 gapi.client.load('bookingendpoint', 'v1', function() {
                 gapi.client.bookingendpoint.hotels.search({term: term}).execute(function(resp) {
                             console.log(resp);    });
                       }, 'https://cloud-booking.appspot.com/_ah/api');


                                                                                                               #devfestnantes
Cloud Booking Application




                            #devfestnantes
Google Cloud Endpoints pour "Cloud Booking"




                       ●   Filtre
                       ●   Recherche
                       ●   Authentification




                                              #devfestnantes
Démo
Cloud Booking Application



- Web : https://cloud-booking-client.appspot.com/client-js/
- Android : https://cloud-booking-client.appspot.com/client-android/booking-client-android.apk
Caractéristiques

             API                         Client                      Outils

Python ou Java backend        Génération du code client   App Engine Dev AppServer

Configuration basée sur des      iOS (Objective C)        Google Plugin for Eclipse
annotations
                                 Android (Java)           Discovery et APIs Explorer
OAuth2 support
                                 Browser (Javascript)
GZip




                                                                            #devfestnantes
Google App Engine et Google Cloud Endpoints

     Scalabilité        Flexibilité           Simplicité




                                                     #devfestnantes
Merci !
Merci à Thomas Delhoménie pour l'application Android
Thank you to Dan Holevoet for slides




 +Maxime Gréau @mgreau github.com/mgreau
Web           Android




Questions?
                          Code source:
                          http://github.com/mgreau




    Formulaire d'inscription en tant que testeur
           endpoints-trusted-tester.appspot.com
#devfestnantes

Contenu connexe

PDF
Support cours angular
PDF
Introduction a Android
PPT
Initiation au développement mobile sous Android
PDF
Intro à angular
PDF
Niji - Synthèse Innovations observées au CES 2015
PPT
Les étapes de la vente
PDF
Smart Industry
Support cours angular
Introduction a Android
Initiation au développement mobile sous Android
Intro à angular
Niji - Synthèse Innovations observées au CES 2015
Les étapes de la vente
Smart Industry

En vedette (20)

PDF
Maklerkommunikation 2.0 – Vortrag auf der DKM 2012 in Dortmund
PDF
Ogre Game Engine
ODP
Tecnicas SEO
PPSX
produção de games com tecnologia livre ou proprietária, Qual usar?
PPTX
Introducción al desarrollo de videojuegos 2D con Wave Engine
PDF
CAP 2: SEO - Técnicas de SEO
PPT
Aula de Risoto
PDF
Open Source BPM - iteratec Architekturtag
PPTX
TDD com Python e App Engine
PDF
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
PPTX
Linkbaiting - SEMSEO 2011
PPS
Pictures mix
PDF
коллекция Audi в миниатюре
PPTX
Digital Training (SEO: search engine optimization)
PDF
Cloud Computing - Java no Google App Engine
PPS
Como fazer um comentário no Blog
PPT
Presentation SEO/SEM
PPT
Adforallprsentation 100914100808 Phpapp02
PPTX
Performance im Fokus
Maklerkommunikation 2.0 – Vortrag auf der DKM 2012 in Dortmund
Ogre Game Engine
Tecnicas SEO
produção de games com tecnologia livre ou proprietária, Qual usar?
Introducción al desarrollo de videojuegos 2D con Wave Engine
CAP 2: SEO - Técnicas de SEO
Aula de Risoto
Open Source BPM - iteratec Architekturtag
TDD com Python e App Engine
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
Linkbaiting - SEMSEO 2011
Pictures mix
коллекция Audi в миниатюре
Digital Training (SEO: search engine optimization)
Cloud Computing - Java no Google App Engine
Como fazer um comentário no Blog
Presentation SEO/SEM
Adforallprsentation 100914100808 Phpapp02
Performance im Fokus
Publicité

Similaire à Google Cloud Endpoints - DevFest - Nantes 2012 (20)

PDF
Native script
PDF
Google End points pour vos applications Android par Didier Girard 3 avril 2013
PPTX
Architecturez vos applications mobiles avec Azure et Xamarin
PDF
Google App Engine
PPT
Bureau Metier - Version 20061010
PDF
Gestion des APIs avec Azure API Management - Samir AREZKI
PDF
Ingénieur FullStack Java/Angular
PDF
Angular développer des applications .pdf
PPTX
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
PDF
Webinar - Comment intégrer des contenus riches et attractifs dans vos Apps
PPT
Domain Driven Design - Agile France 2010
PPTX
Javascript as a first programming language : votre IC prête pour la révolution !
PPTX
Votre première App SharePoint pour Office 365 avec Visual Studio !
PPTX
Parisweb - javascript server side - par où commencer ?
PDF
Recruter et travailler avec un développeur
PDF
A la découverte d'Azure Logic App
PDF
TP GWT JDEV 2015
PDF
Projet _ Banque DevSecOps : Spring Boot, JWT, Angular, GitLab CI/CD, Docker, ...
PDF
Investir sur son API web (in French)
PDF
Cours cordova & REST
Native script
Google End points pour vos applications Android par Didier Girard 3 avril 2013
Architecturez vos applications mobiles avec Azure et Xamarin
Google App Engine
Bureau Metier - Version 20061010
Gestion des APIs avec Azure API Management - Samir AREZKI
Ingénieur FullStack Java/Angular
Angular développer des applications .pdf
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Webinar - Comment intégrer des contenus riches et attractifs dans vos Apps
Domain Driven Design - Agile France 2010
Javascript as a first programming language : votre IC prête pour la révolution !
Votre première App SharePoint pour Office 365 avec Visual Studio !
Parisweb - javascript server side - par où commencer ?
Recruter et travailler avec un développeur
A la découverte d'Azure Logic App
TP GWT JDEV 2015
Projet _ Banque DevSecOps : Spring Boot, JWT, Angular, GitLab CI/CD, Docker, ...
Investir sur son API web (in French)
Cours cordova & REST
Publicité

Google Cloud Endpoints - DevFest - Nantes 2012

  • 1. Google Cloud Endpoints Développer un backend sur App Engine pour des applications Android, iOS et Web Maxime Gréau, Architecte Technique, Ministère des Finances
  • 2. Pourquoi sommes nous là Utiliser Google App Engine en tant que backend pour de multiples clients Introduire Google Cloud Endpoints #devfestnantes
  • 3. Donc vous souhaitez créer une application #devfestnantes
  • 4. Donc vous souhaitez créer une application ... car vous avez une super idée ! #devfestnantes
  • 5. Donc vous souhaitez créer une application ... vous voyez, l'idée qui va vous rendre millionnaire #devfestnantes
  • 6. Donc vous souhaitez créer une application ... elle doit donc être disponible sur plusieurs plate-formes #devfestnantes
  • 7. Donc vous souhaitez créer une application ... elle doit également être capable de gérer des montées en charge #devfestnantes
  • 8. Vous pensez l'architecture ça ressemblerait à quelque chose dans ce genre #devfestnantes
  • 9. Vous commencez à l'implémenter Vous choisissez votre stack open source #devfestnantes
  • 10. Vous commencez à l'implémenter Vous décidez du fonctionnement de votre API #devfestnantes
  • 11. Vous commencez à l'implémenter Vous décidez du fonctionnement de votre API #devfestnantes
  • 12. Vous commencez à l'implémenter Vous commencer à développer vos applications clientes #devfestnantes
  • 13. Et vous lancez votre application ! La gestion des ressources, du load balancing... va devenir un travail à temps plein #devfestnantes
  • 14. Que faisons nous VS Qu'est ce que nous voulions faire #devfestnantes
  • 15. App Engine Un framework web et une plate-forme de déploiement Facile à coder/déployer Scalabilité simplifiée Administration triviale 1 mois d'activité sur App Engine 1,000,000 applications actives 2 Trillion d'opérations dans le datastore #devfestnantes
  • 16. Google App Engine: Principales caractéristiques Stockage Calcul Services Datastore, Cloud SQL, Frontends, Backends, Users, Mail, Images, Memcache Task Queues, Cron UrlFetch, MapReduce, TrafficSplitting, Search #devfestnantes
  • 17. Utiliser App Engine en tant que Backend, et le reste ? #devfestnantes
  • 18. Présentation de Google Cloud Endpoints Available for Trusted Testers #devfestnantes
  • 19. Endpoints: Comment ça marche Ecrire son code Annoter les Générer les Développer les côté backend méthodes de bibliothèques applications l'API clientes clientes #devfestnantes
  • 20. Endpoints: Comment ça marche Write your code Ecrire son Annoter les Générer les Développer les côté backend backend code méthodes de bibliothèques applications l'API clientes clientes Java public class HotelEndpoint { public List<Hotel> searchHotel(String term) { // method logic here return hotelList; } } #devfestnantes
  • 21. Endpoints: Comment ça marche Ecrire son code Annotate API Annoter les Générer les Développer les côté backend methods de méthodes bibliothèques applications l'API clientes clientes Java @Api(name = "bookingendpoint") public class HotelEndpoint { public List<Hotel> searchHotel(@Named("term") String term) { // method logic here return hotelList; } } #devfestnantes
  • 22. Endpoints: Comment ça marche Ecrire son code Annoter les Generate client Générer les Développer les côté backend méthodes de libraries bibliothèques applications l'API clientes clientes localhost:home user$ ./endpoints.sh get-java-client-lib HotelEndpoint Java ========================================================== .. API configuration written to war/WEB-INF/bookingendpoint-v1.api API Discovery Document written to war/WEB-INF/bookingendpoint-v1-rest. discovery API client library written to war/WEB-INF/bookingendpoint-v1-java.zip #devfestnantes
  • 23. Endpoints: Comment ça marche Ecrire son code Annoter les Générer les Write client apps Développer les côté backend méthodes de bibliothèques applications l'API clientes clientes import com.appspot.api.services.bookingendpoint.Bookingendpoint; Java Bookingendpoint service = new Bookingendpoint(transport, jsonFactory, null); List<Hotel> list = service.searchHotel(term).execute().getItems(); JS <script src="https://apis.google.com/js/client.js?onload=loadGapi"></script> gapi.client.load('bookingendpoint', 'v1', function() { gapi.client.bookingendpoint.hotels.search({term: term}).execute(function(resp) { console.log(resp); }); }, 'https://cloud-booking.appspot.com/_ah/api'); #devfestnantes
  • 24. Cloud Booking Application #devfestnantes
  • 25. Google Cloud Endpoints pour "Cloud Booking" ● Filtre ● Recherche ● Authentification #devfestnantes
  • 26. Démo Cloud Booking Application - Web : https://cloud-booking-client.appspot.com/client-js/ - Android : https://cloud-booking-client.appspot.com/client-android/booking-client-android.apk
  • 27. Caractéristiques API Client Outils Python ou Java backend Génération du code client App Engine Dev AppServer Configuration basée sur des iOS (Objective C) Google Plugin for Eclipse annotations Android (Java) Discovery et APIs Explorer OAuth2 support Browser (Javascript) GZip #devfestnantes
  • 28. Google App Engine et Google Cloud Endpoints Scalabilité Flexibilité Simplicité #devfestnantes
  • 29. Merci ! Merci à Thomas Delhoménie pour l'application Android Thank you to Dan Holevoet for slides +Maxime Gréau @mgreau github.com/mgreau
  • 30. Web Android Questions? Code source: http://github.com/mgreau Formulaire d'inscription en tant que testeur endpoints-trusted-tester.appspot.com