De l’open source à l’open API        avec Restlet          par Jérôme LOUVEL                @jlouvel                      ...
Abstract•   L’open API, plus importante que l’open source ?•   Tour d’horizon d’APIs web et des acteurs clés•   Restlet Fr...
Speaker•   Jérôme LOUVEL (@jlouvel, jlouvel@restlet.com, G+)     •   Ingénieur PolyTech’Montpellier, 14 ans d’expérience  ...
Partie 1/4L’OPEN API, PLUS IMPORTANTE QUE L’OPEN SOURCE ?                                                  4
Explosion du nombre d’APIs web                              Source: ProgrammableWeb    Source: ProgrammableWeb            ...
Croissance des sites web                Source: NetCraft / Jacob Nielsen        Un parallèle qui laisse rêveur !          ...
Prédominance de REST                                                                                Source: ProgrammableWe...
L’open API, ça se consomme•   Enrichir un site web (mashups, flux blog/tweets, Google Maps)•   Import/Export SaaS (libérer...
L’open API permet d’exposer•   Backend Mobile (connectées, natives ou HTML 5)•   Backend SaaS (HTML 5/AJAX, API développeu...
Impact de l’open source    2000                                           2005           1. Réduction des coûts (licences)...
De l’open source à l’open API    2005                                                 2010           1. Réduction des coût...
Impact de l’open API  2015                                                           20201. Réduction des coûts (compositi...
Anatomie d’une API web   • Un contrat d’API web standard = Mise en concurrence facilitée   • Exemples de contrats : Atom/A...
Partie 2/4TOUR D’HORIZON D’APIS WEB ET D’ACTEURS CLÉS                                              14
Twitter et les APIs web                          15
Twilio, l’API web est le produit                                   16
Google Maps Image API        http://maps.googleapis.com/maps/api/staticmap?                 center=Brooklyn+Bridge,New+Yor...
Amazon et les APIs web     • Authentification exotique     • Anti-pattern d’API RESTful     • Mais AWS reste une référence...
De nouveaux acteurs                          •   Backends as a Service                                                    ...
Partie 3/4RESTLET FRAMEWORK 2.1 & ROADMAP                                  20
Restlet Framework 2.1                 Framework pour exposer et consommer                      des APIs web de style REST ...
Nombreuses références     • Une communauté internationale     • Environ 100 000 développeurs Restlet                      ...
ArchitectureUne API Java, un moteur et 37 extensions !                                             23
Multi-protocole  Centré sur HTTP                    24
Multi-cloudAugmentez la portabilité de vos APIs web                                           25
Support de Google SDCAccès sécurisé à l’intranet depuis le cloud public                                                   ...
Multi-distributionUne forge logicielle sur mesure                                  27
REST, un paradigme à part entière                                    28
CompétitionNiveaux d’abstraction et paradigmes différents                                                 29
Packages de l’API Restlet              Un cœur complet mais compact                   org.restlet.data              org.re...
Filtrage et routage Multi-thread et dynamique                             31
Interfaces Java annotées Approche uniforme, client & serveur                     public interface RootResource {          ...
Service de conversionExtensible, scoring, beans de représentation                                               33
Restlet API vs JAX-RS API                            34
Des styles de codage différents                                  Côté serveurJAX-RS API 1.1                          Restl...
Des styles de codage différents                                             Côté client        JAX-RS API 2.0             ...
Sortie version 2.1              2 ans de développement !1) Améliorations incrémentales de l’API Restlet   • Sucre syntaxiq...
Sortie version 2.1                     Prévu en juin 20123) Nouveau connecteur HTTP interne   • Design NIO non-bloquant, p...
Livre « Restlet in Action »     Déjà disponible en MEAP                               39
Version 2.2                 Ecouter sa communauté !• Migration vers Google Groups  • Listes de diffusion utilisateurs et d...
Version 2.2       Améliorations incrémentales• Nouvelles fonctionnalités  • Optimiser la taille des éditions Android et GW...
Version 3.0                    Les grandes lignes• Site web : nouveau design et tutoriel• Restlet Studio : IDE basé sur Ec...
Version 3.0De framework à plate-forme                             43
Partie 4/4APISPARK, PAAS TOUT-EN-UN POUR APIS WEB                                          44
APISpark, l’offreLa plate-forme tout-en-un pour APIs web                                          45
APISpark, l’offreLa plate-forme tout-en-un pour APIs web                                          46
Annuaire d’APIs web                      47
Création d’une API web                         48
Statistiques et reporting                            49
Roadmap•   Beta privée : fin avril 2012•   Beta publique : juin 2012•   Version 1.0 : octobre 2012Inscrivez-vous !http://a...
Conclusion                                     Merci !•   Apprendre REST & HTTP c’est un investissement sur le long terme•...
Upcoming SlideShare
Loading in...5
×

De l'open source à l'open API avec Restlet

4,420

Published on

L'arrivée en force des APIs web ouvertes révolutionne notre façon de développer sur le Web, d'une façon encore plus importante que l'open source.

Nous expliquerons ce qu'est une API web, ferons un tour d'horizon des APIs les plus marquantes, des clés de leur succès et présenterons les principales solutions pour faciliter leur création, leur hébergement, leur gestion et leur utilisation.

Nous expliquerons plus en détail comment développer une API web RESTful en Java grâce à Restlet Framework, le premier projet open source pour le développement REST en Java qui sort sa version 2.1 accompagné du livre "Restlet in Action" publié par Manning.

Pour finir nous présenterons APISpark, une nouvelle plate-forme cloud tout-en-un pour les APIs web, basée sur Restet Framework.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,420
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

De l'open source à l'open API avec Restlet

  1. 1. De l’open source à l’open API avec Restlet par Jérôme LOUVEL @jlouvel 1
  2. 2. Abstract• L’open API, plus importante que l’open source ?• Tour d’horizon d’APIs web et des acteurs clés• Restlet Framework 2.1 & Roadmap• APISpark, PaaS tout-en-un pour APIs web 2
  3. 3. Speaker• Jérôme LOUVEL (@jlouvel, jlouvel@restlet.com, G+) • Ingénieur PolyTech’Montpellier, 14 ans d’expérience • Créateur de Restlet Framework, CEO de Restlet SAS • Expert JAX-RS 1.0 (JSR-311) • Contributeur à “RESTful Web Services” (O’Reilly) • Co-auteur de “Restlet in Action” (Manning) 3
  4. 4. Partie 1/4L’OPEN API, PLUS IMPORTANTE QUE L’OPEN SOURCE ? 4
  5. 5. Explosion du nombre d’APIs web Source: ProgrammableWeb Source: ProgrammableWeb 5
  6. 6. Croissance des sites web Source: NetCraft / Jacob Nielsen Un parallèle qui laisse rêveur ! 6
  7. 7. Prédominance de REST Source: ProgrammableWebSource: ProgrammableWeb • REST est souvent synonyme de non-SOAP… • L’hypermédia est rarement exploité… • AtomPub est plutôt la plus RESTful des APIs à ce jour • REST n’est pas indispensable au succès d’une API web • Exigence de qualité croissante : REST comme guide 7
  8. 8. L’open API, ça se consomme• Enrichir un site web (mashups, flux blog/tweets, Google Maps)• Import/Export SaaS (libérer ses données, changer de fournisseur)• Intégration SaaS (notifier / web hooks, automatiser / workflow)• APIs composites (combiner plusieurs APIs en une autre) 8
  9. 9. L’open API permet d’exposer• Backend Mobile (connectées, natives ou HTML 5)• Backend SaaS (HTML 5/AJAX, API développeur/partenaire)• Backend Open Data (multi-formats, API développeur, big data)• Backend Internet des Objets (M2M, RFID, géolocalisation) 9
  10. 10. Impact de l’open source 2000 2005 1. Réduction des coûts (licences) 2. Ecosystème d’innovation (logiciel) 10
  11. 11. De l’open source à l’open API 2005 2010 1. Réduction des coûts (cloud computing) 2. Accès multicanal (mobilité, convergence) 11
  12. 12. Impact de l’open API 2015 20201. Réduction des coûts (composition d’APIs web, open & privates, gain de temps)2. Ecosystème d’innovation (places de marché d’APIs web, nouvelles chaînes de valeur) 12
  13. 13. Anatomie d’une API web • Un contrat d’API web standard = Mise en concurrence facilitée • Exemples de contrats : Atom/AtomPub, AWS S3, CDMI, etc. 13
  14. 14. Partie 2/4TOUR D’HORIZON D’APIS WEB ET D’ACTEURS CLÉS 14
  15. 15. Twitter et les APIs web 15
  16. 16. Twilio, l’API web est le produit 16
  17. 17. Google Maps Image API http://maps.googleapis.com/maps/api/staticmap? center=Brooklyn+Bridge,New+York,NY& zoom=14& size=512x512& maptype=roadmap& markers=color:blue%7Clabel:S%7C40.702147,-74.015794& markers=color:green%7Clabel:G%7C40.711614,-74.012318& markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284& sensor=false • Représentation « image/png » de la ressource de carte • Une ressource REST peut exposer des représentations binaires 17
  18. 18. Amazon et les APIs web • Authentification exotique • Anti-pattern d’API RESTful • Mais AWS reste une référence dans le cloud ! 18
  19. 19. De nouveaux acteurs • Backends as a Service • Sécurisation • Annuaire• Frameworks RESTful • Applis mobiles • Analytics • Monétisation• Génération de doc • SaaS & sites riches • SDKs clients • Animation• Frameworks NIO/HTTP • Open data • Gestion communauté • Référencement • Internet des Objets• Oracle Jersey • StackMob • Apigee • ProgrammableWeb• JBoss RESTEasy • Parse.com • Mashery • Mashape• XINS, Swagger • Sencha.io • 3Scale • Alcatel Open API Platform• Enunciate • Firebase • WebServius • The Easy API• Restlet Framework • APISpark • APISpark • APISpark 19
  20. 20. Partie 3/4RESTLET FRAMEWORK 2.1 & ROADMAP 20
  21. 21. Restlet Framework 2.1 Framework pour exposer et consommer des APIs web de style REST Langage Java OSGi Servlet Regular Android GAE GWTenvironments containers JVM mobiles PaaS browsers 21
  22. 22. Nombreuses références • Une communauté internationale • Environ 100 000 développeurs Restlet 22
  23. 23. ArchitectureUne API Java, un moteur et 37 extensions ! 23
  24. 24. Multi-protocole Centré sur HTTP 24
  25. 25. Multi-cloudAugmentez la portabilité de vos APIs web 25
  26. 26. Support de Google SDCAccès sécurisé à l’intranet depuis le cloud public 26
  27. 27. Multi-distributionUne forge logicielle sur mesure 27
  28. 28. REST, un paradigme à part entière 28
  29. 29. CompétitionNiveaux d’abstraction et paradigmes différents 29
  30. 30. Packages de l’API Restlet Un cœur complet mais compact org.restlet.data org.restlet.representation org.restlet.resourceorg.restlet org.restlet.routing org.restlet.security org.restlet.service org.restlet.util 30
  31. 31. Filtrage et routage Multi-thread et dynamique 31
  32. 32. Interfaces Java annotées Approche uniforme, client & serveur public interface RootResource { @Get("txt") public String represent(); } public interface AccountsResource { @Get("txt|json|xml") public String represent(); @Post("txt") public String add(String account); } public interface AccountResource { @Get("txt?depth={level}") public String represent(); @Put(“form:txt") public void store(String account); @Delete public void remove(); } 32
  33. 33. Service de conversionExtensible, scoring, beans de représentation 33
  34. 34. Restlet API vs JAX-RS API 34
  35. 35. Des styles de codage différents Côté serveurJAX-RS API 1.1 Restlet API 2.1@POST @Post(“txt:json”)@Path(“withdrawal") public Money withdraw(){@Consumes("text/plain") String card = getAttribute(“card”);@Produces("application/json") String pin = getQueryValue(“pin”);public Money withdraw( String amount = getQueryValue(“amount”);@PathParam("card") String card, return getMoney(card, pin, amount);@QueryParam("pin") String pin, }String amount){ return getMoney(card,pin, amount);} 35
  36. 36. Des styles de codage différents Côté client JAX-RS API 2.0 Restlet API 2.1// Get instance of Client // Get instance of ClientClient client = ClientFactory.newClient(); ClientResource client = new ClientResource(""http://.../atm/{cardId}/balance");// Get account balanceString bal = // Get account balanceclient.target("http://.../atm/{cardId}/balance") client.setAttribute("cardId", "112233"); .pathParam("cardId", "112233") client.setQueryValue("pin", "9876"); .queryParam("pin", "9876") client.accept(MediaType.TXT_PLAIN); .request("text/plain").get(String.class); String bal = client.get(String.class); 36
  37. 37. Sortie version 2.1 2 ans de développement !1) Améliorations incrémentales de l’API Restlet • Sucre syntaxique (ClientResource#get/setQuery, get/setAttribute, etc.) • Amélioration annotations. Example: @Get("form|xml:json?level=2") • Traçage des requêtes individuel facilité • ConnegService, DecoderService côté client • Gestion côté client de l’absence de chunk encoding dans GAE • Extension EMF (converter XMI/XML), HTML (multi-part upload)2) Sécurité des APIs web renforcée • Support des schémas AWS S3, AWS Query, Cookie et GAE • Support de Google Secure Data Connector (SDC) hors GAE • Nouvelles extensions OAuth 2.0 et OpenID 2.0 (draft specs) 37
  38. 38. Sortie version 2.1 Prévu en juin 20123) Nouveau connecteur HTTP interne • Design NIO non-bloquant, peu de threads • Zéro dépendance, centré HTTP/Restlet, lecture représ. asynchrone • Dépréciation des extensions Grizzly et Netty • Documenté et extensible (extension SIP)4) Option « Apache Public License 2.0 » • En plus d’EPL 1.0, LGPL 2.1/3.0 et CDDL 1.0 • Licences commerciales possible si nécessaire5) Migration vers GitHub • Historique SVN avec branches importé • Tickets Tigris.org importés • Forge Restlet automatisée mise à jour • Augmentation des contributions constatée ! 38
  39. 39. Livre « Restlet in Action » Déjà disponible en MEAP 39
  40. 40. Version 2.2 Ecouter sa communauté !• Migration vers Google Groups • Listes de diffusion utilisateurs et développeurs encore sur Tigris.org• Migration vers StackOverFlow • Déjà largement utilisé pour les questions simples et bogues • Augmenter la qualité des échanges dans le groupe sur Google en retour• Migration vers Java SE 6 • Java SE 5 supporté depuis Restlet Framework 1.0 ! • Réduire la taille du code (ex: service pattern) 40
  41. 41. Version 2.2 Améliorations incrémentales• Nouvelles fonctionnalités • Optimiser la taille des éditions Android et GWT • CacheService : générique et extensible • Edition OSGi : gestion entièrement dynamique • Injection : Guice, Spring (amélioration)• Portage en JavaScript natif • Même niveau d’abstraction qu’en Java • Côté client (browser/XHR et Node.JS) • Côté serveur (Node.JS) • Prototype déjà disponible ! 41
  42. 42. Version 3.0 Les grandes lignes• Site web : nouveau design et tutoriel• Restlet Studio : IDE basé sur Eclipse 4.0• Restlet Apps : applications réutilisables (recherche, etc.)• Connecteur interne • Unification runtime client et serveur • Pool de threads unique (via TaskService) • Support de SPDY [et/ou HTTP 2.0] (sur NIO)• Nouveau convertisseur interne • Support multi-formats (XML, JSON, RDF, Form, CSV, etc.) • Support des hyperliens et des métadonnées HTTP • Remplaçant des extensions Jackson, XStream, etc.• Nouveau portage : Google Dart• Support HTML 5 : Server-Sent Events, Cross-origin policies 42
  43. 43. Version 3.0De framework à plate-forme 43
  44. 44. Partie 4/4APISPARK, PAAS TOUT-EN-UN POUR APIS WEB 44
  45. 45. APISpark, l’offreLa plate-forme tout-en-un pour APIs web 45
  46. 46. APISpark, l’offreLa plate-forme tout-en-un pour APIs web 46
  47. 47. Annuaire d’APIs web 47
  48. 48. Création d’une API web 48
  49. 49. Statistiques et reporting 49
  50. 50. Roadmap• Beta privée : fin avril 2012• Beta publique : juin 2012• Version 1.0 : octobre 2012Inscrivez-vous !http://apispark.com 50
  51. 51. Conclusion Merci !• Apprendre REST & HTTP c’est un investissement sur le long terme• Nombreuses opportunités autour des APIs web• Restlet Framework : solution open source puissante et complète• APISpark : solution en ligne tout-en-un et simple d’usage 51
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×