SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
WEB APIS IN ACTION
SFEIR – 17 octobre 2012
Copyright Restlet SAS – Tous droits réservés
INTERVENANT
ENTREPRENEUR ET EXPERT EN APIS WEB
Jérôme LOUVEL
– Ingénieur PolyTech’Montpellier
– 12 ans d’expérience dans l’édition logicielle et le
service informatique, dont 3 ans aux USA
– CEO de Restlet et créateur de Restlet Framework
– Expert JAX-RS 1.0 (JSR-311)
– Contributeur à “RESTful Web Services” (O’Reilly)
– Co-auteur de “Restlet in Action” (Manning)
Contact:
– jlouvel@restlet.com
– Twitter : @jlouvel et Google+
– Blog : blog.restlet.com
Copyright Restlet SAS – Tous droits réservés
AGENDA
1. Tour d’horizon des APIs web (10 mn)
2. De REST aux APIs web (5 mn)
3. Introduction à Restlet Framework (5 mn)
4. API Restlet vs API JAX-RS (10 mn)
5. Prochaines étapes du projet (5 mn)
6. APISpark, Restlet as a Service (5 mn)
• Durée totale : 45 mn
TOUR D’HORIZON DES APIS WEB
Partie 1/6
Copyright Restlet SAS – Tous droits réservés
LE WEB AUJOURD’HUI
MOBILE + CROSS-MACHINE
API
Utilisateurs d’Internet : 2,3 milliards
Objets connectés : 10 milliards
Besoin d’échange d’info
Nouvelle génération de sites web
Accessible par toute machine
 Web APIs !
