from web apis to cross-device web sites
DESCRIPTION
APIdays San Francisco, 06/22/2013. Jérôme Louvel.TRANSCRIPT
![Page 1: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/1.jpg)
FROM WEB APIS TO CROSS-DEVICE WEB SITES
Create & host web APIshttp://apispark.com
June 22, 2013
Jérôme [email protected]
CEO
![Page 2: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/2.jpg)
FROM CLASSIC WEB SITES TO WEB APIS
2000 - 2010
![Page 3: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/3.jpg)
CLASSIC WEB SITE
SITE
Tool that allows a company to make key information
easily accessible by end users,
as hypermedia documents,
WEB via the web protocols, offering the broadest accessibility.
Web Site
HTML pages
Browser
HTTP/1.1
![Page 4: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/4.jpg)
CLASSIC WEB SITES ARE PERFECTLY RESTFUL
REST purpose is the web of hypertext
Constraints Notes
Client-server client = user interface concerns (better UI portability)
Stateless each client request must contain all the info necessary for the server to respond
Cache allow client to reuse response data in a controlled manner
Uniform interface efficient for large-grain hypermedia data transfersnot optimal for other forms of architectural interaction
Layered system each component only knows about the immediate component/layer it is interacting with
Code on demand client component doesn’t know how to process the resources it has access to code representing this know-how is retrieved by the client and executed locally
![Page 5: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/5.jpg)
EXPENSIVE STACKS REQUIRED
J2EE AppServer
Java Runtime
Windows
Hardware
Near 2000
Proprietary stacks
![Page 6: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/6.jpg)
THE IMPACT OF OPEN SOURCE
MVC Framework
Apache Tomcat
Java Runtime
Debian Linux
Hardware
Near 2005
Licensing cost reduction
Collaborative software innovation
![Page 7: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/7.jpg)
EMERGENCE OF WEB APIS
E-Commercepionneers of APIs
Social webbillionaires of APIs
Cloud ComputingAPIs as a Product
MappingAPIs to see better
Mobile AppsAPIs to stay connected
Open DataAPIs to share data
![Page 8: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/8.jpg)
WHAT IS A WEB API?
A Tool that allows a company to make key information
P easily accessible by developers,
I in a controlled way without exposing implementation details,
WEB via the web protocols.
Web API
Device or program
![Page 9: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/9.jpg)
WEB SITE + WEB API
REST FrameworkMVC Framework
Apache Tomcat
Java Runtime
Debian Linux
Hardware
Web APIs developed as a separate project
You share the same database and container
![Page 10: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/10.jpg)
REST FRAMEWORKS CAN HANDLE BOTH
REST Framework
Apache Tomcat
Java Runtime
Debian Linux
Hardware
Unifying and simplifying web developments
No need for MVC frameworks !
![Page 11: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/11.jpg)
THE IMPACT OF CLOUD COMPUTING
REST Framework
Generic PaaS
IaaS
Hardware
Proprietary technology is back!
But time and cost benefits are too strong…
![Page 12: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/12.jpg)
Simpler, specialized, cost effective
Similarities with BaaS no Backend to write!
THE NEXT STEP: SPECIALIZED API PAAS
API PaaS
IaaS
Hardware
![Page 13: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/13.jpg)
ANATOMY OF A WEB API
It’s less about the stack and more about the value provided
Standard API contracts are key : AWS S3, Google Reader, Atom, etc.
API
Contract
API
Impl. #1
API
Impl. #2
API
provider
#1
API
provider
#2
![Page 14: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/14.jpg)
PROGRAMMABLE WEB
Composition of public and private web APIs
Time and cost reduction
New value chains
Composite API
API nodeAPI node
![Page 15: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/15.jpg)
WHAT REALLY MATTERS NOW?
• The service or data that you are offering• Its cost of development, maintenance and
operations• Much less its open source nature
– AWS, Twilio, Stripe and GitHub are proprietary!
• As long as you have an Open API for it– and a freemium access
Open APIs are the Open Sourcecomponents of the Cloud Computing era !
![Page 16: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/16.jpg)
THE « WEB API » ARCHITECTURE STYLE
The limits of REST
![Page 17: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/17.jpg)
WHAT REST IS NOT?
• A buzzword for non-SOAP web APIs
– BTW, most web APIs aren’t « REST APIs »
– Most are not even RESTful / REST-minded but JSON-RPC API
• Designed for non hypermedia-driven applications
• Suited for machine-to-machine interactions
– Require pre-existing knowledge, coupling between C/S
• We need to stop the confusion !
![Page 18: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/18.jpg)
A NEW ARCHITECTURE STYLE NEEDED
• Keeping the best of REST
– resource-orientation (URI, representations)
– network interface (content negotiation, caching, conditional methods, etc.)
• Replacing the rest of REST
– no more HATEOAS blindly applied
– mobile access is critical (off-line, small grained)
![Page 19: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/19.jpg)
THE « WEB API » STYLE
Architecture style for Resource-Oriented Web APIs
Constraints Notes
Client-server client = machine (program or device)
Stateless identical to REST
Cache identical to REST
Custom interface predefined set of resources and representationsrequires coordination between clients and servers
Layered system identical to REST
Mobility intermittent and mobile Internet connectivity by design
![Page 20: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/20.jpg)
REST AND WEB API STYLES ARE WEB BROTHERS
![Page 21: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/21.jpg)
COMPARISON WITH WEB RPC
![Page 22: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/22.jpg)
NEXT STEPS
• API-Craft conference in Detroit, July 2013
– http://restlet.github.io/web-api-style/
– Contribute to the project
![Page 23: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/23.jpg)
FROM WEB APIS TO CROSS-DEVICE WEB SITES
![Page 24: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/24.jpg)
WEB APIS ARE NOT THE MOST IMPORTANT
• They only give access to something else
– valuable data, service, device
• End-users/consumers don’t care about them
• Business persons don’t really understandthem and will likely never do so
• What does really matter then?
![Page 25: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/25.jpg)
A NEW GENERATION OF WEB SITES !
Web Site
Pages + API
Browser
Connectedmobile devices
Smartenvironnement
Partner Internal IS
CROSS
DEVICE
SITE
Tool that allows a company to make strategic information
easily accessible by any kind of machine, on behalf of humans,
using best UI paradigm in the given context for a consistent UX,
WEB via the web protocols.
![Page 26: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/26.jpg)
FINAL THOUGHTS
• The « API economy » is an intermediary step
• APIs enable the Cross-device User eXperience
• Everyone will care for it!
Source: Wired / June 2013
![Page 27: From Web APIs to Cross-Device Web Sites](https://reader033.vdocuments.us/reader033/viewer/2022060108/554f6b05b4c905c8088b51ae/html5/thumbnails/27.jpg)
KEEP IN TOUCH!
Printed book launched last September !
http://apispark.com
Twitter: @jlouvel