SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
FROM OPEN SOURCE TO OPEN APIS WITH RESTLET
JavaZone – September 13th, 2012
Copyright Restlet SAS – All rights reserved
SPEAKER
Thierry Boileau
– PolyTech’Montpellier engineer
– 14 years of experience in IT service industry and software
– Co-founder & community manager at Restlet SAS
– Co-author of « Restlet in Action » (Manning, Sept. 2012)
Contact:
– tboileau@restlet.com
– Blog : blog.restlet.com
Copyright Restlet SAS – All rights reserved
ABSTRACT
1. Are Open APIs more important than
Open Source? (20 mn)
2. Web APIs, ecosystem and key actors (10 mn)
3. Restlet Framework 2.1 and roadmap (20 mn)
4. APISpark, all-in-one PaaS for Web APIs (5 mn)
ARE OPEN APIS MORE IMPORTANT
THAN OPEN SOURCE ?
Part 1/4
Copyright Restlet SAS – All rights reserved
NUMBER OF PUBLIC APIS
A STEEP INCREASE !
Source: ProgrammableWeb
Copyright Restlet SAS – All rights reserved
WHAT ABOUT PRIVATE APIS?
Source: ProgrammableWeb
Copyright Restlet SAS – All rights reserved
NUMBER OF WEB SITES
LET’S COMPARE AND DREAM !
Source: NetCraft / Jacob Nielsen
Copyright Restlet SAS – All rights reserved
REST AT THE FOUNDATION OF WEB APIS
NOT FULLY EXPLOITED
Source: ProgrammableWeb
• REST is often thought as non-SOAP…
• But hypermedia is hardly exploited…
• AtomPub is more or less the most RESTful API today
• REST is not crucial to make your API a success
• REST as a guide for higher quality APIs, and standardization
Copyright Restlet SAS – All rights reserved
LET’S CONSUME OPEN APIS
• Enrich a web site (mashups, blogs/tweets streams,
Google Maps)
• Export/import SaaS (free data, change provider)
• SaaS integration (notify/web hooks,
automate/workflow)
• Composite APIs (combine several APIs in one
another)
Copyright Restlet SAS – All rights reserved
A WEB API EXPOSES…
• Mobile backend (connected, native, HTML5 apps)
• SaaS backend (HTML5/AJAX, developer/partner
API)
• Open data backend (multi-formats, developer API,
big data)
• Internet of Things (M2M, RFID, geo-localization)
Copyright Restlet SAS – All rights reserved
OPEN SOURCE IMPACT
• Cost reduction (licences)
• Innovation ecosystem (software)
2000 2005
Copyright Restlet SAS – All rights reserved
FROM THE OPEN SOURCE TO THE OPEN APIS
• Cost reduction (cloud computing)
• Cross-canal access (mobility, convergence)
2005 2010
Copyright Restlet SAS – All rights reserved
IMPACT OF THE OPEN APIS
• Cost reduction (composition of web APIs, open and private, time reduction)
• Innovation ecosystem (Web APIs markets, new chains of value)
2015
2020
Copyright Restlet SAS – All rights reserved
INSIDE AN API
• Standard Web API contract (ease concurrency)
• Sample contracts (Atom/AtomPub, AWS S3, CDMI, etc.)
Contract
Provider
#1
Provider
#2
API
#1
API
#2
WEB APIS ECOSYSTEM, KEY ACTORS
Part 2/4
Copyright Restlet SAS – All rights reserved
TWITTER AND THE WEB APIS
Copyright Restlet SAS – All rights reserved
TWILIO : THE WEB API IS THE PRODUCT
Copyright Restlet SAS – All rights reserved
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%7C
label:C%7C40.718217,-73.998284&
sensor=false
• « image/png » representation of the map resource
• A REST resource can expose binary representations
Copyright Restlet SAS – All rights reserved
AMAZON WEB SERVICES AND WEB APIS
• « exotic » authentication
• Non RESTful API
• But AWS is a reference in the cloud!
Copyright Restlet SAS – All rights reserved
NEW ACTORS
• RESTful frameworks
• Doc generation
• NIO/HTTP frameworks
• Backend as a Service
• Mobile apps
• SaaS & Rich web sites
• Open Data
• Internet of Things
• Security
• Analytics
• Client SDKs
• Community management
• Catalog
• Monetization
• Promotion
• Referencing
• Oracle Jersey
• JBoss RESTEasy
• XINS, Swagger
• Enunciate
• Restlet Framework
• StackMob
• Parse.com
• Sencha.io
• FireBase
• APISpark
• Apigee
• Mashery
• 3Scale
• WebServius
• APISpark
• Programmable Web
• Mashape
• Alcatel Open API
Platform
• The easy API
• APISpark
Dedicated
frameworks
Creation
and hosting
Manage
Market
places
RESTLET FRAMEWORK 2.1 AND ROADMAP
Part 3/4
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK
OPEN SOURCE PROJECT CREATED IN 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
Java Language
O S G I
Framework to expose and consume
RESTful web APIs
Copyright Restlet SAS – All rights reserved
SOME REFERENCES
THOUSAND OF USERS, BIG AND SMALL
Copyright Restlet SAS – All rights reserved
ARCHITECTURE
ONE JAVA API, ONE ENGINE, 37 EXTENSIONS!
Copyright Restlet SAS – All rights reserved
MULTI-PROTOCOLS
BUT, CENTERED ON HTTP!
Copyright Restlet SAS – All rights reserved
MULTI-CLOUD
INCREASE THE PORTABILITY OF YOUR WEB APIS AND APPLICATIONS
Copyright Restlet SAS – All rights reserved
SUPPORT OF GOOGLE SDC
SECURE ACCESS TO YOUR INTRANET FROM THE PUBLIC CLOUD
Copyright Restlet SAS – All rights reserved
MULTI-ECOSYSTEM
DEEPLY ROOTED IN JAVA
Copyright Restlet SAS – All rights reserved
MULTI DISTRIBUTION
Copyright Restlet SAS – All rights reserved
REST: A PARADIGM
Copyright Restlet SAS – All rights reserved
COMPETITION 1/2
SEVERAL VISIONS OF THE WEB…
HTTP toolkits
WS-*
frameworks
OO web
frameworks
MVC web
frameworks
RESTful web
framework
Wicket, Tapestry
Axis, CXF, XINS
Spring MVC, Play!
Servlet, Apache HTTP Client, Netty, etc.
Copyright Restlet SAS – All rights reserved
COMPETITION 2/2
USE THE RIGHT PARADIGM !
Focus JAX-RS Focus MVCFocus RPC
RESTLET API VS JAX-RS API
Part 2-1/4
Copyright Restlet SAS – All rights reserved
RESTLET API PACKAGES
COMPLETE CORE AND STILL 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
COMPLETE JAVA API
USABLE AS A LIBRARY OR AS A FRAMEWORK
Copyright Restlet SAS – All rights reserved
FILTER AND ROUTING
MULTI-THREADED AND DYNAMIC
Next Restlet
Filter
B
C
A
Router
B
C
A
Route 1
Route 2
Route 3
A
B
C
Copyright Restlet SAS – All rights reserved
ANNOTATED INTERFACES
UNIFY BOTH CLIENT AND SERVER CODE
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();
}
Copyright Restlet SAS – All rights reserved
CONVERSION SERVICE
EXTENSIBLE, SCORING, REPRESENTATION BEANS
Resource
XML
HTML
JSON
State
Representation
bean
Form Data
RDF
…
Atom
Converter
service
Copyright Restlet SAS – Tous droits réservés
CLIENT AND SERVEUR
MULTI-LEVEL API
Copyright Restlet SAS – Tous droits réservés
RESTLET API 2.1 VS JAX-RS 2.0
Copyright Restlet SAS – All rights reserved
COMPARING JAVA APIS 1/2
Feature Restlet API 2.1 JAX-RS API 2.0
Java API style Centered on
Resource and
based on
inheritance
Centered on POJO
and annotations
Number of annotations 5 24
Supported HTTP headers 50 26
Minimum version Java SE 5.0 Java SE 6.0
Alignment on HTTP and REST Complete, almost Partial
Security Yes No
Routing (filters and routers) Yes Limited
Components and connectors Yes No
Static files Yes No
Copyright Restlet SAS – All rights reserved
COMPARING JAVA APIS 2/2
Characteristic API Restlet 2.1 API JAX-RS 2.0
Reverse proxy Yes No
Asynchronous representations Yes No
Streaming HTTP Complete Limited
Réponses provisionnelles Yes No
JCP standard No Yes
Ecosystem Open (Google, AWS,
Oracle, IBM, MS, etc.)
JCP (Oracle, RedHat,
OW2, etc.)
Age 7 years 5 years
Innovation Quick Slower
Copyright Restlet SAS – Tous droits réservés
DIFFERENT CODING STYLES 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
DIFFERENT CODING STYLES 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);
}
ROADMAP
Partie 2-2/4
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK 2.1 (1/2)
2 YEARS OF WORK !
• Incremental enhancement on the Restlet API
– Syntax sugar (getQuery, getPath, etc.)
– Enhanced annotations. Example: @Get("form|xml:json?level=2")
– Easy logging of individual requests
– Client-side ConnegService, DecoderService
– Manage lack of chunk encoding on client side for the GAE platform
– EMF extension (XMI/XML converter), HTML (multi-part upload)
• Enhanced security APIs
– Support of AWS S3, AWS Query, Cookie and GAE schemes
– Support of Google Secure Data Connector (SDC) outside GAE
– New OAuth 2.0 and OpenID 2.0 extensions (draft specs)
• New internal HTTP connector
– Non blocking NIO design, few threads
– Zero dependency, centered HTTP/Restlet, asynchronous representation read
– extensible (SIP extension)
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK 2.1 (2/2)
RELEASED IN SEPTEMBER 2012
• « Restlet in Action » book
– Paper version synchronised with version 2.1.0
• Option « Apache Public License 2.0 »
– In addition to EPL 1.0, LGPL 2.1/3.0 et CDDL 1.0
– Commerciales licences available if necessary
• Migration to GitHub
– SVN history with branches imported
– Import of Tigris.org issues
– Increased the number of contributions !
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK 2.2 (1/2)
LISTEN TO THE COMMUNITY
• Migration to Google Groups
– Discussion lists for users and developers still on
Tigris.org
• Migration to StackOverflow
– Already used for simple questions and bugs
– Increase the quality of exchanges on the list
• Migration to Java SE 6
– Java SE 5 supported since Restlet Framework 1.0 !
– Reduce the size of the code (ex: service pattern)
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK 2.2 (2/2)
INCREMENTAL ENHANCEMENT
• Incremental enhancement
– Optimize the size of Android and GWT editions
– CacheService : extensible and generic
– OSGi edition : fully dynamic management
– Injection : Guice, Spring (enhancement)
• Native JavaScript port
– Same abstraction level as Java
– Client side (browser/XHR and Node.JS)
– Server side (Node.JS)
– Prototype already available!
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK 3.0 (1/2)
FROM A FRAMEWORK TO A PLATFORM
APISpark
Closed source
Open source
APIsweb
simples
Cloud
Sophisticated
Web APIs
Clients usages
Apps
Framework
Forge
Studio
Restlet Platform
Export
Copyright Restlet SAS – All rights reserved
RESTLET FRAMEWORK 3.0 (2/2)
MAIN DIRECTIONS
• Web site : new design and tutorial
• Restlet Studio : IDE based on Eclipse 4.0
• Restlet Apps : Search application
• Internal connector
– Unify client and server runtime
– Unique threads pool (via TaskService)
– SPDY support (on NIO)
• Internal converter
– Support of multi-formats (XML, JSON, RDF, Form, CSV, etc.)
– Support of hyperlinks and HTTP metadata
• New Port : Google Dart
• Support HTML 5 : Server-Sent Events, Cross-Origin policies
APISPARK, RESTLET AS A SERVICE
Partie 4/4
Copyright Restlet SAS – All rights reserved
OFFER PRESENTATION 1/2
All-in-one platform for Web APIs
• Create your Web API quickly
– 5 minutes scenario based on existing API template (e.g. blog API)
– Few hours scenario from scratch or by customizing an existing API template
(from the APIs catalog)
– Open source foundation (Restlet Framework) , the full code can be exported
• Integrated hosting
– Scalable and reactive backend (low latency, integrated management)
– Permanent availability 4/24h et 7/7d (no maintenance window) and
securized (SSL confidentiality, precise management of autorisations)
• Automatic releasing
– Manage several versions of your APIs at the same time at the same cost
– Free to update your APIs with no impact on current users
– Simple and clear lifecycle (draft, published, deprecated, archived, removed)
Copyright Restlet SAS – All rights reserved
All-in-one platform for Web APIs
• Automatic documentation
– Always up-to-date
– Test your API live on the Net
– Easy export in PDF and HTML
• Clients kits generation
– Ease the use of your API
– Support of most popular platforms (iPhone/iPad, Android, Java, .NET, PHP,
Python)
• Community management
– Manage the users and their signins
– Private or public communities
– Send publics announcements or private messages
– Integration with social networks
OFFRE PRESENTATION 2/2
Copyright Restlet SAS – All rights reserved
1. Backends for connected Mobile applications
– native or HTML 5
2. Backend for SaaS solution
– HTML 5/AJAX, API developer/partner
3. Backend for connected objects
– Perso or Pro, M2M, RFID, GPS, 3G, geoloc.
4. Backend for Open Data
– Multi-formats, API developer, Big Data
USE CASES
Copyright Restlet SAS – All rights reserved
CATALOG OF APIS
Copyright Restlet SAS – All rights reserved
DESIGN YOUR WEB API
Copyright Restlet SAS – All rights reserved
ANALYTICS
Copyright Restlet SAS – All rights reserved
• Private Beta : April 2012
• Public Beta : October 2012
• Version 1.0 : Last quarter 2012
• Join-us !
http://apispark.com
ROADMAP
Copyright Restlet SAS – All rights reserved
CONCLUSION
WHY RESTLET ?
• Learning REST and HTTP is a long term investment
– it takes time, as for object-oriented
– first benefits easy to obtain
– be pragmatic for the rest
• Web APIs give opportunities
– exposition (server side) & consuming (client side)
– APIs mashups, cloud workflows
• Restlet Framework
– Powerful open source solution
• APISpark
– Simple, all-in-one on-line solution
THANKS!