API
TV connectée
Ordinateur
Smartphone
Tablette
Applis sociales
Partenaires
Copyright Restlet SAS – Tous droits réservés
L’API WEB
Ç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, SIRI)
6
Copyright Restlet SAS – Tous droits réservés
L’API WEB
ÇA 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)
7
Copyright Restlet SAS – Tous droits réservés
TWITTER ET LES APIS WEB
REST
API
Database
Streaming
API
Search
API
Web SiteiPhone Third-party
Copyright Restlet SAS – Tous droits réservés
TWILIO, L’API WEB EST LE PRODUIT
9
Copyright Restlet SAS – Tous droits réservés
GOOGLE MAPS IMAGE API
10
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
Copyright Restlet SAS – Tous droits réservés
AMAZON ET LES APIS WEB
11
• Authentification exotique
• Anti-pattern d’API RESTful
• Mais AWS reste une référence dans le cloud !
Copyright Restlet SAS – Tous droits réservés
NOMBRE D’APIS PUBLIQUES
EN PLEINE CROISSANCE !
Source: ProgrammableWeb
1 million d’APIs en 2017 !
Copyright Restlet SAS – Tous droits réservés
LE PLUS IMPRESSIONNANT EST CACHÉ
L’ICEBERG DES APIS PRIVÉES!
Source: ProgrammableWeb
Copyright Restlet SAS – Tous droits réservés
NOMBRE DE SITES WEB
UN PARALLÈLE QUI LAISSE RÊVEUR !
Source: NetCraft / Jacob Nielsen
APIs web
publiques
Copyright Restlet SAS – Tous droits réservés
DE NOUVEAUX ACTEURS
15
• Frameworks RESTful
• Génération de doc
• Frameworks NIO/HTTP
• Backends as a Service
• Applis mobiles
• SaaS & sites riches
• Open data
• Internet des Objets
• Sécurisation
• Analytics
• SDKs clients
• Gestion communauté
• Annuaire
• Monétisation
• Animation
• Référencement
• Oracle Jersey
• JBoss RESTEasy
• XINS, Swagger
• Enunciate
• Restlet Framework
• StackMob
• Parse.com
• Sencha.io
• Firebase
• APISpark
• Apigee
• Mashery
• 3Scale
• WebServius
• APISpark
• ProgrammableWeb
• Mashape
• Alcatel Open API Platform
• The Easy API
• APISpark
DE REST AUX APIS WEB
Partie 2/6
Copyright Restlet SAS – Tous droits réservés
REST AU CŒUR DES APIS WEB
MAIS RAREMENT DU PUR REST…
Source: ProgrammableWeb
• REST est souvent synonyme de non-SOAP…
• L’hypermédia est rarement exploité…
• JSON s’imposent de plus en plus souvent
• Exigence de qualité croissante : REST comme guide
Copyright Restlet SAS – Tous droits réservés
« WEAVING THE WEB »
VISION D’ORIGINE ET ÉVOLUTION DE HTTP
HTTP/1.0
HTTP/1.1
REST
HTTP/0.91991
1996 RFC 1945
1999 RFC 2616
2000
HTTP/1.1 bis2013 ? IETF draft
W3C Notes
Dissertation
HTTP/2.0 IETF proposal?
Vision original du Web (source: TBL)
• Internet
• Document
• Hypertexte
• Lecture et écriture
Copyright Restlet SAS – Tous droits réservés
Internet
TCP/IP
HTTP, REST
Web 1.0
(Documents)
Web 2.0
(Social)
Web 3.0
(Semantic)
Cloud
computing
(IaaS, PaaS,
SaaS)
Mobile web
(App natives,
HTML 5)
Web of
things
(Machines)
UN WEB EN CONSTANTE ÉVOLUTION
+ 20 ANS D’INNOVATION
Copyright Restlet SAS – Tous droits réservés
UNE HISTOIRE DE PARADIGMES
LA RÉCONCILIATION?
RPC
Services Web
(SOAP, *-RPC)
REST
résistance
APIs Web
Web des
documents
Web des
machines
convergence
1. Architecture distribuée (TCP)
2. Identification universelle (URI)
3. Interface uniforme (HTTP)
4. Hypermédia (HTML, RDF)
5. Couplage faible C/S
1. Connectivité limitée (mobilité)
2. Nouvelles IHMs (apps, objets)
3. Interactions cross-machine
4. Automatisation (M2M)
5. Couplage moyen C/S
1. Architecture distribuée
2. Automatisation (programmes)
3. Interface
4. Couplage fort C/S
Copyright Restlet SAS – Tous droits réservés
APIS WEB
UNE ÉVOLUTION DE REST
Principes communs
1.Architecture distribuée (TCP)
2.Identification universelle (URI)
3.Interface uniforme (HTTP)
Différences significatives
1.IHMs hétérogènes
• Taille d’écran (cinéma, TV, moniteur, ligne LCD, etc.)
• Modes d’interaction (clavier/souris, télécommande, etc.)
• Connectivité (permanente, intermittente, rare, aucune)
• Automatisation (M2M, agents, capteurs, SaaS 2 SaaS, etc.)
2.Couplage moyen C/S
• JSON, XML, YAML, CSV : formats d’échange de données seulement
• Connaissances préalable côté client plus fortes, besoin de stabilité
REST
INTRODUCTION À RESTLET FRAMEWORK
Partie 3/6
Copyright Restlet SAS – Tous droits réservés
RESTLET FRAMEWORK
PROJET OPEN SOURCE CRÉÉ EN 2005
A N D R O I D G A E G W T J A V A E EJ A V A S E
Langage Java
O S G I
Editions multiples
Génération semi-auto.
Framework pour exposer et consommer
des APIs web de style REST
Copyright Restlet SAS – Tous droits réservés
DE NOMBREUSES RÉFÉRENCES
PLUS DE 50 000 UTILISATEURS
Copyright Restlet SAS – Tous droits réservés
MULTI-PROTOCOLES
MAIS, CENTRÉ SUR HTTP!
Semantics
Messaging
Payload
Conditional
requests
Ranged
requests
Caching Authentication
Restlet
API
Restlet
Engine
Connecteurs:
• HTTP
• AJP
• FTP
• RIAP
• CLAP
• FILE
• POP3
• SMTP
• JDBC
• SIP
Copyright Restlet SAS – Tous droits réservés
MULTI-CLOUD
AUGMENTEZ LA PORTABILITÉ DE VOS APIS ET APPLIS WEB
Copyright Restlet SAS – Tous droits réservés
COMPÉTITION
PLUSIEURS VISIONS DU WEB…
HTTP toolkits
WS-*
frameworks
OO web
frameworks
MVC web
frameworks
RESTful web
frameworks
Wicket, Tapestry
Axis, CXF, XINS
Spring MVC, Play!
Servlet, Apache HTTP Client, Netty, etc.
Restlet, Jersey, RESTeasy
API RESTLET VS API JAX-RS
Partie 4/6
Copyright Restlet SAS – Tous droits réservés
PACKAGES DE L’API RESTLET
UN CŒUR COMPLET MAIS COMPACT
org.restlet.data
org.restlet.representation
org.restlet
org.restlet.resource
org.restlet.routing
org.restlet.security
org.restlet.service
org.restlet.util
Copyright Restlet SAS – Tous droits réservés
UNE API JAVA COMPLÈTE
USAGE EN BIBLIOTHÈQUE OU EN FRAMEWORK
Copyright Restlet SAS – Tous droits réservés
FILTRAGE ET ROUTAGE
MULTI-THREAD ET DYNAMIQUE
Next Restlet
Filter
B
C
A
Router
B
C
A
Route 1
Route 2
Route 3
A
B
C
Copyright Restlet SAS – Tous droits réservés
INTERFACES ANNOTÉES
APPROCHE UNIFORME, CLIENT & SERVEUR
HTTP
Annotated
Java interface
REST API
Client
resource
Server
resource
Client
proxy
Server
subclass
Copyright Restlet SAS – Tous droits réservés
SERVICE DE CONVERSION
EXTENSIBLE, SCORING, BEANS DE REPRÉSENTATION
Resource
XML
HTML
JSON
State
Representation
bean
Form Data
RDF
…
Atom
Converter
service
Copyright Restlet SAS – Tous droits réservés
RESTLET API 1.1 VS JAX-RS 1.0
Copyright Restlet SAS – Tous droits réservés
RESTLET API 2.0 VS JAX-RS 1.1
Copyright Restlet SAS – Tous droits réservés
RESTLET API 2.1 VS JAX-RS 2.0
Copyright Restlet SAS – Tous droits réservés
COMPARAISON APIS JAVA 1/2
Caractéristique API Restlet 2.1 API JAX-RS 2.0
Style d’API Java Centré Ressource
et héritage
Centré POJO et
annotations
Nombre d’annotations 5 24
Entêtes HTTP supportées 50 26
Version minimum Java SE 5.0 Java SE 6.0
Alignement HTTP et REST Complet Partiel
Sécurité Oui Non
Routage (filtres et routeurs) Oui Limité
Composants et connecteurs Oui Non
Fichiers statiques Oui Non
Copyright Restlet SAS – Tous droits réservés
COMPARAISON APIS JAVA 2/2
Caractéristique API Restlet 2.1 API JAX-RS 2.0
Reverse proxy Oui Non
Représentations asynchrones Oui Non
Streaming HTTP Complet Limité
Réponses provisionnelles Oui Non
Standard JCP Non Oui
Ecosystème Ouvert (Google,
AWS, Oracle, IBM,
MS, etc.)
JCP (Oracle, RedHat,
OW2, etc.)
Ancienneté 7 ans 5 ans
Innovation Rapide Lente
Copyright Restlet SAS – Tous droits réservés
DES STYLES DE CODAGE DIFFÉRENTS 1/2
SHOW ME THE CODE!
JAX-RS API 2.0
// Get instance of Client
Client client =
ClientFactory.newClient();
// Get account balance
String bal =
client.target("http://.../atm/{cardI
d}/balance")
.pathParam("cardId", "112233")
.queryParam("pin", "9876")
.request("text/plain").get(String.cl
ass);
Restlet API 2.1
// Get instance of Client
ClientResource client = new
ClientResource(""http://.../atm/{cardId}
/balance");
// Get account balance
client.setPathValue("cardId", "112233");
client.setQueryValue("pin", "9876");
client.accept(MediaType.TXT_PLAIN);
String bal = client.get(String.class);
Copyright Restlet SAS – Tous droits réservés
DES STYLES DE CODAGE DIFFÉRENTS 2/2
SHOW ME THE CODE!
JAX-RS API 2.0
@POST
@Path(“withdrawal")
@Consumes("text/plain")
@Produces("application/json")
public Money withdraw(
@PathParam("card") String card,
@QueryParam("pin") String pin,
String amount){
return getMoney(card,
pin, amount);
}
Restlet API 2.1
@Post(“txt:json”)
public Money withdraw(){
String card = getPathValue(“card”);
String pin = getQueryValue(“pin”);
String amount = getQueryValue(“amount”);
return getMoney(card, pin, amount);
}
Copyright Restlet SAS – Tous droits réservés
PLUS QU’UNE API JAVA
C’EST LE FRAMEWORK QUI COMPTE!
PROCHAINES ÉTAPES DU PROJET
Partie 5/6
Copyright Restlet SAS – Tous droits réservés
RESTLET FRAMEWORK 2.1 (1/2)
2 ANS DE DÉVELOPPEMENTS !
• Améliorations incrémentales de l’API Restlet
– Pas mal de sucre syntaxique (getQuery, getPath, 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)
• 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)
• 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)
Copyright Restlet SAS – Tous droits réservés
RESTLET FRAMEWORK 2.1 (2/2)
SORTIE EN SEPTEMBRE 2012
• Livre « Restlet in Action »
– Version papier synchro avec la version 2.1.0
• 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
• Migration vers GitHub
– Historique SVN avec branches importé
– Tickets Tigris.org importés
– Forge Restlet automatisée mise à jour
– Augmentation des contributions constatée !
• 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
Copyright Restlet SAS – Tous droits réservés
RESTLET FRAMEWORK 2.2
CYCLE COURT (1 AN)
• Nouveau site web
– Basé sur Twitter Bootstrap et GitHub Pages
– Migration du wiki de Daisy vers Javadocs et GitHub Wiki
– Nouveau tutoriel
• Migration vers Google Groups
– Listes de diffusion utilisateurs et développeurs encore sur Tigris.org
• Migration vers Java SE 6
– Java SE 5 supporté depuis Restlet Framework 1.0 !
– Réduire la taille du code (ex: service pattern)
• Améliorations incrémentales
– Optimiser la taille des éditions Android et GWT
– CacheService : générique et extensible
– OAuth 2.0 : support de la spec. finale
APISPARK, RESTLET AS A SERVICE
Partie 6/6
Copyright Restlet SAS – Tous droits réservés
FONCTIONNALITÉS 1/2
La plate-forme tout-en-un pour APIs web
• Créer votre API web rapidement
– En 5 minutes à partir d’un modèle existant (API blog)
– En quelques heures à partir de rien ou par personnalisation d’un modèle
existant (annuaire d’APIs web disponible)
– Pas de verrou grâce à une fondation open source (Restlet Framework) et un
export du code de votre API web possible
• Hébergement intégré
– Backend scalable et réactif (faible latence, gestion intégrée)
– Disponibilité permanente 24/24h et 7/7j (pas de fenêtre de maintenance) et
sécurisé (confidentialité par SSL, gestion précise des autorisations)
• Versions automatiques
– Gérez plusieurs versions de la même API web en parallèle, sans aucun surcoût
– Pas de risque d’aliéner vos utilisateurs actuels tout en vous laissant libre de
faire évoluer votre API web
– Cycle de vie clair (états: brouillon, publié, déprécié, archivé, supprimé)
Copyright Restlet SAS – Tous droits réservés
La plate-forme tout-en-un pour APIs web
• Documentation automatisée
– Toujours à jour grâce à une saisie optimisée
– Accès web avec tests en live intégré
– Export en PDF et HTML facile
• Génération de kits clients
– Facilitez l’utilisation de votre API par différents types d’utilisateurs
– Support des plate-formes les plus populaires (iPhone/iPad, Android, Java,
.NET, PHP, Python)
• Gestion de la communauté
– Gestion des utilisateurs et de leur demande d’adhésion intégrée
– Communautés publiques ou privées
– Envoi de messages d’annonces publics ou de messages privés
– Intégration avec les réseaux sociaux
FONCTIONNALITÉS 2/2
Copyright Restlet SAS – Tous droits réservés
CONSOLE APISPARK
CATALOGUE D’APIS & DATA STORES
Copyright Restlet SAS – Tous droits réservés
CONSOLE APISPARK
TABLEAU DE BORD
Copyright Restlet SAS – Tous droits réservés
CONSOLE APISPARK
CONCEPTION D’API
Copyright Restlet SAS – Tous droits réservés
CONSOLE APISPARK
ANALYSE D’APIS
Copyright Restlet SAS – Tous droits réservés
• Beta privée: en cours depuis mai 2012
• Beta publique: novembre 2012
• Version 1.0: mai 2013
• Inscrivez-vous !
http://apispark.com
ROADMAP
MERCI !

