background preloader


Facebook Twitter

BaaS: The Mobile Backend is now a Service. In 1995, Clayton Christenson coined the term Disruptive Innovations in his article titled "Disruptive Technologies: Catching the Wave.

BaaS: The Mobile Backend is now a Service

" His contention was that some new products or services that appear in the marketplace are so revolutionary that they render existing technologies obsolete. REST in WCF Blog Series Index. Link Relations.

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.

How to GET a Cup of Coffee

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. Yet, the impact of the Web is still widely misunderstood and underestimated in enterprise computing. In this article we'll showcase some interesting uses of the Web, treating it as a pliant and robust platform for doing very cool things with enterprise systems.

Dr. Persevere-framework - Google Code. 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.

persevere-framework - Google Code

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 JavaScript Client is a persistent object mapping framework for JavaScript in the browser, which allows programmers to access, traverse, and manipulate persisted objects graphs easily with standard JavaScript syntax and intuitive Persistent JavaScript (PJS) API. A Beginner’s Introduction to HTTP and REST. Hypertext Transfer Protocol (HTTP) is the life of the web.

A Beginner’s Introduction to HTTP and REST

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. Architectural Styles and the Design of Network-based Software Architectures.

REST Presentation. How I Explained REST to My Wife. HTTP/1.1: Header Field Definitions. This section defines the syntax and semantics of all standard HTTP/1.1 header fields.

HTTP/1.1: Header Field Definitions

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. MIME Media Types. HATEOAS. The HATEOAS constraint decouples client and server in a way that allows the server functionality to evolve independently.


Details[edit] A REST client enters a REST application through a simple fixed URL. All future actions the client may take are discovered within resource representations returned from the server. HTTP/1.1: Method Definitions. The set of common methods for HTTP/1.1 is defined below.

HTTP/1.1: Method Definitions

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. Hypermedia. Hypermedia, an extension of the term hypertext, is a nonlinear medium of information which includes graphics, audio, video, plain text and hyperlinks.


HATEOAS. Ongoing · Learning REST. I was talk­ing to a col­league who has to be­come savvy in a hur­ry about mod­ern Web ap­pli­ca­tions and he asked “How do I learn about REST?”

ongoing · Learning REST

Good ques­tion. I thought of a cou­ple of sug­ges­tion­s, then asked Twit­ter and got some more. 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.[1] That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote.

Remote procedure call

When the software in question uses object-oriented principles, RPC is called remote invocation or remote method invocation. Many different (often incompatible) technologies have been used to implement the concept. History and origins[edit] Message passing[edit] Atom Publishing Format and Protocol (atompub) - Charter. REST & WOA Wiki - REST & WOA Wiki. HTTP/1.1: Status Code Definitions. 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.

There are no required headers for this class of status code. Since HTTP/1.0 did not define any 1xx status codes, servers MUST NOT send a 1xx response to an HTTP/1.0 client except under experimental conditions. Representational state transfer. Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services.[1][2] REST is a coordinated set of constraints applied to the design of components in a distributed hypermedia system that can lead to a more performant and maintainable architecture.[3] REST has gained widespread acceptance across the Web[citation needed] as a simpler alternative to SOAP and WSDL-based Web services.

RESTful systems typically, but not always, communicate over the Hypertext Transfer Protocol with the same HTTP verbs (GET, POST, PUT, DELETE, etc.) used by web browsers to retrieve web pages and send data to remote servers.[3] The REST architectural style was developed by W3C Technical Architecture Group (TAG) in parallel with HTTP 1.1, based on the existing design of HTTP 1.0.[4] The World Wide Web represents the largest implementation of a system conforming to the REST architectural style.

Architectural properties[edit] How to Create a REST Protocol. 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.