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
REST in WCF Blog Series Index | Demystifying The Code
Arguments and discussions
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-framework - Google Code
A Beginner’s Introduction to HTTP and REST
Hypertext Transfer Protocol (HTTP) is the life of the web.
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
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
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 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
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.
I was talking to a colleague who has to become savvy in a hurry about modern Web applications and he asked “How do I learn about REST?” Good question. I thought of a couple of suggestions, then asked Twitter 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
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.
Representational state transfer (REST) is an architectural style consisting of a coordinated set of 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.
The REST architectural style describes the following six constraints applied to the architecture, while leaving the implementation of the individual components free to design:
Code on demand (optional)
The only optional constraint of REST architecture is code on demand. If a service violates any other constraint, it cannot strictly be referred to as RESTful.
Complying with these constraints, and thus conforming to the REST architectural style, will enable any kind of distributed hypermedia system to have desirable emergent properties, such as performance, scalability, simplicity, modifiability, visibility, portability and reliability. by Dec 16
The client begins sending requests when it is ready to make the transition to a new state. While one or more requests are outstanding, the client is considered to be in transition. The representation of each application state contains links that may be used next time the client chooses to initiate a new state transition.
The name "Representational State Transfer" is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use. by Dec 16
December 01, 2004 Note: In this inaugural article of Joe Gregorio's new column, The Restful Web, he explains how to use the REST architectural style to create an application protocol with web-like properties. Future columns will offer additional REST-based applications and analyses. — Editor If you follow web services, then you may have heard of REST. REST is an architectural style that can be used to guide the construction of web services. Recently, there have been attempts to create such services that have met with mixed success.
How to Create a REST Protocol