Basics

Facebook Twitter
In 1995, Clayton Christenson coined the term Disruptive Innovations in his article titled "Disruptive Technologies: Catching the Wave." His contention was that some new products or services that appear in the marketplace are so revolutionary that they render existing technologies obsolete. We are seeing a new example of this phenomenon with the emergence of a sector being referred to as "Backend as a Service"—BaaS. BaaS: The Mobile Backend is now a Service BaaS: The Mobile Backend is now a Service
REST in WCF Blog Series Index | Demystifying The Code
Link Relations
Arguments and discussions

How to GET a Cup of Coffee How to GET a Cup of Coffee We are used to building distributed systems on top of large middleware platforms like those implementing CORBA, the Web Services protocols stack, J2EE, etc. In this article, we take a different approach, treating the protocols and document formats that make the Web tick as an application platform, which can be accessed through lightweight middleware. We showcase the role of the Web in application integration scenarios through a simple customer-service interaction scenario. In this article, we use the Web as our primary design philosophy to distil and share some of the thinking in our forthcoming book “GET /connected - Web-based integration” (working title). Introduction The integration domain as we know it is changing.
Persevere is an open source set of tools for persistence and distributed computing using an intuitive standards-based JSON interfaces of HTTP REST, JSON-RPC, JSONPath, and REST Channels. The core of the Persevere project is the Persevere Server. The Persevere server includes a Persevere JavaScript client, but the standards-based interface is intended to be used with any framework or client. The Persevere Server is an object storage engine and application server (running on Java/Rhino) that provides persistent data storage of dynamic JSON data in an interactive server side JavaScript environment with the following key features: persevere-framework - Google Code persevere-framework - Google Code
A Beginner’s Introduction to HTTP and REST A Beginner’s Introduction to HTTP and REST Hypertext Transfer Protocol (HTTP) is the life of the web. It’s used every time you transfer a document, or make an AJAX request. But HTTP is surprisingly a relative unknown among some web developers. This introduction will demonstrate how the set of design principles, known as REST, underpin HTTP, and allow you to embrace its fullest power by building interfaces, which can be used from nearly any device or operating system. Republished Tutorial

How I Explained REST to My Wife

How I Explained REST to My Wife After receiving a number of reasonable complaints about the gender-oriented nature of this article from people I respect very much, I've decided to take it down for good. While the dialog was never intended as commentary on the role of gender in technology, I'm convinced that it could too easily be taken that way and am not at all comfortable with that possibility. My deepest apologies to anyone that was offended by my work. There is nothing more terrifying to me than the thought of something I created acting as a deterrent to anyone following their ambitions, or from forming them in the first place.
Architectural Styles and the Design of Network-based Software Architectures
REST Presentation
This section defines the syntax and semantics of all standard HTTP/1.1 header fields. For entity-header fields, both sender and recipient refer to either the client or the server, depending on who sends and who receives the entity. 14.1 Accept The Accept request-header field can be used to specify certain media types which are acceptable for the response. Accept headers can be used to indicate that the request is specifically limited to a small set of desired types, as in the case of a request for an in-line image. HTTP/1.1: Header Field Definitions HTTP/1.1: Header Field Definitions
MIME Media Types Last Updated Registration Procedure(s) Expert Review for Vendor and Personal Trees. Expert(s) MIME Media Types
HATEOAS, an abbreviation for Hypermedia as the Engine of Application State, is a constraint of the REST application architecture that distinguishes it from most other network application architectures. The principle is that a client interacts with a network application entirely through hypermedia provided dynamically by application servers. A REST client needs no prior knowledge about how to interact with any particular application or server beyond a generic understanding of hypermedia. In a service-oriented architecture (SOA), clients and servers interact through a fixed interface shared through documentation or an interface description language (IDL). RESTful service can be described as well to be available for the client code-generation, RSDL (RESTful Service Description Language) using dynamic metadata collection to achieve this goal. HATEOAS HATEOAS
The set of common methods for HTTP/1.1 is defined below. Although this set can be expanded, additional methods cannot be assumed to share the same semantics for separately extended clients and servers. The Host request-header field (section 14.23) MUST accompany all HTTP/1.1 requests. HTTP/1.1: Method Definitions HTTP/1.1: Method Definitions
Hypermedia Hypermedia Hypermedia is used as a logical extension of the term hypertext in which graphics, audio, video, plain text and hyperlinks intertwine to create a generally non-linear medium of information. This contrasts with the broader term multimedia, which may be used to describe non-interactive linear presentations as well as hypermedia. It is also related to the field of electronic literature. The term was first used in a 1965 article by Ted Nelson.[1]
HATEOAS
I was talk­ing to a col­league who has to be­come savvy in a hurry about mod­ern Web ap­pli­ca­tions and he asked “How do I learn about REST?” Good ques­tion. I thought of a cou­ple of sug­ges­tions, then asked Twit­ter and got some more. ongoing · Learning REST
Remote procedure call In computer science, a remote procedure call (RPC) is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. When the software in question uses object-oriented principles, RPC is called remote invocation or remote method invocation.
Atom Publishing Format and Protocol (atompub) - Charter
In REST there are no objects or methods. Instead, everything is a resource. Sometimes REST is also referred to as “resource-orientation.” REST is designed to leverage intermediaries, which participate in the exchange. REST & WOA Wiki - REST & WOA Wiki
Each Status-Code is described below, including a description of which method(s) it can follow and any metainformation required in the response. 10.1 Informational 1xx This class of status code indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line.

HTTP/1.1: Status Code Definitions

Representational state transfer

Representational state transfer (REST) is an architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements.[1][2] The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation at UC Irvine.[1][3] REST has been applied to describe desired web architecture, to identify existing problems, to compare alternative solutions, and to ensure that protocol extensions would not violate the core constraints that make the Web successful. Fielding used REST to design HTTP 1.1 and Uniform Resource Identifiers (URI).[4][5]
How to Create a REST Protocol