Más contenido relacionado

Destacado

ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016Nov Matake
 
London adapt or-die opening keynote chet kapoor
London adapt or-die opening keynote chet kapoorLondon adapt or-die opening keynote chet kapoor
London adapt or-die opening keynote chet kapoorApigee | Google Cloud
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleApigee | Google Cloud
 
London Adapt or Die: Five Things Enterprises Should Know About Serverless
London Adapt or Die: Five Things Enterprises Should Know About ServerlessLondon Adapt or Die: Five Things Enterprises Should Know About Serverless
London Adapt or Die: Five Things Enterprises Should Know About ServerlessApigee | Google Cloud
 
London Adapt or Die: Securing your APIs the Right Way!
London Adapt or Die: Securing your APIs the Right Way!London Adapt or Die: Securing your APIs the Right Way!
London Adapt or Die: Securing your APIs the Right Way!Apigee | Google Cloud
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessApigee | Google Cloud
 
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD StoryLondon Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD StoryApigee | Google Cloud
 
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIsPetit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIsJonathan Meiss
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 

Destacado (11)

ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
 
London adapt or-die opening keynote chet kapoor
London adapt or-die opening keynote chet kapoorLondon adapt or-die opening keynote chet kapoor
London adapt or-die opening keynote chet kapoor
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
London Adapt or Die: Five Things Enterprises Should Know About Serverless
London Adapt or Die: Five Things Enterprises Should Know About ServerlessLondon Adapt or Die: Five Things Enterprises Should Know About Serverless
London Adapt or Die: Five Things Enterprises Should Know About Serverless
 
