SlideShare une entreprise Scribd logo

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

Jerome Louvel
Jerome Louvel
Jerome LouvelChief Geek à Restlet

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.

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

1  sur  51
Télécharger pour lire hors ligne
De l’open source à l’open API
        avec Restlet
          par Jérôme LOUVEL
                @jlouvel




                                1
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
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
Partie 1/4

L’OPEN API, PLUS IMPORTANTE QUE L’OPEN SOURCE ?




                                                  4
Explosion du nombre d’APIs web




                              Source: ProgrammableWeb
    Source: ProgrammableWeb




                                                        5
Croissance des sites web




                Source: NetCraft / Jacob Nielsen




        Un parallèle qui laisse rêveur !



                                                   6

Recommandé

API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture RESTFadel Chafai
 
Workshop HTML5 : référencement grâce à la sémantique
Workshop HTML5 : référencement grâce à la sémantiqueWorkshop HTML5 : référencement grâce à la sémantique
Workshop HTML5 : référencement grâce à la sémantiqueLes-Tilleuls.coop
 
RESTful API - Retour d'expérience
RESTful API - Retour d'expérienceRESTful API - Retour d'expérience
RESTful API - Retour d'expérienceChristophe Laprun
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIOuadie LAHDIOUI
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)Restlet
 

Contenu connexe

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

Asp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurAsp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurMicrosoft
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKISamir Arezki ☁
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiAZUG FR
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiSamir Arezki ☁
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
La production cartographique pour les SIG version Web
La production cartographique pour les SIG version WebLa production cartographique pour les SIG version Web
La production cartographique pour les SIG version WebEric Lacoursiere
 
Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013Paris Android User Group
 
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne  OSCi OW2 Workshop July 11CompatibleOne  OSCi OW2 Workshop July 11
CompatibleOne OSCi OW2 Workshop July 11CompatibleOne
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Camille Roux
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)Restlet
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web servicesoussemos
 
PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0guest4ca1b
 

Similaire à De l'open source à l'open API avec Restlet (20)

Asp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futurAsp.Net Web.API, SignalR et UX : le futur
Asp.Net Web.API, SignalR et UX : le futur
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
vNext
vNextvNext
vNext
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKI
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Rubedo cms : php, zend, MongoDB, Elasticsearch
Rubedo cms : php, zend, MongoDB, ElasticsearchRubedo cms : php, zend, MongoDB, Elasticsearch
Rubedo cms : php, zend, MongoDB, Elasticsearch
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Google appengine&guice
Google appengine&guiceGoogle appengine&guice
Google appengine&guice
 
La production cartographique pour les SIG version Web
La production cartographique pour les SIG version WebLa production cartographique pour les SIG version Web
La production cartographique pour les SIG version Web
 
Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013Google End points pour vos applications Android par Didier Girard 3 avril 2013
Google End points pour vos applications Android par Didier Girard 3 avril 2013
 
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne  OSCi OW2 Workshop July 11CompatibleOne  OSCi OW2 Workshop July 11
CompatibleOne OSCi OW2 Workshop July 11
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web services
 
PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0
 

Plus de Jerome Louvel

DevOps D-Day - Streamline DevOps workflows with APIs
DevOps D-Day - Streamline DevOps workflows with APIsDevOps D-Day - Streamline DevOps workflows with APIs
DevOps D-Day - Streamline DevOps workflows with APIsJerome Louvel
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NGJerome Louvel
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesJerome Louvel
 
API Strategy & Practice - API Discovery, Hubs and IDEs
API Strategy & Practice - API Discovery, Hubs and IDEsAPI Strategy & Practice - API Discovery, Hubs and IDEs
API Strategy & Practice - API Discovery, Hubs and IDEsJerome Louvel
 
20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs
20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs
20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIsJerome Louvel
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language FrontierJerome Louvel
 
Build, host and manage your custom API in less than an hour
Build, host and manage your custom API in less than an hourBuild, host and manage your custom API in less than an hour
Build, host and manage your custom API in less than an hourJerome Louvel
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013Jerome Louvel
 
Restlet et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateformeJerome Louvel
 

Plus de Jerome Louvel (9)

DevOps D-Day - Streamline DevOps workflows with APIs
DevOps D-Day - Streamline DevOps workflows with APIsDevOps D-Day - Streamline DevOps workflows with APIs
DevOps D-Day - Streamline DevOps workflows with APIs
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NG
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
API Strategy & Practice - API Discovery, Hubs and IDEs
API Strategy & Practice - API Discovery, Hubs and IDEsAPI Strategy & Practice - API Discovery, Hubs and IDEs
API Strategy & Practice - API Discovery, Hubs and IDEs
 
20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs
20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs
20140527 - APIcon SF - Workshop #2 - Document and manage Java-based web APIs
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language Frontier
 
