Published on February 22, 2014
FROM WEB APIS TO CROSS-DEVICE WEB SITES Create & host web APIs http://apispark.com Jérôme LOUVEL email@example.com CEO June 22, 2013
2000 - 2010 FROM CLASSIC WEB SITES TO WEB APIS
CLASSIC WEB SITE Browser HTTP/1.1 HTML pages Web Site Tool that allows a company to make key information SITE easily accessible by end users, as hypermedia documents, WEB via the web protocols, offering the broadest accessibility.
CLASSIC WEB SITES ARE PERFECTLY RESTFUL 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 transfers not 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 knowhow is retrieved by the client and executed locally REST purpose is the web of hypertext
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-Commerce Social web Cloud Computing pionneers of APIs billionaires of APIs APIs as a Product Mapping Mobile Apps Open Data APIs to see better APIs to stay connected APIs to share data
WHAT IS A WEB API? Device or program Web API A P I WEB Tool that allows a company to make key information easily accessible by developers, in a controlled way without exposing implementation details, via the web protocols.
WEB SITE + WEB API MVC Framework REST 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…
THE NEXT STEP: SPECIALIZED API PAAS API PaaS IaaS Hardware Simpler, specialized, cost effective Similarities with BaaS no Backend to write!
ANATOMY OF A WEB API API Impl. #1 API provider #1 API Impl. #2 API provider #2 API Contract It’s less about the stack and more about the value provided Standard API contracts are key : AWS S3, Google Reader, Atom, etc.
PROGRAMMABLE WEB Composite API API node API node Composition of public and private web APIs Time and cost reduction New value chains
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 Source components of the Cloud Computing era !
The limits of REST THE « WEB API » ARCHITECTURE STYLE
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 JSONRPC 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 representations requires 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 understand them and will likely never do so • What does really matter then?
A NEW GENERATION OF WEB SITES ! Browser Connected mobile devices Smart environnement Pages + API Web Site Partner Internal IS CROSS Tool that allows a company to make strategic information DEVICE SITE easily accessible by any kind of machine, on behalf of humans, WEB using best UI paradigm in the given context for a consistent UX, 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! http://apispark.com Twitter: @jlouvel firstname.lastname@example.org Printed book launched last September !
"From Web APIs to Cross-Device Web Sites" Jerome Louvel, APISpark #APIdaysSF APIdays. Subscribe Subscribed Unsubscribe 461 461. Loading ...
Turn websites into structured APIs from ... in web content allowing you get ... any data via the website or API endpoints. Although the kimono service ...
Pingback: Online Dating » The Top 15 Web APIs For Your Site
Deploy a Web API to an Azure Website; ... This tutorial shows how to use ASP.NET Web API in an ASP.NET Web Forms project. Creating API Help Pages.
How to create web API service in PHP ... I want to create a web API. ... Why does XSS affect so many websites?
A tutorial that teaches you how to deploy an app that uses the ASP.NET Web API to an Azure web ... Deploy 20 websites. over 10M mobile API calls.
40 useful APIs for web ... The API allows your website or application ... Google Web Fonts API – The Web Fonts API makes it easy to add free web ...
... that provides a catalog of books to a Windows Phone 8 application. ... a Web API to an Azure Website; ... Web API from a Windows Phone 8 Application ...
... [http://www.programmableweb.com/api/ebay ... del.icio.us is a social bookmarking website ... API is a web service that enables you to launch and ...