Weitere ähnliche Inhalte

Was ist angesagt?

The RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with OracleThe RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with OracleEmiliano Pecis
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVCIndicThreads
 
Overview of RESTful web services
Overview of RESTful web servicesOverview of RESTful web services
Overview of RESTful web servicesnbuddharaju
 
Build an API the right way
Build an API the right wayBuild an API the right way
Build an API the right waySoftware Guru
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding RESTNitin Pande
 
Restful web services by Sreeni Inturi
Restful web services by Sreeni InturiRestful web services by Sreeni Inturi
Restful web services by Sreeni InturiSreeni I
 
Whats New in the Http Service Specification - Felix Meschberger
Whats New in the Http Service Specification - Felix MeschbergerWhats New in the Http Service Specification - Felix Meschberger
Whats New in the Http Service Specification - Felix Meschbergermfrancis
 
Drupal Services 3 - Drupal Dev Days 2011, Brussels
Drupal Services 3 - Drupal Dev Days 2011, BrusselsDrupal Services 3 - Drupal Dev Days 2011, Brussels
Drupal Services 3 - Drupal Dev Days 2011, Brusselsheyrocker
 
Rest & RESTful WebServices
Rest & RESTful WebServicesRest & RESTful WebServices
Rest & RESTful WebServicesPrateek Tandon
 