Build, host and manage your custom API in less than an hour
Build, host and manage your custom API in less than an hourBuild, host and manage your custom API in less than an hour
Build, host and manage your custom API in less than an hour
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013
 
Restlet et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateforme
 

Dernier

Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfHamida Rebai Trabelsi
 
Shelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualShelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualDomotica daVinci
 
Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)benj_2
 
Débrief CES 2024 by Niji
Débrief CES 2024 by NijiDébrief CES 2024 by Niji
Débrief CES 2024 by NijiNiji
 
Wave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfWave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfDomotica daVinci
 
JDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfJDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfAlexandre Contat
 

Dernier (6)

Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdfConteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
Conteneuriser une application .NET 8 en utilisant Docker et Azure.pdf
 
Shelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave ManualShelly Qubini Dry Contact Module Z-Wave Manual
Shelly Qubini Dry Contact Module Z-Wave Manual
 
Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)Pour une Autorité française de l’Intelligence Artificielle (IA)
Pour une Autorité française de l’Intelligence Artificielle (IA)
 
Débrief CES 2024 by Niji
Débrief CES 2024 by NijiDébrief CES 2024 by Niji
Débrief CES 2024 by Niji
 
Wave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdfWave_Shutter_user_guide_multilang_print_V3.pdf
Wave_Shutter_user_guide_multilang_print_V3.pdf
 
JDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdfJDN 2023 les applications de l'impression 3D.pdf
JDN 2023 les applications de l'impression 3D.pdf
 

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

  • 1. De l’open source à l’open API avec Restlet par Jérôme LOUVEL @jlouvel 1
  • 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. 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. Partie 1/4 L’OPEN API, PLUS IMPORTANTE QUE L’OPEN SOURCE ? 4
  • 5. Explosion du nombre d’APIs web Source: ProgrammableWeb Source: ProgrammableWeb 5
  • 6. Croissance des sites web Source: NetCraft / Jacob Nielsen Un parallèle qui laisse rêveur ! 6
  • 7. Prédominance de REST Source: ProgrammableWeb Source: 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. 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. 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. Impact de l’open source 2000 2005 1. Réduction des coûts (licences) 2. Ecosystème d’innovation (logiciel) 10
  • 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. Impact de l’open API 2015 2020 1. 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. 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. Partie 2/4 TOUR D’HORIZON D’APIS WEB ET D’ACTEURS CLÉS 14
  • 15. Twitter et les APIs web 15
  • 16. Twilio, l’API web est le produit 16
  • 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. Amazon et les APIs web • Authentification exotique • Anti-pattern d’API RESTful • Mais AWS reste une référence dans le cloud ! 18
  • 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. Partie 3/4 RESTLET FRAMEWORK 2.1 & ROADMAP 20
  • 21. Restlet Framework 2.1 Framework pour exposer et consommer des APIs web de style REST Langage Java OSGi Servlet Regular Android GAE GWT environments containers JVM mobiles PaaS browsers 21
  • 22. Nombreuses références • Une communauté internationale • Environ 100 000 développeurs Restlet 22
  • 23. Architecture Une API Java, un moteur et 37 extensions ! 23
  • 24. Multi-protocole Centré sur HTTP 24
  • 26. Support de Google SDC Accès sécurisé à l’intranet depuis le cloud public 26
  • 28. REST, un paradigme à part entière 28
  • 29. Compétition Niveaux d’abstraction et paradigmes différents 29
  • 30. Packages de l’API Restlet Un cœur complet mais compact org.restlet.data org.restlet.representation org.restlet.resource org.restlet org.restlet.routing org.restlet.security org.restlet.service org.restlet.util 30
  • 31. Filtrage et routage Multi-thread et dynamique 31
  • 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. Service de conversion Extensible, scoring, beans de représentation 33
  • 34. Restlet API vs JAX-RS API 34
  • 35. Des styles de codage différents Côté serveur JAX-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. 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 Client Client client = ClientFactory.newClient(); ClientResource client = new ClientResource(""http://.../atm/{cardId}/balance"); // Get account balance String bal = // Get account balance client.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. 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. Sortie version 2.1 Prévu en juin 2012 3) 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écessaire 5) 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. Livre « Restlet in Action » Déjà disponible en MEAP 39
  • 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. 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. 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. Version 3.0 De framework à plate-forme 43
  • 44. Partie 4/4 APISPARK, PAAS TOUT-EN-UN POUR APIS WEB 44
  • 45. APISpark, l’offre La plate-forme tout-en-un pour APIs web 45
  • 46. APISpark, l’offre La plate-forme tout-en-un pour APIs web 46
  • 50. Roadmap • Beta privée : fin avril 2012 • Beta publique : juin 2012 • Version 1.0 : octobre 2012 Inscrivez-vous ! http://apispark.com 50
  • 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