FROM WEB APIS TO CROSS-DEVICE WEB SITES
Create & host web APIshttp://apispark.com
June 22, 2013
Jérôme [email protected]
CEO
FROM CLASSIC WEB SITES TO WEB APIS
2000 - 2010
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
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
EXPENSIVE STACKS REQUIRED
J2EE AppServer
Java Runtime
Windows
Hardware
Near 2000
Proprietary stacks
THE IMPACT OF OPEN SOURCE
MVC Framework
Apache Tomcat
Java Runtime
Debian Linux
Hardware
Near 2005
Licensing cost reduction
Collaborative software innovation
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
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
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
REST FRAMEWORKS CAN HANDLE BOTH
REST Framework
Apache Tomcat
Java Runtime
Debian Linux
Hardware
Unifying and simplifying web developments
No need for MVC frameworks !
THE IMPACT OF CLOUD COMPUTING
REST Framework
Generic PaaS
IaaS
Hardware
Proprietary technology is back!
But time and cost benefits are too strong…
Simpler, specialized, cost effective
Similarities with BaaS no Backend to write!
THE NEXT STEP: SPECIALIZED API PAAS
API PaaS
IaaS
Hardware
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
PROGRAMMABLE WEB
Composition of public and private web APIs
Time and cost reduction
New value chains
Composite API
API nodeAPI node
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 !
THE « WEB API » ARCHITECTURE STYLE
The limits of REST
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 !
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)
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
REST AND WEB API STYLES ARE WEB BROTHERS
COMPARISON WITH WEB RPC
NEXT STEPS
• API-Craft conference in Detroit, July 2013
– http://restlet.github.io/web-api-style/
– Contribute to the project
FROM WEB APIS TO CROSS-DEVICE WEB SITES
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?
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.
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
KEEP IN TOUCH!
Printed book launched last September !
http://apispark.com
Twitter: @jlouvel