RESTful services
RESTful servicesRESTful services
RESTful servicesgouthamrv
 
RESTFul WebApp Concept
RESTFul WebApp ConceptRESTFul WebApp Concept
RESTFul WebApp ConceptDian Aditya
 
Learn REST in 18 Slides
Learn REST in 18 SlidesLearn REST in 18 Slides
Learn REST in 18 SlidesSuraj Gupta
 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsStormpath
 

Was ist angesagt? (18)

The RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with OracleThe RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with Oracle
 
Poli 2.0 - APIs
Poli 2.0 - APIsPoli 2.0 - APIs
Poli 2.0 - APIs
 
REST API Design
REST API DesignREST API Design
REST API Design
 
Rest web services
Rest web servicesRest web services
Rest web services
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVC
 
Overview of RESTful web services
Overview of RESTful web servicesOverview of RESTful web services
Overview of RESTful web services
 
Build an API the right way
Build an API the right wayBuild an API the right way
Build an API the right way
 
Services Stanford 2012
Services Stanford 2012Services Stanford 2012
Services Stanford 2012
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding REST
 
Restful web services by Sreeni Inturi
Restful web services by Sreeni InturiRestful web services by Sreeni Inturi
Restful web services by Sreeni Inturi
 
Whats New in the Http Service Specification - Felix Meschberger
Whats New in the Http Service Specification - Felix MeschbergerWhats New in the Http Service Specification - Felix Meschberger
Whats New in the Http Service Specification - Felix Meschberger
 
