RESTLET, UN FRAMEWORK MULTIPLATEFORME
8 novembre 2011
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

    Jérôme LOUVEL
             –    Directeur Technique
             –    Créateur de Restlet
             –    Contributeur « RESTful Web Services »
             –    Co-auteur « Restlet in Action »
             –    Expert JCP / JSR-311 (JAX-RS)

Copyright Noelios Technologies – Tous droits réservés
AGENDA
1. Introduction: Restlet et le multiplateforme
  –   Restlet Framework : extensions, éditions et portage
  –   Lancement de l’édition pour « OSGi environments »

2. Interopérabilité: Restlet dans le cloud
  –   Côté client : extensions OData et Crypto
  –   Côté serveur : accès SDC, déploiement AWS/Azure/GAE

3. Perspectives: Restlet et les APIs web
  –   Marché des APIs web
  –   Livre « Restlet in Action »
  –   Lancement d’APISpark

                    Copyright Noelios Technologies – Tous droits réservés
Partie 1/3
INTRODUCTION: RESTLET ET LE MULTIPLATEFORME
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
RÉFÉRENCES




Copyright Noelios Technologies – Tous droits réservés
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
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
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
SERVICE DE CONVERSION
  Atom



Form Data



 HTML                                                                    Resource


               Converter                    Representation
  XML                                           bean                      State
                service


  JSON



  RDF



   …




                 Copyright Noelios Technologies – Tous droits réservés
EDITIONS DE RESTLET FRAMEWORK




        Copyright Noelios Technologies – Tous droits réservés
PORTAGE SEMI-AUTOMATIQUE




      Copyright Noelios Technologies – Tous droits réservés
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
EDITION « OSGI ENVIRONMENTS »
• Compatible Equinox et
  Felix
• Bundles OSGi avec
  dépendances propres
• Site de mise à jour
  Eclipse/p2
• Enregistrement des
  extensions via
  Activator
• Extension OSGi en
  cours d’incubation
  issue d’un projet IBM

                 Copyright Noelios Technologies – Tous droits réservés
RESTLET FORGE

                                           Restlet/GAE                                     Fichier
                                              code                                           ZIP

                                          Restlet/GWT
                                             code
                                                                                         Installateur
               1) Personnalisation                                     2) Distribution
                                           Restlet/JSE                                    Windows
                                              code
Restlet code
   base
                                           Restlet/JEE
                                              code
                                                                                           Entrepôt
                                                                                            Maven
                                           Restlet/And.
                                              code


                                          Restlet/OSGi
                                             code                                             Site
                                                                                          Eclipse/p2




                          Copyright Noelios Technologies – Tous droits réservés
Partie 2/3

INTEROPÉRABILITÉ: RESTLET DANS LE CLOUD
OUVERTURE AU CLOUD
    CÔTÉ SERVEUR ET CLIENT




  Copyright Noelios Technologies – Tous droits réservés
EXTENSION ODATA ½
          FONCTIONNEMENT




  Copyright Noelios Technologies – Tous droits réservés
EXTENSION ODATA 2/2
               CAS D’USAGE




       http://www.odata.org


  Copyright Noelios Technologies – Tous droits réservés
EXTENSION CRYPTO
• Plugins d’authentification Restlet pour
  – HTTP DIGEST
  – AWS S3 et QUERY : tous les services
     • support authentification S3 côté serveur
  – Azure SharedKey et Azure SharedKey Lite
     • support des APIs de services Windows Azure
  – CookieAuthenticator
     • encrytage des informations (token et expiration)
     • gestion du login et logout

                  Copyright Noelios Technologies – Tous droits réservés
GOOGLE 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
CONNECTEUR RESTLET SDC




     Copyright Noelios Technologies – Tous droits réservés
Partie 4/4
PERSPECTIVES: RESTLET ET LES APIS WEB
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
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
ECOSYSTÈME
                                                                     Développeurs
                                                                   utilisateurs d’APIs
                                                                                                                        W      API web


Interopérabilité
   maximale
                   ANDROID                            FACEBOOK                            SITE WEB                   MASH UP
                                                                                                                      WEB OS




                                                                           W     APIs web


Ouverture du SI
par les APIs web                    Développeurs                 Données     Services                Gestionnaires
                                   créateurs d’APIs                                                     d’APIs




 Hébergement
   adaptable       Amazon
                     EC2
                    CLOUD
                                                   Google
                                                  AppL Engine
                                                    C OUD
                                                                                         Windows
                                                                                          Azure
                                                                                          CLOUD
                                                                                                                     Cloud
                                                                                                                     privé
                                                                                                                     CLOUD




                             Copyright Noelios Technologies – Tous droits réservés
QUELQUES CHIFFRES

       Nombre d'APIs web sur ProgrammableWeb
4500
4000
3500
3000
2500
2000
1500
1000
 500
   0




              Copyright Noelios Technologies – Tous droits réservés
CAS D’USAGES
1. Application mobiles connectées
  – natives ou HTML 5
2. Cloud computing
  – IaaS/PaaS (AWS, GAE, Azure)
  – SaaS (Basecamp, SalesForce, Google Apps)
