Nantes GTUG - Restlet & AppEngine
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Nantes GTUG - Restlet & AppEngine

on

  • 2,176 views

 

Statistics

Views

Total Views
2,176
Views on SlideShare
1,255
Embed Views
921

Actions

Likes
0
Downloads
17
Comments
0

5 Embeds 921

http://mj89sp3sau2k7lj1eg3k40hkeppguj6j-a-sites-opensocial.googleusercontent.com 584
http://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 331
https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 4
http://mj89sp3sau2k7lj1eg&_=1372409639931 HTTP 1
http://plus.url.google.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Nantes GTUG - Restlet & AppEngine Presentation Transcript

  • 1. Restlet Framework et Google App Engine17 janvier 2012
  • 2. INTERVENANT Noelios Technologies •Editeur de logiciel – création en 2008 •R&D – open source (Restlet) – collaboratif (Cap Digital) •Services – conseil – co-développement – support technique Thierry Templier – Architecte R&D chez Noelios Technologies – Co-auteur « Spring par la pratique » et « JavaScript pour le Web 2.0 » – Co-auteur « Spring DM in action » et « Spring Batch in action » – Co-auteur « Restlet in action » Copyright Noelios Technologies – Tous droits réservés
  • 3. AGENDAIntroduction: Restlet et le multiplateforme– Restlet : fonctionnements, extensions,...– Ouverture au cloudRestlet et GAE– Développer une application Restlet pour GAE– Prise en charge des restrictions de GAE– SDCPerspectives: Restlet et les APIs web– Marché des APIs web– Livre « Restlet in Action »– Lancement d’APISpark Copyright Noelios Technologies – Tous droits réservés
  • 4. Partie 1/3INTRODUCTION: RESTLET ET LEMULTIPLATEFORME
  • 5. RESTLET FRAMEWORK• Premier framework REST pour Java – Lancement en 2005 – Large communauté – Innovation constante – http://www.restlet.org• Fonctionnalités principales – Couverture complète de HTTP et REST – API Java à la fois cliente et serveur – Routage intégré (basé sur les URIs, virtual hosts, etc.) – Sécurité intégrée (authentification, autorisation, confidentialité) – Serveur web complet (fichiers statiques, conneg) – 36 extensions (Atom, EMF, JSON, OData, JAAS, OAuth, etc.) Copyright Noelios Technologies – Tous droits réservés
  • 6. RÉFÉRENCES Copyright Noelios Technologies – Tous droits réservés
  • 7. STRUCTURE D’UN PROJET RESTLET Projets utilisateurs API Restlet Restlet Extensions Restlet Extensions Extension Restlet Moteur Restlet Copyright Noelios Technologies – Tous droits réservés
  • 8. FILTRAGE ET ROUTAGE A B C Next Restlet Filter Route 1 A A B B Route 2 C C Router Route 3 Copyright Noelios Technologies – Tous droits réservés
  • 9. INTERFACES ANNOTÉES REST API Client Server proxy subclass Annotated Java interface Client Server resource resource HTTP Copyright Noelios Technologies – Tous droits réservés
  • 10. SERVICE DE CONVERSION Atom Form Data HTML Resource Converter Representation XML bean State service JSON RDF … Copyright Noelios Technologies – Tous droits réservés
  • 11. EDITIONS DE RESTLET FRAMEWORK Copyright Noelios Technologies – Tous droits réservés
  • 12. PORTAGE SEMI-AUTOMATIQUE Copyright Noelios Technologies – Tous droits réservés
  • 13. PERSONNALISATION DU CODE SOURCE• Inclusion ou exclusion – par fichier via extensions spéciales – au niveau d’une méthode – au niveau d’un bloc de code Copyright Noelios Technologies – Tous droits réservés
  • 14. OUVERTURE AU CLOUD CÔTÉ SERVEUR ET CLIENT Copyright Noelios Technologies – Tous droits réservés
  • 15. Partie 2/3RESTLET ET GAE
  • 16. GOOGLE APP ENGINE• Description – Plateforme Cloud de Google – Développement et hébergement dapplications Web dans les systèmes de Google – PAAS : Plateform As A Service – Java et Python supportés• Caractéristiques – Hardware et scalabité gérés de manière transparente – BigTable pour les données – Console dadministration – SDK GAE Copyright Noelios Technologies – Tous droits réservés
  • 17. APPLICATION RESTLET• Caractéristiques – Utilisation de lédition GAE de Restlet – Utilisation de lextension Servlet (org.restlet.ext.servlet) – Mécanismes classiques de Restlet sont supportés – Utilisation de lextension GAE si nécessaire (org.restlet.ext.gae >2.1)• Packaging et déploiement – Packaging classique des applications GAE (WAR) – Ajout dun fichier appengine-web.xml – Déploiement via la console ou le SDK GAE Copyright Noelios Technologies – Tous droits réservés
  • 18. EXTENSION SERVLET Copyright Noelios Technologies – Tous droits réservés
  • 19. APPLICATION RESTLET (1/6)• Caractéristiques – Utilisation de lédition GAE de Restlet – Utilisation de lextension Servlet (org.restlet.ext.servlet) – Mécanismes classiques de Restlet sont supportés – Utilisation de lextension Net (org.restlet.ext.net) pour les appels HTTP• Packaging et déploiement – Packaging classique des applications GAE (WAR) – Ajout dun fichier appengine-web.xml – Déploiement via la console ou le SDK GAE Copyright Noelios Technologies – Tous droits réservés
  • 20. APPLICATION RESTLET (2/6)• Modèle Copyright Noelios Technologies – Tous droits réservés
  • 21. APPLICATION RESTLET (3/6)• ServerResource - Sélection des méthodes de traitement via annotations - Conversion automatique en bean Copyright Noelios Technologies – Tous droits réservés
  • 22. APPLICATION RESTLET (4/6)• Application Restlet Copyright Noelios Technologies – Tous droits réservés
  • 23. APPLICATION RESTLET (5/6)• web.xml Copyright Noelios Technologies – Tous droits réservés
  • 24. APPLICATION RESTLET (6/6)• appengine-web.xml Copyright Noelios Technologies – Tous droits réservés
  • 25. CLIENT RESTLET• Utilisation des classes Client ou ClientResource Copyright Noelios Technologies – Tous droits réservés
  • 26. LIMITATIONS (1/2)• Chunk encoding pour les requêtes – Envoi de données par lots dans une même connexion HTTP – Pas de connaissance de la taille des données avant envoi – Non supporté par GAE• Solution dans Restlet – Désactiver le chuck encoding lors des appels (setRequestEntityBuffering > 2.1) – Pré calcul de la taille des données à envoyer – Disponible pour tous les environnements Copyright Noelios Technologies – Tous droits réservés
  • 27. LIMITATIONS (2/2)• API restreintes dans GAE – Utilisation des threads – Fichiers locaux – Sockets• Solution dans Restlet – Adaptation du code source pour utiliser les services GAE – Worker / Task runner – Service Storage – URL Fetch pour les appels client (URLConnection) Copyright Noelios Technologies – Tous droits réservés
  • 28. SECURITY AVEC GAE• Possibilité dutiliser Google Accounts – Extension GAE (org.restlet.ext.gae) – A partir de la version 2.1 – Authentification et autorisation• Exemple Copyright Noelios Technologies – Tous droits réservés
  • 29. GOOGLE SDC SDC : Googe Secure Data Connector • Protocole SDC – tunnel SSL multiplexé – basé sur Google Prot.Buffer – tunnels HTTP et socket – lecture et écriture • Agent SDC – installé dans l’intranet – open source (Apache License) Copyright Noelios Technologies – Tous droits réservés
  • 30. RESTLET SDC (1/3) Copyright Noelios Technologies – Tous droits réservés
  • 31. RESTLET SDC (2/3)• Mise en place du Tunnel Server dans Restlet - JAR de lextension SDC dans le classpath (org.restlet.ext.sdc) - Configuration et démarrage du connecteur via la classe Client de Restlet Copyright Noelios Technologies – Tous droits réservés
  • 32. RESTLET SDC (3/3)• Exécution de requêtes vers lintranet via Restlet:• Dans le contexte dapplications GAE: - Entête use-intranet automatiquement positionnée (> 2.1 M4) - Pas dauthentification nécessaire Copyright Noelios Technologies – Tous droits réservés
  • 33. Partie 3/3PERSPECTIVES: RESTLET ET LES APIS WEB
  • 34. ROADMAP RESTLET• Version 2.1 (Mars 2012) – Connecteur HTTP/NIO interne : alternative à Jetty – Support de SIP unifié : alternative à SIPServlets – Support d’OAuth et OpenID 2.0 : contribution Ericsson Labs – Connecteur SDC (Secure Data Connector) – Extension EMF : conversion automatique XML/XMI – Formulaires web multi-part client• Version 2.2 (Octobre 2012) – Optimisation de taille (Android et GWT) – Support du protocole SPDY – Migration GitHub, StackOverflow, Google Groups – Nouveau tutoriel – etc. Copyright Noelios Technologies – Tous droits réservés
  • 35. VERSION JAVASCRIPT• Portage de Restlet en JavaScript – Même mécanisme que pour le framework Java – Edition pour les navigateurs Web – Edition pour Node.js• Développement en cours – Source disponible sur GitHub (https://github.com/restlet/restlet-framework-js) – Première version partie cliente (février 2012) – Première version partie serveur (mai 2012) Copyright Noelios Technologies – Tous droits réservés
  • 36. PITCH• Aujourd’hui tout le monde possède son site web et l’on ne débat plus que sur la meilleure façon de les développer.• Demain, tout le monde aura son API web, de préférence RESTful et les sites web s’appuieront directement sur des APIs web. Copyright Noelios Technologies – Tous droits réservés
  • 37. ECOSYSTÈME Développeurs utilisateurs d’APIs W API webInteropérabilité maximale ANDROID FACEBOOK SITE WEB MASH UP WEB OS W APIs webOuverture du SIpar les APIs web Développeurs DonnéesServices Gestionnaires créateurs d’APIs d’APIs Hébergement CLOUD CLOUD CLOUD CLOUD adaptable Amazon EC2 Google App Engine Windows Azure Cloud privé Copyright Noelios Technologies – Tous droits réservés
  • 38. QUELQUES CHIFFRES Copyright Noelios Technologies – Tous droits réservés
  • 39. CAS D’USAGESApplication mobiles connectées– natives ou HTML 5Cloud computing– IaaS/PaaS (AWS, GAE, Azure)– SaaS (Basecamp, SalesForce, Google Apps)Objets communicants– Personnels (Karotz, pèse personnes)– Professionnels (M2M, RFID, GPS, 3G, géoloc.)E-marketing– Places de marchés, comparateurs de prix, affiliation (Amazon, eBay, Kelkoo) Copyright Noelios Technologies – Tous droits réservés
  • 40. INTÉRÊT POUR UN DÉVELOPPEUR JAVA• Apprendre REST et HTTP est un investissement sur le long terme – nécessite du temps, comme l’orienté objet – premiers bénéfices faciles à obtenir – rester pragmatique• Nombreuses opportunités avec les APIs web – exposition d’APIs – consommation d’APIs – mashups d’APIs• Restlet Framework offre – une boîte à outil multiplateforme, complète et éprouvée – qui peut vous accompagner tout au long de ce chemin Copyright Noelios Technologies – Tous droits réservés
  • 41. POUR ALLER PLUS LOIN…• Livre « Restlet in Action » – Publication début 2012 – Restlet, REST, ROA/D, cloud – Version « early access » dispo.• Lancement « API Spark » – Plate-forme cloud pour APIs web – basée sur Restlet Framework – inscription beta privée: http://apispark.com Copyright Noelios Technologies – Tous droits réservés