API Management and Kubernetes
API Management and KubernetesAPI Management and Kubernetes
API Management and Kubernetes
 
London Adapt or Die: Securing your APIs the Right Way!
London Adapt or Die: Securing your APIs the Right Way!London Adapt or Die: Securing your APIs the Right Way!
London Adapt or Die: Securing your APIs the Right Way!
 
Adapt or Die Sydney - API Security
Adapt or Die Sydney - API SecurityAdapt or Die Sydney - API Security
Adapt or Die Sydney - API Security
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
 
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD StoryLondon Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
 
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIsPetit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 

Similar a Web APIs in Action (in French)

Nantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineNantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineGDG Nantes
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented ArchitectureDNG Consulting
 
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
 
Restlet et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateformeJerome Louvel
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletJerome Louvel
 
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
 
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
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnHINDGUENDOUZ
 
Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014Les-Tilleuls.coop
 
Javav formation-java-avance-hibernate-webservices
Javav formation-java-avance-hibernate-webservicesJavav formation-java-avance-hibernate-webservices
Javav formation-java-avance-hibernate-webservicesCERTyou Formation
 
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
 
Publication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, ODataPublication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, ODataMicrosoft Ideas
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5Mohamed Nemili
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Microsoft
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
Presentation article rest : How-to
Presentation article rest : How-toPresentation article rest : How-to
Presentation article rest : How-toDamien Cavaillès
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain MaretASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain MaretSylvain Maret
 

Similar a Web APIs in Action (in French) (20)

Nantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineNantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngine
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
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 et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateforme
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 
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
 
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
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014Diaporama du sfPot Lillois du 20 mars 2014
Diaporama du sfPot Lillois du 20 mars 2014
 
Javav formation-java-avance-hibernate-webservices
Javav formation-java-avance-hibernate-webservicesJavav formation-java-avance-hibernate-webservices
Javav formation-java-avance-hibernate-webservices
 
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)
 
