Restlet et le multi-plateforme

30
RESTLET, UN FRAMEWORK MULTIPLATEFORME 8 novembre 2011

description

Présentation faite à EclipseDay Paris http://www.eclipsedayparis.com/2011/

Transcript of Restlet et le multi-plateforme

Page 1: Restlet et le multi-plateforme

RESTLET, UN FRAMEWORK MULTIPLATEFORME8 novembre 2011

Page 2: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

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)

Page 3: Restlet et le multi-plateforme

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

Page 4: Restlet et le multi-plateforme

INTRODUCTION: RESTLET ET LE MULTIPLATEFORMEPartie 1/3

Page 5: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

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.)

Page 6: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

RÉFÉRENCES

Page 7: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

STRUCTURE D’UN PROJET RESTLET

Projets utilisateurs

API Restlet

Moteur Restlet

Restlet ExtensionsRestlet Extensions

Extension Restlet

Page 8: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

FILTRAGE ET ROUTAGE

Next Restlet

Filter

B

C

A

Router

B

C

A

Route 1

Route 2

Route 3

A

B

C

Page 9: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

INTERFACES ANNOTÉES

HTTP

Annotated Java interface

REST API

Clientresource

Serverresource

Clientproxy

Serversubclass

Page 10: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

SERVICE DE CONVERSION

Resource

XML

HTML

JSON

StateRepresentation

bean

Form Data

RDF

Atom

Converter service

Page 11: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

EDITIONS DE RESTLET FRAMEWORK

Page 12: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

PORTAGE SEMI-AUTOMATIQUE

Page 13: Restlet et le multi-plateforme

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

Page 14: Restlet et le multi-plateforme

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

Page 15: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

Restlet/OSGicode

Restlet/And.code

Restlet/JEEcode

Restlet/JSEcode

RESTLET FORGE

Restlet code base

FichierZIP

Installateur Windows

Entrepôt Maven

Site Eclipse/p2

Restlet/GWTcode

Restlet/GAEcode

1) Personnalisation 2) Distribution

Page 16: Restlet et le multi-plateforme

INTEROPÉRABILITÉ: RESTLET DANS LE CLOUDPartie 2/3

Page 17: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

OUVERTURE AU CLOUDCÔTÉ SERVEUR ET CLIENT

Page 18: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

EXTENSION ODATA ½FONCTIONNEMENT

Page 19: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

EXTENSION ODATA 2/2CAS D’USAGE

http://www.odata.org

Page 20: Restlet et le multi-plateforme

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

Page 21: Restlet et le multi-plateforme

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)

Page 22: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

CONNECTEUR RESTLET SDC

Page 23: Restlet et le multi-plateforme

PERSPECTIVES: RESTLET ET LES APIS WEBPartie 4/4

Page 24: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

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.

Page 25: Restlet et le multi-plateforme

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

Page 26: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

SITE WEBA N D R O I D

ECOSYSTÈME

C L O U D

AmazonEC2 C L O U D

Google App Engine C L O U D

WindowsAzure C L O U D

Cloudprivé

Développeursutilisateurs d’APIs

APIs web

Développeurscréateurs d’APIs

Gestionnairesd’APIs

WEB OS

W

MASH UP

API web

FACEBOOK

Hébergement adaptable

Interopérabilitémaximale

ServicesDonnées

W

Ouverture du SIpar les APIs web

Page 27: Restlet et le multi-plateforme

Copyright Noelios Technologies – Tous droits réservés

QUELQUES CHIFFRES

20052006

20072008

20092010

2011 (nove

mbre)0

1000

2000

3000

4000

Nombre d'APIs web sur ProgrammableWeb

Page 28: Restlet et le multi-plateforme

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)

Page 29: Restlet et le multi-plateforme

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

Page 30: Restlet et le multi-plateforme

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