Drupal Services 3 - Drupal Dev Days 2011, Brussels
Drupal Services 3 - Drupal Dev Days 2011, BrusselsDrupal Services 3 - Drupal Dev Days 2011, Brussels
Drupal Services 3 - Drupal Dev Days 2011, Brussels
 
Rest & RESTful WebServices
Rest & RESTful WebServicesRest & RESTful WebServices
Rest & RESTful WebServices
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
RESTFul WebApp Concept
RESTFul WebApp ConceptRESTFul WebApp Concept
RESTFul WebApp Concept
 
Learn REST in 18 Slides
Learn REST in 18 SlidesLearn REST in 18 Slides
Learn REST in 18 Slides
 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIs
 
eZ Publish REST API v2
eZ Publish REST API v2eZ Publish REST API v2
eZ Publish REST API v2
 

Ähnlich wie From Open Source to Open API with Restlet

Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Capgemini
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST APIstephenbhadran
 
2016 06 - design your api management strategy - axway - Api Management
2016 06 - design your api management strategy - axway - Api Management2016 06 - design your api management strategy - axway - Api Management
2016 06 - design your api management strategy - axway - Api ManagementSmartWave
 
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
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a ServicePaul Fremantle
 
apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...
apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...
apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...apidays
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture StrategyOCTO Technology
 