Publication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, ODataPublication des données publiques (Open Data), WCF Data Services, OData
Publication des données publiques (Open Data), WCF Data Services, OData
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
[TechDays 2012] : Quoi de neuf dans ASP.NET 4.5
 
Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5Quoi de neuf dans ASP.NET 4.5
Quoi de neuf dans ASP.NET 4.5
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
Presentation article rest : How-to
Presentation article rest : How-toPresentation article rest : How-to
Presentation article rest : How-to
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain MaretASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
ASFWS 2012 / Initiation à la sécurité des Web Services par Sylvain Maret
 

Más de Restlet

APIDays - API Design Workshop
APIDays - API Design WorkshopAPIDays - API Design Workshop
APIDays - API Design WorkshopRestlet
 
APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API LanguagesRestlet
 
APIStrat Open API Workshop
APIStrat Open API WorkshopAPIStrat Open API Workshop
APIStrat Open API WorkshopRestlet
 
DevOps DDay - Streamline DevOps Workflows With APIs
DevOps DDay - Streamline DevOps Workflows With APIsDevOps DDay - Streamline DevOps Workflows With APIs
DevOps DDay - Streamline DevOps Workflows With APIsRestlet
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NGRestlet
 
API World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API developmentAPI World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API developmentRestlet
 
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...Restlet
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016Restlet
 
Public and private APIs: differences and challenges
Public and private APIs: differences and challengesPublic and private APIs: differences and challenges
Public and private APIs: differences and challengesRestlet
 
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 LanguagesRestlet
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debateRestlet
 
Take a Groovy REST
Take a Groovy RESTTake a Groovy REST
Take a Groovy RESTRestlet
 
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...Restlet
 
GlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsRestlet
 
GlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices togetherGlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices togetherRestlet
 
Transformez vos Google Spreadsheets en API web - DevFest 2014
Transformez vos Google Spreadsheets en API web - DevFest 2014Transformez vos Google Spreadsheets en API web - DevFest 2014
Transformez vos Google Spreadsheets en API web - DevFest 2014Restlet
 
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...Restlet
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesRestlet
 
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIsDefrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIsRestlet
 
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...Restlet
 

Más de Restlet (20)

APIDays - API Design Workshop
APIDays - API Design WorkshopAPIDays - API Design Workshop
APIDays - API Design Workshop
 
APIdays 2016 - The State of Web API Languages
APIdays 2016  - The State of Web API LanguagesAPIdays 2016  - The State of Web API Languages
APIdays 2016 - The State of Web API Languages
 
APIStrat Open API Workshop
APIStrat Open API WorkshopAPIStrat Open API Workshop
APIStrat Open API Workshop
 
DevOps DDay - Streamline DevOps Workflows With APIs
DevOps DDay - Streamline DevOps Workflows With APIsDevOps DDay - Streamline DevOps Workflows With APIs
DevOps DDay - Streamline DevOps Workflows With APIs
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NG
 
API World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API developmentAPI World 2016 - A five-sided prism polarizing Web API development
API World 2016 - A five-sided prism polarizing Web API development
 
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
MuleSoft Connect 2016 - Getting started with RAML using Restlet’s visual desi...
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016
 
Public and private APIs: differences and challenges
Public and private APIs: differences and challengesPublic and private APIs: differences and challenges
Public and private APIs: differences and challenges
 
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
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debate
 
Take a Groovy REST
Take a Groovy RESTTake a Groovy REST
Take a Groovy REST
 
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
Cassandra Summit 2015 - Building a multi-tenant API PaaS with DataStax Enterp...
 
GlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIs
 
GlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices togetherGlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices together
 
Transformez vos Google Spreadsheets en API web - DevFest 2014
Transformez vos Google Spreadsheets en API web - DevFest 2014Transformez vos Google Spreadsheets en API web - DevFest 2014
Transformez vos Google Spreadsheets en API web - DevFest 2014
 
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
APIdays Paris 2014 - Workshop - Craft and Deploy Your API in a Few Clicks Wit...
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API Languages
 
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIsDefrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
 
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
 