3. Objets communicants
  – Personnels (Karotz, pèse personnes)
  – Professionnels (M2M, RFID, GPS, 3G, géoloc.)
4. E-marketing
  – Places de marchés, comparateurs de prix, affiliation
    (Amazon, eBay, Kelkoo)

                  Copyright Noelios Technologies – Tous droits réservés
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
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

Restlet et le multi-plateforme

  • 1.
    RESTLET, UN FRAMEWORKMULTIPLATEFORME 8 novembre 2011
  • 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 Jérôme LOUVEL – Directeur Technique – Créateur de Restlet – Contributeur « RESTful Web Services » – Co-auteur « Restlet in Action » – Expert JCP / JSR-311 (JAX-RS) Copyright Noelios Technologies – Tous droits réservés
  • 3.
    AGENDA 1. Introduction: Restletet le multiplateforme – Restlet Framework : extensions, éditions et portage – Lancement de l’édition pour « OSGi environments » 2. Interopérabilité: Restlet dans le cloud – Côté client : extensions OData et Crypto – Côté serveur : accès SDC, déploiement AWS/Azure/GAE 3. Perspectives: 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/3 INTRODUCTION: RESTLETET LE MULTIPLATEFORME
  • 5.
    RESTLET FRAMEWORK • Premierframework 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.
  • 7.
    STRUCTURE D’UN PROJETRESTLET 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 RESTLETFRAMEWORK Copyright Noelios Technologies – Tous droits réservés
  • 12.
    PORTAGE SEMI-AUTOMATIQUE Copyright Noelios Technologies – Tous droits réservés
  • 13.
    PERSONNALISATION DU CODESOURCE • 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.
    EDITION « OSGIENVIRONMENTS » • Compatible Equinox et Felix • Bundles OSGi avec dépendances propres • Site de mise à jour Eclipse/p2 • Enregistrement des extensions via Activator • Extension OSGi en cours d’incubation issue d’un projet IBM Copyright Noelios Technologies – Tous droits réservés
  • 15.
    RESTLET FORGE Restlet/GAE Fichier code ZIP Restlet/GWT code Installateur 1) Personnalisation 2) Distribution Restlet/JSE Windows code Restlet code base Restlet/JEE code Entrepôt Maven Restlet/And. code Restlet/OSGi code Site Eclipse/p2 Copyright Noelios Technologies – Tous droits réservés
  • 16.
  • 17.
    OUVERTURE AU CLOUD CÔTÉ SERVEUR ET CLIENT Copyright Noelios Technologies – Tous droits réservés
  • 18.
    EXTENSION ODATA ½ FONCTIONNEMENT Copyright Noelios Technologies – Tous droits réservés
  • 19.
    EXTENSION ODATA 2/2 CAS D’USAGE http://www.odata.org Copyright Noelios Technologies – Tous droits réservés
  • 20.
    EXTENSION CRYPTO • Pluginsd’authentification Restlet pour – HTTP DIGEST – AWS S3 et QUERY : tous les services • support authentification S3 côté serveur – Azure SharedKey et Azure SharedKey Lite • support des APIs de services Windows Azure – CookieAuthenticator • encrytage des informations (token et expiration) • gestion du login et logout Copyright Noelios Technologies – Tous droits réservés
  • 21.
    GOOGLE SECURE DATACONNECTOR • 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
  • 22.
    CONNECTEUR RESTLET SDC Copyright Noelios Technologies – Tous droits réservés
  • 23.
  • 24.
    ROADMAP RESTLET • Version2.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
  • 25.
    PITCH • Aujourd’hui toutle 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
  • 26.
    ECOSYSTÈME Développeurs utilisateurs d’APIs W API web Interopérabilité maximale ANDROID FACEBOOK SITE WEB MASH UP WEB OS W APIs web Ouverture du SI par les APIs web Développeurs Données Services Gestionnaires créateurs d’APIs d’APIs Hébergement adaptable Amazon EC2 CLOUD Google AppL Engine C OUD Windows Azure CLOUD Cloud privé CLOUD Copyright Noelios Technologies – Tous droits réservés
  • 27.
    QUELQUES CHIFFRES Nombre d'APIs web sur ProgrammableWeb 4500 4000 3500 3000 2500 2000 1500 1000 500 0 Copyright Noelios Technologies – Tous droits réservés
  • 28.
    CAS D’USAGES 1. Applicationmobiles connectées – natives ou HTML 5 2. Cloud computing – IaaS/PaaS (AWS, GAE, Azure) – SaaS (Basecamp, SalesForce, Google Apps) 3. Objets communicants – Personnels (Karotz, pèse personnes) – Professionnels (M2M, RFID, GPS, 3G, géoloc.) 4. E-marketing – Places de marchés, comparateurs de prix, affiliation (Amazon, eBay, Kelkoo) Copyright Noelios Technologies – Tous droits réservés
  • 29.
    INTÉRÊT POUR UNDÉ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
  • 30.
    POUR ALLER PLUSLOIN… • 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