Stratos and PaaS for London Java Community
Stratos and PaaS for London Java CommunityStratos and PaaS for London Java Community
Stratos and PaaS for London Java CommunityPaul Fremantle
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentHenry J. Kröger
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsPast, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsSmartBear
 
Next gen tech from QuickXpert Infotech
Next gen tech   from QuickXpert InfotechNext gen tech   from QuickXpert Infotech
Next gen tech from QuickXpert InfotechNarendra Jakhotia
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesAlcide
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on OpenstackOpen Stack
 
REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best PracticesMarta Rauch
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...
Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...
Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...JoAnna Cheshire
 
Cloud Side: REST APIs - Best practices
Cloud Side: REST APIs - Best practicesCloud Side: REST APIs - Best practices
Cloud Side: REST APIs - Best practicesNicolas FOATA
 

Ähnlich wie From Open Source to Open API with Restlet (20)

Oracle API Gateway
Oracle API GatewayOracle API Gateway
Oracle API Gateway
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST API
 
2016 06 - design your api management strategy - axway - Api Management
2016 06 - design your api management strategy - axway - Api Management2016 06 - design your api management strategy - axway - Api Management
2016 06 - design your api management strategy - axway - Api Management
 
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
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a Service
 
apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...
apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...
apidays Hong Kong - Why is API Gateway essential to business, Zhiyuan Ju, API...
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
Stratos and PaaS for London Java Community
Stratos and PaaS for London Java CommunityStratos and PaaS for London Java Community
Stratos and PaaS for London Java Community
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsPast, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web Apps
 
Next gen tech from QuickXpert Infotech
Next gen tech   from QuickXpert InfotechNext gen tech   from QuickXpert Infotech
Next gen tech from QuickXpert Infotech
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
Mashups
MashupsMashups
Mashups
 
PaaS on Openstack
PaaS on OpenstackPaaS on Openstack
PaaS on Openstack
 
REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best Practices
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...
Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...
Microservices Architectural Maturity Matrix, Token Based Authority, API Gatew...
 
Cloud Side: REST APIs - Best practices
Cloud Side: REST APIs - Best practicesCloud Side: REST APIs - Best practices
Cloud Side: REST APIs - Best practices
 

Mehr von 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
 

Mehr von 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 ...
 

Kürzlich hochgeladen

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

