Towards RESTful PHP - 5 Basic Tips | Kris Jordan
About PHP- Once read
Très bonWriting Blazing Fast, Infinitely Scalable, Pure-WSGI Utilities - Die in a Fire - Eric Florenzano’s Blog
So you want to write a script that sites all over the web can use to access your REST API, eh? Well, that would be pretty straightforward if it weren’t for two things: 1. browser same-origin restrictions on XMLHttpRequests (XHRs) and inter-window/frame access 2. the lack of wide browser support for HTML 5-style message passing between windows. The Same-Origin Policy and its minor browser-specific variations are detailed elsewhere, so I’ll just summarize it with a few key points. I use the term window to mean window object, which can be a top-level page or reside inside a frame or iframe.
So you want to write a script that sites all over the web can use to access your REST API, eh? Well, that would be pretty straightforward...
framework restfull para desarrollar aplicaciones flex
RESTful Flex Developmentjespern / django-piston / wiki / Home — bitbucket.org
RESTful framework for Django
jespern / django-piston / wiki / Home — bitbucket.org
A tool for creating RESTful APIs in Django.
Get the latest version (0.1) here. A mini-framework for Django for creating RESTful APIs. Piston is a relatively small Django application that lets you create application programming interfaces (API) for your sites. It has several unique features: * Ties into Django's internal mechanisms. * Supports OAuth out of the box (as well as Basic/Digest or custom auth.) * Doesn't require tying to models, allowing arbitrary resources. * Speaks JSON, YAML, Python Pickle & XML (and HATEOAS.) * Ships with a convenient reusable library in Python * Respects and encourages proper use of HTTP (status codes, ...) * Has built in (optional) form validation (via Django), throttling, etc. * Stays out of your way. Piston logo NB: OAuth ships with piston for now, but you are not required to use it. It simply provides some boilerplate in case you want to use it later (consumer/token models, urls, etc.) Documentation o Piston Documentation + Gett
Mercurial hosting - we're here to serve.REST worst practices
A few weeks ago, I sent the following in a email to a co-worker asking for input on designing REST APIs in Django. Since then, I’ve quoted myself a few times; I thought these thoughts would be worth a (slightly edited) public home. I think the best way to dive in terms of mistakes to avoid. If you poke around you’ll find a couple-three different stabs at writing a generic REST API module for Django. So, with no further ado, some REST “worst practices:”
REST worst practices
A few weeks ago, I sent the following in a email to a co-worker asking for input on designing REST APIs in Django. Since then, I’ve quoted myself a few times; I thought these thoughts would be worth a (slightly edited) public home. I think the best way to dive in terms of mistakes to avoid. If you poke around you’ll find a couple-three different stabs at writing a generic REST API module for Django. So, with no further ado, some REST “worst practices:” Conflating models and resources In the REST world, the resource is key, and it’s really tempting to simply look at a Django model and make a direct link between resources and models — one model, one resource. This fails, though, as soon as you need to provide any sort of aggregated resource, and it really fails with highly denormalized models. Think about a Superhero model: a single GET /heros/superman/ ought to return all his vital stats along with a list of related Power objects, a list of his related Friend objects, etc. So the datBest Practices for building JSON REST Web Services « Building Feedly
- added by harper reed's google readerPaul Dix Explains Nothing: Breath fire over HTTP in Ruby with Typhoeus
Might be a good alternative to Net/HTTP for Context Hero. How hard would it be to incorporate caching?micha's resty at master - GitHub
rest from the command line (bash+curl)
Very, very cool. Fire up a local REST host pointing to any service, and then GET /blogs.json etc from the command line.
Little command line REST interface that you can use in pipelines. [Sublime :-) ]
resty is a RESTful HTTP friendly wrapper around curlPUT or POST: The REST of the Story « Open Sourcery
Interesting explanation on why CRUD with REST doesn't directly map to the HTTP verbs POST, GET, PUT, and DELETEWhy CouchDB?
man, I really really wish I understood this stuff.
“Django may be built for the Web, but CouchDB is built of the Web. I’ve never seen software that so completely embraces the philosophies behind HTTP. CouchDB makes Django look old-school in the same way that Django makes ASP look outdated.”
ebook on why you would choose couchdbWhy REST ? | /var/log/mind
See comments to post for information about integrating security.RED: <>
RED (Resource Expert Droid) checks HTTP resources to see how they use HTTP, makes suggestions, and finds common protocol mistakesGet Your API Right « Trek
If you’re not allowing clients to create new data, or update/delete existing data on your system then you do not have an API. You have a feed. There’s nothing wrong providing read-only access to your data (it’s laudable, in fact), but I’m often disappointed to hear “Yeah! We have an API” only to find the person really meant they offered a number of customizable data feeds as XML.
"I can’t stand working with a poorly designed API! If you’re about to design or release an API for the web and want to avoid the ire of your developers, I’ve summed up the best (and worst) of what I’ve seen into 8 rules..."
Controlando el API
8 key gotchas when implementing RESTful web APIs. great advice
If you’re about to design or release an API for the web and want to avoid the ire of your developers, I’ve summed up the best (and worst) of what I’ve seen into 8 rules:mnot’s Web log: What to Look For in a HTTP Proxy/Cache
API design tutorial
Free Web Resources Everyday - WebResourcesDepotThe Amazing Blog : Your Web Service Might Not Be RESTful If…
added a single resource that described the locations of these other resources, they would have much more flexibility in the future. An example of the content of such a resource:
Good blog on the basics of building RESTful web services
http://news.ycombinator.com/item?id=713959Getting Started With Restful Authentication in Rails - Nettuts+
authlogicInfoQ: RESTful HTTP in practice
InfoQ: RESTful HTTP in practice - http://bit.ly/Zrqmk Great article but leaves out hypermedia side [http://bit.ly/UhPEK] completely. [from http://twitter.com/dhinchcliffe/statuses/3428371918]hurl
Hurl makes HTTP requests. Enter a URL, set some headers, then view the response. Perfect for APIs.
Web app for testing HTTP requests.
online version of curl for viewing HTTP messages
Analyse HTTP headers. Like curl, but on the web.
Hurl makes HTTP requests. Enter a URL, set some headers, then view the response. Perfect for APIs.Netflix API - Welcome to the Netflix Developer Network
Logging to couchInfoQ: Tim Bray on the Future of the Web
Jersey/JAX-RS, the ultimate java web framework?
The REST java spec and web appsOrderly JSON
Orderly is a textual format for describing JSON. Orderly can be compiled into JSONSchema. It is designed to be easy to read and write.
Orderly is a textual format for describing JSON. Orderly can be compiled into JSONSchema. It is designed to be easy to read and write. JSONSchema attempts to provide a representation for three distinct types of information about JSON structures: * Data structure (for documentation and validation purposes) * Storage attributes (information pertinent to tools that wish to persist JSON data) * Interaction Control (providing hints on how to render a UI where data can be manipulated). JSONSchema attempts to provide a representation for three distinct types of information about JSON structures: * Data structure (for documentation and validation purposes) * Storage attributes (information pertinent to tools that wish to persist JSON data) * Interaction Control (providing hints on how to render a UI where data can be manipulated).Pragmatic Programming Techniques: RESTFul Design Patterns
Summarize a set of RESTful design practices that I have used quite successfully.Elastic Search - Open Source, Distributed, RESTful Search Engine
A distributed, highly available RESTful Search Engine based on Lucene
ElasticSearch is an open source, distributed, RESTful search engine built on top of Lucene.
ElasticSearch is an open source, distributed, RESTful, Search Engine.
An open source search engine built on top of Lucene that can be distributed across multiple indexes on different nodes.justin / webmachine / wiki / BigHTTPGraph — bitbucket.org
http diagram v3
updated version of Alan Dean's diagram
http flowchartRuby Best Practices - Blog
Sharing model data via ActiveResource -- good stuff.Dare Obasanjo aka Carnage4Life - REST API Design: Invent Media Types, Not Protocols and Understand the Importance of Hyperlinks
The key thing to remember is that REST is about building software that scales to usage on the World Wide Web by being a good participant of the Web ecosystem. Ideally a RESTful API should be designed to be implementable by thousands of websites and consumed by hundreds of applications running on dozens of platforms with zero coupling between the client applications and the Web services. A great example of this is RSS/Atom feeds which happen to be one of the world's most successful RESTful API stories.CouchDB with CouchRest in 5 minutes « The Merbist
The other night, during our monthly SDRuby meetup, lots of people were very interested in learning more about CouchDB and Ruby. I tried to show what Couch was all about but I didn’t have time to show how to use CouchDB with Ruby. Here is me trying to do that in 10 minutes or less. I’ll assume you don’t have CouchDB installed.
CouchDB with CouchRest in 5 minutes The other night, during our monthly SDRuby meetup, lots of people were very interested in learning more about CouchDB and Ruby. I tried to show what Couch was all about but I didn’t have time to show how to use CouchDB with Ruby. Here is me trying to do that in 10 minutes or less. I’ll assume you don’t have CouchDB installed.Another take on content negotiation
serve content based on client accept header. whatever user is asking for i.e. json or xml.Richardson Maturity Model
Richardson Maturity Model : A staged approach towards RESTfulness by @martinfowler http://ff.im/-hUO5V
/via Leonard Richardson
A model (developed by Leonard Richardson) that breaks down the principal elements of a REST approach into three steps. These introduce resources, http verbs, and hypermedia controls.Open Data (OData)
The simplest OData service can be implemented as simply as a static file that follows the OData ATOM or JSON payload conventions. For scenarios beyond static content, frameworks are available to help in creating OData services. See the OData developer page for additional information.
New open data protocol being pushed by MicrosoftREST for Java developers, Part 4: The future is RESTful - JavaWorld
Find out why REST interfaces are foundational for emerging architectures such as the Semantic Web. Brian Sletten takes a big-picture view of REST, now and in the future, in this final article in his series.
JavaWorldGraph API - Facebook Developers
The new Graph API attempts to drastically simplify the way developers read and write data to Facebook.
Documentation de l'API pour récupérer les informations et les contacts des utilisateurs de Facebook.Welcome | Twitter API Explorer - twitapi.com
Background on jchrisa's Toast (standalone chat app in CouchDB+JS+HTML)
The point is to show how CouchDB's "databasey" features, because they are implemented using HTTP, can be leveraged to make powerful end-user experiences, with just a minimum of code.Designing a RESTful Web Application - Quandy Factory
useful collection of thoughtsGoogle Storage for Developers - Google Code
Got the Google Store invite: http://code.google.com/apis/storage - Need to find time to play with it...
Google Storage for Developers is a RESTful service for storing and accessing your data on Google's infrastructure. The service combines the performance and scalability of Google's cloud with advanced security and sharing capabilities. Highlights include:Rethinking Rails 3 Controllers and Routes | Free PeepCode Blog
Improving URL routing for web apps.