Web APIs in Action (in French)

  • 1. WEB APIS IN ACTION SFEIR – 17 octobre 2012
  • 2. Copyright Restlet SAS – Tous droits réservés INTERVENANT ENTREPRENEUR ET EXPERT EN APIS WEB Jérôme LOUVEL – Ingénieur PolyTech’Montpellier – 12 ans d’expérience dans l’édition logicielle et le service informatique, dont 3 ans aux USA – CEO de Restlet et créateur de Restlet Framework – Expert JAX-RS 1.0 (JSR-311) – Contributeur à “RESTful Web Services” (O’Reilly) – Co-auteur de “Restlet in Action” (Manning) Contact: – jlouvel@restlet.com – Twitter : @jlouvel et Google+ – Blog : blog.restlet.com
  • 3. Copyright Restlet SAS – Tous droits réservés AGENDA 1. Tour d’horizon des APIs web (10 mn) 2. De REST aux APIs web (5 mn) 3. Introduction à Restlet Framework (5 mn) 4. API Restlet vs API JAX-RS (10 mn) 5. Prochaines étapes du projet (5 mn) 6. APISpark, Restlet as a Service (5 mn) • Durée totale : 45 mn
  • 4. TOUR D’HORIZON DES APIS WEB Partie 1/6
  • 5. Copyright Restlet SAS – Tous droits réservés LE WEB AUJOURD’HUI MOBILE + CROSS-MACHINE API Utilisateurs d’Internet : 2,3 milliards Objets connectés : 10 milliards Besoin d’échange d’info Nouvelle génération de sites web Accessible par toute machine  Web APIs ! API TV connectée Ordinateur Smartphone Tablette Applis sociales Partenaires
  • 6. Copyright Restlet SAS – Tous droits réservés L’API WEB Ç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, SIRI) 6
  • 7. Copyright Restlet SAS – Tous droits réservés L’API WEB ÇA 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) 7
  • 8. Copyright Restlet SAS – Tous droits réservés TWITTER ET LES APIS WEB REST API Database Streaming API Search API Web SiteiPhone Third-party
  • 9. Copyright Restlet SAS – Tous droits réservés TWILIO, L’API WEB EST LE PRODUIT 9
  • 10. Copyright Restlet SAS – Tous droits réservés GOOGLE MAPS IMAGE API 10 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
  • 11. Copyright Restlet SAS – Tous droits réservés AMAZON ET LES APIS WEB 11 • Authentification exotique • Anti-pattern d’API RESTful • Mais AWS reste une référence dans le cloud !
  • 12. Copyright Restlet SAS – Tous droits réservés NOMBRE D’APIS PUBLIQUES EN PLEINE CROISSANCE ! Source: ProgrammableWeb 1 million d’APIs en 2017 !
  • 13. Copyright Restlet SAS – Tous droits réservés LE PLUS IMPRESSIONNANT EST CACHÉ L’ICEBERG DES APIS PRIVÉES! Source: ProgrammableWeb
  • 14. Copyright Restlet SAS – Tous droits réservés NOMBRE DE SITES WEB UN PARALLÈLE QUI LAISSE RÊVEUR ! Source: NetCraft / Jacob Nielsen APIs web publiques
  • 15. Copyright Restlet SAS – Tous droits réservés DE NOUVEAUX ACTEURS 15 • Frameworks RESTful • Génération de doc • Frameworks NIO/HTTP • Backends as a Service • Applis mobiles • SaaS & sites riches • Open data • Internet des Objets • Sécurisation • Analytics • SDKs clients • Gestion communauté • Annuaire • Monétisation • Animation • Référencement • Oracle Jersey • JBoss RESTEasy • XINS, Swagger • Enunciate • Restlet Framework • StackMob • Parse.com • Sencha.io • Firebase • APISpark • Apigee • Mashery • 3Scale • WebServius • APISpark • ProgrammableWeb • Mashape • Alcatel Open API Platform • The Easy API • APISpark
  • 16. DE REST AUX APIS WEB Partie 2/6
  • 17. Copyright Restlet SAS – Tous droits réservés REST AU CŒUR DES APIS WEB MAIS RAREMENT DU PUR REST… Source: ProgrammableWeb • REST est souvent synonyme de non-SOAP… • L’hypermédia est rarement exploité… • JSON s’imposent de plus en plus souvent • Exigence de qualité croissante : REST comme guide
  • 18. Copyright Restlet SAS – Tous droits réservés « WEAVING THE WEB » VISION D’ORIGINE ET ÉVOLUTION DE HTTP HTTP/1.0 HTTP/1.1 REST HTTP/0.91991 1996 RFC 1945 1999 RFC 2616 2000 HTTP/1.1 bis2013 ? IETF draft W3C Notes Dissertation HTTP/2.0 IETF proposal? Vision original du Web (source: TBL) • Internet • Document • Hypertexte • Lecture et écriture
  • 19. Copyright Restlet SAS – Tous droits réservés Internet TCP/IP HTTP, REST Web 1.0 (Documents) Web 2.0 (Social) Web 3.0 (Semantic) Cloud computing (IaaS, PaaS, SaaS) Mobile web (App natives, HTML 5) Web of things (Machines) UN WEB EN CONSTANTE ÉVOLUTION + 20 ANS D’INNOVATION
  • 20. Copyright Restlet SAS – Tous droits réservés UNE HISTOIRE DE PARADIGMES LA RÉCONCILIATION? RPC Services Web (SOAP, *-RPC) REST résistance APIs Web Web des documents Web des machines convergence 1. Architecture distribuée (TCP) 2. Identification universelle (URI) 3. Interface uniforme (HTTP) 4. Hypermédia (HTML, RDF) 5. Couplage faible C/S 1. Connectivité limitée (mobilité) 2. Nouvelles IHMs (apps, objets) 3. Interactions cross-machine 4. Automatisation (M2M) 5. Couplage moyen C/S 1. Architecture distribuée 2. Automatisation (programmes) 3. Interface 4. Couplage fort C/S
  • 21. Copyright Restlet SAS – Tous droits réservés APIS WEB UNE ÉVOLUTION DE REST Principes communs 1.Architecture distribuée (TCP) 2.Identification universelle (URI) 3.Interface uniforme (HTTP) Différences significatives 1.IHMs hétérogènes • Taille d’écran (cinéma, TV, moniteur, ligne LCD, etc.) • Modes d’interaction (clavier/souris, télécommande, etc.) • Connectivité (permanente, intermittente, rare, aucune) • Automatisation (M2M, agents, capteurs, SaaS 2 SaaS, etc.) 2.Couplage moyen C/S • JSON, XML, YAML, CSV : formats d’échange de données seulement • Connaissances préalable côté client plus fortes, besoin de stabilité REST
  • 22. INTRODUCTION À RESTLET FRAMEWORK Partie 3/6
  • 23. Copyright Restlet SAS – Tous droits réservés RESTLET FRAMEWORK PROJET OPEN SOURCE CRÉÉ EN 2005 A N D R O I D G A E G W T J A V A E EJ A V A S E Langage Java O S G I Editions multiples Génération semi-auto. Framework pour exposer et consommer des APIs web de style REST
  • 24. Copyright Restlet SAS – Tous droits réservés DE NOMBREUSES RÉFÉRENCES PLUS DE 50 000 UTILISATEURS
  • 25. Copyright Restlet SAS – Tous droits réservés MULTI-PROTOCOLES MAIS, CENTRÉ SUR HTTP! Semantics Messaging Payload Conditional requests Ranged requests Caching Authentication Restlet API Restlet Engine Connecteurs: • HTTP • AJP • FTP • RIAP • CLAP • FILE • POP3 • SMTP • JDBC • SIP
  • 26. Copyright Restlet SAS – Tous droits réservés MULTI-CLOUD AUGMENTEZ LA PORTABILITÉ DE VOS APIS ET APPLIS WEB
  • 27. Copyright Restlet SAS – Tous droits réservés COMPÉTITION PLUSIEURS VISIONS DU WEB… HTTP toolkits WS-* frameworks OO web frameworks MVC web frameworks RESTful web frameworks Wicket, Tapestry Axis, CXF, XINS Spring MVC, Play! Servlet, Apache HTTP Client, Netty, etc. Restlet, Jersey, RESTeasy
  • 28. API RESTLET VS API JAX-RS Partie 4/6
  • 29. Copyright Restlet SAS – Tous droits réservés PACKAGES DE L’API RESTLET UN CŒUR COMPLET MAIS COMPACT org.restlet.data org.restlet.representation org.restlet org.restlet.resource org.restlet.routing org.restlet.security org.restlet.service org.restlet.util
  • 30. Copyright Restlet SAS – Tous droits réservés UNE API JAVA COMPLÈTE USAGE EN BIBLIOTHÈQUE OU EN FRAMEWORK
  • 31. Copyright Restlet SAS – Tous droits réservés FILTRAGE ET ROUTAGE MULTI-THREAD ET DYNAMIQUE Next Restlet Filter B C A Router B C A Route 1 Route 2 Route 3 A B C
  • 32. Copyright Restlet SAS – Tous droits réservés INTERFACES ANNOTÉES APPROCHE UNIFORME, CLIENT & SERVEUR HTTP Annotated Java interface REST API Client resource Server resource Client proxy Server subclass
  • 33. Copyright Restlet SAS – Tous droits réservés SERVICE DE CONVERSION EXTENSIBLE, SCORING, BEANS DE REPRÉSENTATION Resource XML HTML JSON State Representation bean Form Data RDF … Atom Converter service
  • 34. Copyright Restlet SAS – Tous droits réservés RESTLET API 1.1 VS JAX-RS 1.0
  • 35. Copyright Restlet SAS – Tous droits réservés RESTLET API 2.0 VS JAX-RS 1.1
  • 36. Copyright Restlet SAS – Tous droits réservés RESTLET API 2.1 VS JAX-RS 2.0
  • 37. Copyright Restlet SAS – Tous droits réservés COMPARAISON APIS JAVA 1/2 Caractéristique API Restlet 2.1 API JAX-RS 2.0 Style d’API Java Centré Ressource et héritage Centré POJO et annotations Nombre d’annotations 5 24 Entêtes HTTP supportées 50 26 Version minimum Java SE 5.0 Java SE 6.0 Alignement HTTP et REST Complet Partiel Sécurité Oui Non Routage (filtres et routeurs) Oui Limité Composants et connecteurs Oui Non Fichiers statiques Oui Non
  • 38. Copyright Restlet SAS – Tous droits réservés COMPARAISON APIS JAVA 2/2 Caractéristique API Restlet 2.1 API JAX-RS 2.0 Reverse proxy Oui Non Représentations asynchrones Oui Non Streaming HTTP Complet Limité Réponses provisionnelles Oui Non Standard JCP Non Oui Ecosystème Ouvert (Google, AWS, Oracle, IBM, MS, etc.) JCP (Oracle, RedHat, OW2, etc.) Ancienneté 7 ans 5 ans Innovation Rapide Lente
  • 39. Copyright Restlet SAS – Tous droits réservés DES STYLES DE CODAGE DIFFÉRENTS 1/2 SHOW ME THE CODE! JAX-RS API 2.0 // Get instance of Client Client client = ClientFactory.newClient(); // Get account balance String bal = client.target("http://.../atm/{cardI d}/balance") .pathParam("cardId", "112233") .queryParam("pin", "9876") .request("text/plain").get(String.cl ass); Restlet API 2.1 // Get instance of Client ClientResource client = new ClientResource(""http://.../atm/{cardId} /balance"); // Get account balance client.setPathValue("cardId", "112233"); client.setQueryValue("pin", "9876"); client.accept(MediaType.TXT_PLAIN); String bal = client.get(String.class);
  • 40. Copyright Restlet SAS – Tous droits réservés DES STYLES DE CODAGE DIFFÉRENTS 2/2 SHOW ME THE CODE! JAX-RS API 2.0 @POST @Path(“withdrawal") @Consumes("text/plain") @Produces("application/json") public Money withdraw( @PathParam("card") String card, @QueryParam("pin") String pin, String amount){ return getMoney(card, pin, amount); } Restlet API 2.1 @Post(“txt:json”) public Money withdraw(){ String card = getPathValue(“card”); String pin = getQueryValue(“pin”); String amount = getQueryValue(“amount”); return getMoney(card, pin, amount); }
  • 41. Copyright Restlet SAS – Tous droits réservés PLUS QU’UNE API JAVA C’EST LE FRAMEWORK QUI COMPTE!
  • 42. PROCHAINES ÉTAPES DU PROJET Partie 5/6
  • 43. Copyright Restlet SAS – Tous droits réservés RESTLET FRAMEWORK 2.1 (1/2) 2 ANS DE DÉVELOPPEMENTS ! • Améliorations incrémentales de l’API Restlet – Pas mal de sucre syntaxique (getQuery, getPath, 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) • 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) • 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)
  • 44. Copyright Restlet SAS – Tous droits réservés RESTLET FRAMEWORK 2.1 (2/2) SORTIE EN SEPTEMBRE 2012 • Livre « Restlet in Action » – Version papier synchro avec la version 2.1.0 • 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 • Migration vers GitHub – Historique SVN avec branches importé – Tickets Tigris.org importés – Forge Restlet automatisée mise à jour – Augmentation des contributions constatée ! • 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
  • 45. Copyright Restlet SAS – Tous droits réservés RESTLET FRAMEWORK 2.2 CYCLE COURT (1 AN) • Nouveau site web – Basé sur Twitter Bootstrap et GitHub Pages – Migration du wiki de Daisy vers Javadocs et GitHub Wiki – Nouveau tutoriel • Migration vers Google Groups – Listes de diffusion utilisateurs et développeurs encore sur Tigris.org • Migration vers Java SE 6 – Java SE 5 supporté depuis Restlet Framework 1.0 ! – Réduire la taille du code (ex: service pattern) • Améliorations incrémentales – Optimiser la taille des éditions Android et GWT – CacheService : générique et extensible – OAuth 2.0 : support de la spec. finale
  • 46. APISPARK, RESTLET AS A SERVICE Partie 6/6
  • 47. Copyright Restlet SAS – Tous droits réservés FONCTIONNALITÉS 1/2 La plate-forme tout-en-un pour APIs web • Créer votre API web rapidement – En 5 minutes à partir d’un modèle existant (API blog) – En quelques heures à partir de rien ou par personnalisation d’un modèle existant (annuaire d’APIs web disponible) – Pas de verrou grâce à une fondation open source (Restlet Framework) et un export du code de votre API web possible • Hébergement intégré – Backend scalable et réactif (faible latence, gestion intégrée) – Disponibilité permanente 24/24h et 7/7j (pas de fenêtre de maintenance) et sécurisé (confidentialité par SSL, gestion précise des autorisations) • Versions automatiques – Gérez plusieurs versions de la même API web en parallèle, sans aucun surcoût – Pas de risque d’aliéner vos utilisateurs actuels tout en vous laissant libre de faire évoluer votre API web – Cycle de vie clair (états: brouillon, publié, déprécié, archivé, supprimé)
  • 48. Copyright Restlet SAS – Tous droits réservés La plate-forme tout-en-un pour APIs web • Documentation automatisée – Toujours à jour grâce à une saisie optimisée – Accès web avec tests en live intégré – Export en PDF et HTML facile • Génération de kits clients – Facilitez l’utilisation de votre API par différents types d’utilisateurs – Support des plate-formes les plus populaires (iPhone/iPad, Android, Java, .NET, PHP, Python) • Gestion de la communauté – Gestion des utilisateurs et de leur demande d’adhésion intégrée – Communautés publiques ou privées – Envoi de messages d’annonces publics ou de messages privés – Intégration avec les réseaux sociaux FONCTIONNALITÉS 2/2
  • 49. Copyright Restlet SAS – Tous droits réservés CONSOLE APISPARK CATALOGUE D’APIS & DATA STORES
  • 50. Copyright Restlet SAS – Tous droits réservés CONSOLE APISPARK TABLEAU DE BORD
  • 51. Copyright Restlet SAS – Tous droits réservés CONSOLE APISPARK CONCEPTION D’API
  • 52. Copyright Restlet SAS – Tous droits réservés CONSOLE APISPARK ANALYSE D’APIS
  • 53. Copyright Restlet SAS – Tous droits réservés • Beta privée: en cours depuis mai 2012 • Beta publique: novembre 2012 • Version 1.0: mai 2013 • Inscrivez-vous ! http://apispark.com ROADMAP MERCI !