From Open Source to Open API with Restlet

  • 1. FROM OPEN SOURCE TO OPEN APIS WITH RESTLET JavaZone – September 13th, 2012
  • 2. Copyright Restlet SAS – All rights reserved SPEAKER Thierry Boileau – PolyTech’Montpellier engineer – 14 years of experience in IT service industry and software – Co-founder & community manager at Restlet SAS – Co-author of « Restlet in Action » (Manning, Sept. 2012) Contact: – tboileau@restlet.com – Blog : blog.restlet.com
  • 3. Copyright Restlet SAS – All rights reserved ABSTRACT 1. Are Open APIs more important than Open Source? (20 mn) 2. Web APIs, ecosystem and key actors (10 mn) 3. Restlet Framework 2.1 and roadmap (20 mn) 4. APISpark, all-in-one PaaS for Web APIs (5 mn)
  • 4. ARE OPEN APIS MORE IMPORTANT THAN OPEN SOURCE ? Part 1/4
  • 5. Copyright Restlet SAS – All rights reserved NUMBER OF PUBLIC APIS A STEEP INCREASE ! Source: ProgrammableWeb
  • 6. Copyright Restlet SAS – All rights reserved WHAT ABOUT PRIVATE APIS? Source: ProgrammableWeb
  • 7. Copyright Restlet SAS – All rights reserved NUMBER OF WEB SITES LET’S COMPARE AND DREAM ! Source: NetCraft / Jacob Nielsen
  • 8. Copyright Restlet SAS – All rights reserved REST AT THE FOUNDATION OF WEB APIS NOT FULLY EXPLOITED Source: ProgrammableWeb • REST is often thought as non-SOAP… • But hypermedia is hardly exploited… • AtomPub is more or less the most RESTful API today • REST is not crucial to make your API a success • REST as a guide for higher quality APIs, and standardization
  • 9. Copyright Restlet SAS – All rights reserved LET’S CONSUME OPEN APIS • Enrich a web site (mashups, blogs/tweets streams, Google Maps) • Export/import SaaS (free data, change provider) • SaaS integration (notify/web hooks, automate/workflow) • Composite APIs (combine several APIs in one another)
  • 10. Copyright Restlet SAS – All rights reserved A WEB API EXPOSES… • Mobile backend (connected, native, HTML5 apps) • SaaS backend (HTML5/AJAX, developer/partner API) • Open data backend (multi-formats, developer API, big data) • Internet of Things (M2M, RFID, geo-localization)
  • 11. Copyright Restlet SAS – All rights reserved OPEN SOURCE IMPACT • Cost reduction (licences) • Innovation ecosystem (software) 2000 2005
  • 12. Copyright Restlet SAS – All rights reserved FROM THE OPEN SOURCE TO THE OPEN APIS • Cost reduction (cloud computing) • Cross-canal access (mobility, convergence) 2005 2010
  • 13. Copyright Restlet SAS – All rights reserved IMPACT OF THE OPEN APIS • Cost reduction (composition of web APIs, open and private, time reduction) • Innovation ecosystem (Web APIs markets, new chains of value) 2015 2020
  • 14. Copyright Restlet SAS – All rights reserved INSIDE AN API • Standard Web API contract (ease concurrency) • Sample contracts (Atom/AtomPub, AWS S3, CDMI, etc.) Contract Provider #1 Provider #2 API #1 API #2
  • 15. WEB APIS ECOSYSTEM, KEY ACTORS Part 2/4
  • 16. Copyright Restlet SAS – All rights reserved TWITTER AND THE WEB APIS
  • 17. Copyright Restlet SAS – All rights reserved TWILIO : THE WEB API IS THE PRODUCT
  • 18. Copyright Restlet SAS – All rights reserved 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%7C label:C%7C40.718217,-73.998284& sensor=false • « image/png » representation of the map resource • A REST resource can expose binary representations
  • 19. Copyright Restlet SAS – All rights reserved AMAZON WEB SERVICES AND WEB APIS • « exotic » authentication • Non RESTful API • But AWS is a reference in the cloud!
  • 20. Copyright Restlet SAS – All rights reserved NEW ACTORS • RESTful frameworks • Doc generation • NIO/HTTP frameworks • Backend as a Service • Mobile apps • SaaS & Rich web sites • Open Data • Internet of Things • Security • Analytics • Client SDKs • Community management • Catalog • Monetization • Promotion • Referencing • Oracle Jersey • JBoss RESTEasy • XINS, Swagger • Enunciate • Restlet Framework • StackMob • Parse.com • Sencha.io • FireBase • APISpark • Apigee • Mashery • 3Scale • WebServius • APISpark • Programmable Web • Mashape • Alcatel Open API Platform • The easy API • APISpark Dedicated frameworks Creation and hosting Manage Market places
  • 21. RESTLET FRAMEWORK 2.1 AND ROADMAP Part 3/4
  • 22. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK OPEN SOURCE PROJECT CREATED IN 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 Java Language O S G I Framework to expose and consume RESTful web APIs
  • 23. Copyright Restlet SAS – All rights reserved SOME REFERENCES THOUSAND OF USERS, BIG AND SMALL
  • 24. Copyright Restlet SAS – All rights reserved ARCHITECTURE ONE JAVA API, ONE ENGINE, 37 EXTENSIONS!
  • 25. Copyright Restlet SAS – All rights reserved MULTI-PROTOCOLS BUT, CENTERED ON HTTP!
  • 26. Copyright Restlet SAS – All rights reserved MULTI-CLOUD INCREASE THE PORTABILITY OF YOUR WEB APIS AND APPLICATIONS
  • 27. Copyright Restlet SAS – All rights reserved SUPPORT OF GOOGLE SDC SECURE ACCESS TO YOUR INTRANET FROM THE PUBLIC CLOUD
  • 28. Copyright Restlet SAS – All rights reserved MULTI-ECOSYSTEM DEEPLY ROOTED IN JAVA
  • 29. Copyright Restlet SAS – All rights reserved MULTI DISTRIBUTION
  • 30. Copyright Restlet SAS – All rights reserved REST: A PARADIGM
  • 31. Copyright Restlet SAS – All rights reserved COMPETITION 1/2 SEVERAL VISIONS OF THE WEB… HTTP toolkits WS-* frameworks OO web frameworks MVC web frameworks RESTful web framework Wicket, Tapestry Axis, CXF, XINS Spring MVC, Play! Servlet, Apache HTTP Client, Netty, etc.
  • 32. Copyright Restlet SAS – All rights reserved COMPETITION 2/2 USE THE RIGHT PARADIGM ! Focus JAX-RS Focus MVCFocus RPC
  • 33. RESTLET API VS JAX-RS API Part 2-1/4
  • 34. Copyright Restlet SAS – All rights reserved RESTLET API PACKAGES COMPLETE CORE AND STILL COMPACT org.restlet.data org.restlet.representation org.restlet org.restlet.resource org.restlet.routing org.restlet.security org.restlet.service org.restlet.util
  • 35. Copyright Restlet SAS – Tous droits réservés COMPLETE JAVA API USABLE AS A LIBRARY OR AS A FRAMEWORK
  • 36. Copyright Restlet SAS – All rights reserved FILTER AND ROUTING MULTI-THREADED AND DYNAMIC Next Restlet Filter B C A Router B C A Route 1 Route 2 Route 3 A B C
  • 37. Copyright Restlet SAS – All rights reserved ANNOTATED INTERFACES UNIFY BOTH CLIENT AND SERVER CODE 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(); }
  • 38. Copyright Restlet SAS – All rights reserved CONVERSION SERVICE EXTENSIBLE, SCORING, REPRESENTATION BEANS Resource XML HTML JSON State Representation bean Form Data RDF … Atom Converter service
  • 39. Copyright Restlet SAS – Tous droits réservés CLIENT AND SERVEUR MULTI-LEVEL API
  • 40. Copyright Restlet SAS – Tous droits réservés RESTLET API 2.1 VS JAX-RS 2.0
  • 41. Copyright Restlet SAS – All rights reserved COMPARING JAVA APIS 1/2 Feature Restlet API 2.1 JAX-RS API 2.0 Java API style Centered on Resource and based on inheritance Centered on POJO and annotations Number of annotations 5 24 Supported HTTP headers 50 26 Minimum version Java SE 5.0 Java SE 6.0 Alignment on HTTP and REST Complete, almost Partial Security Yes No Routing (filters and routers) Yes Limited Components and connectors Yes No Static files Yes No
  • 42. Copyright Restlet SAS – All rights reserved COMPARING JAVA APIS 2/2 Characteristic API Restlet 2.1 API JAX-RS 2.0 Reverse proxy Yes No Asynchronous representations Yes No Streaming HTTP Complete Limited Réponses provisionnelles Yes No JCP standard No Yes Ecosystem Open (Google, AWS, Oracle, IBM, MS, etc.) JCP (Oracle, RedHat, OW2, etc.) Age 7 years 5 years Innovation Quick Slower
  • 43. Copyright Restlet SAS – Tous droits réservés DIFFERENT CODING STYLES 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);
  • 44. Copyright Restlet SAS – Tous droits réservés DIFFERENT CODING STYLES 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); }
  • 46. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK 2.1 (1/2) 2 YEARS OF WORK ! • Incremental enhancement on the Restlet API – Syntax sugar (getQuery, getPath, etc.) – Enhanced annotations. Example: @Get("form|xml:json?level=2") – Easy logging of individual requests – Client-side ConnegService, DecoderService – Manage lack of chunk encoding on client side for the GAE platform – EMF extension (XMI/XML converter), HTML (multi-part upload) • Enhanced security APIs – Support of AWS S3, AWS Query, Cookie and GAE schemes – Support of Google Secure Data Connector (SDC) outside GAE – New OAuth 2.0 and OpenID 2.0 extensions (draft specs) • New internal HTTP connector – Non blocking NIO design, few threads – Zero dependency, centered HTTP/Restlet, asynchronous representation read – extensible (SIP extension)
  • 47. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK 2.1 (2/2) RELEASED IN SEPTEMBER 2012 • « Restlet in Action » book – Paper version synchronised with version 2.1.0 • Option « Apache Public License 2.0 » – In addition to EPL 1.0, LGPL 2.1/3.0 et CDDL 1.0 – Commerciales licences available if necessary • Migration to GitHub – SVN history with branches imported – Import of Tigris.org issues – Increased the number of contributions !
  • 48. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK 2.2 (1/2) LISTEN TO THE COMMUNITY • Migration to Google Groups – Discussion lists for users and developers still on Tigris.org • Migration to StackOverflow – Already used for simple questions and bugs – Increase the quality of exchanges on the list • Migration to Java SE 6 – Java SE 5 supported since Restlet Framework 1.0 ! – Reduce the size of the code (ex: service pattern)
  • 49. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK 2.2 (2/2) INCREMENTAL ENHANCEMENT • Incremental enhancement – Optimize the size of Android and GWT editions – CacheService : extensible and generic – OSGi edition : fully dynamic management – Injection : Guice, Spring (enhancement) • Native JavaScript port – Same abstraction level as Java – Client side (browser/XHR and Node.JS) – Server side (Node.JS) – Prototype already available!
  • 50. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK 3.0 (1/2) FROM A FRAMEWORK TO A PLATFORM APISpark Closed source Open source APIsweb simples Cloud Sophisticated Web APIs Clients usages Apps Framework Forge Studio Restlet Platform Export
  • 51. Copyright Restlet SAS – All rights reserved RESTLET FRAMEWORK 3.0 (2/2) MAIN DIRECTIONS • Web site : new design and tutorial • Restlet Studio : IDE based on Eclipse 4.0 • Restlet Apps : Search application • Internal connector – Unify client and server runtime – Unique threads pool (via TaskService) – SPDY support (on NIO) • Internal converter – Support of multi-formats (XML, JSON, RDF, Form, CSV, etc.) – Support of hyperlinks and HTTP metadata • New Port : Google Dart • Support HTML 5 : Server-Sent Events, Cross-Origin policies
  • 52. APISPARK, RESTLET AS A SERVICE Partie 4/4
  • 53. Copyright Restlet SAS – All rights reserved OFFER PRESENTATION 1/2 All-in-one platform for Web APIs • Create your Web API quickly – 5 minutes scenario based on existing API template (e.g. blog API) – Few hours scenario from scratch or by customizing an existing API template (from the APIs catalog) – Open source foundation (Restlet Framework) , the full code can be exported • Integrated hosting – Scalable and reactive backend (low latency, integrated management) – Permanent availability 4/24h et 7/7d (no maintenance window) and securized (SSL confidentiality, precise management of autorisations) • Automatic releasing – Manage several versions of your APIs at the same time at the same cost – Free to update your APIs with no impact on current users – Simple and clear lifecycle (draft, published, deprecated, archived, removed)
  • 54. Copyright Restlet SAS – All rights reserved All-in-one platform for Web APIs • Automatic documentation – Always up-to-date – Test your API live on the Net – Easy export in PDF and HTML • Clients kits generation – Ease the use of your API – Support of most popular platforms (iPhone/iPad, Android, Java, .NET, PHP, Python) • Community management – Manage the users and their signins – Private or public communities – Send publics announcements or private messages – Integration with social networks OFFRE PRESENTATION 2/2
  • 55. Copyright Restlet SAS – All rights reserved 1. Backends for connected Mobile applications – native or HTML 5 2. Backend for SaaS solution – HTML 5/AJAX, API developer/partner 3. Backend for connected objects – Perso or Pro, M2M, RFID, GPS, 3G, geoloc. 4. Backend for Open Data – Multi-formats, API developer, Big Data USE CASES
  • 56. Copyright Restlet SAS – All rights reserved CATALOG OF APIS
  • 57. Copyright Restlet SAS – All rights reserved DESIGN YOUR WEB API
  • 58. Copyright Restlet SAS – All rights reserved ANALYTICS
  • 59. Copyright Restlet SAS – All rights reserved • Private Beta : April 2012 • Public Beta : October 2012 • Version 1.0 : Last quarter 2012 • Join-us ! http://apispark.com ROADMAP
  • 60. Copyright Restlet SAS – All rights reserved CONCLUSION WHY RESTLET ? • Learning REST and HTTP is a long term investment – it takes time, as for object-oriented – first benefits easy to obtain – be pragmatic for the rest • Web APIs give opportunities – exposition (server side) & consuming (client side) – APIs mashups, cloud workflows • Restlet Framework – Powerful open source solution • APISpark – Simple, all-in-one on-line solution