background preloader

Restlet

Restlet

Show Me the Code March 02, 2005 In my inaugural article, I outlined the four basic steps you needed to follow when creating a RESTful web service. Now let's take those basic steps and follow them through a worked example. To stay on familiar ground we'll create something that you may find familiar: a web bookmark service. It's hip, all the cool kids have one, and by the end of this article, so will we — or at least we'll have the specification for one. The idea of a bookmark service is that it allows you to store your web bookmarks in a centralized place. To design such a service we need to answer our four questions. What are the resources? Resources What are the resources for a bookmarking system? There are many more aggregate resources we may want to build, but these examples should be enough to get us going. What we want to do here is scan the list repeatedly looking for similarities. Bookmark Resource A single bookmark and associated information, such as when the bookmark was created. Representations <?

Google Base vs. Microsoft's Astoria Dare Obasanjo has done a comparison of two new protocols for accessing database style data via HTTP. These protocols, based on REST, are the Google Base and Microsoft's Astoria. The basic concept between the two protocols is the same. URLs are used in lieu of SQL to specify queries. Relationships and filters must be encoded as part of the URL and all requests are GETs. The first difference pointed out by Dare is that Astoria uses a hierarchical format to represent relationships. Both support filtering and sorting, but Google Base has a richer syntax and support for full-text queries across all categories. Astoria does have a really nice feature called expand. Google Base likewise has some features not found in Astoria. Dare Obasanjo concludes: In comparing both approaches there is a lot to like and dislike.

Implementing REST Web Services: Best Practices and Guidelines August 11, 2004 Despite the lack of vendor support, Representational State Transfer (REST) web services have won the hearts of many working developers. For example, Amazon's web services have both SOAP and REST interfaces, and 85% of the usage is on the REST interface. Compared with other styles of web services, REST is easy to implement and has many highly desirable architectural properties: scalability, performance, security, reliability, and extensibility. Those characteristics fit nicely with the modern business environment, which commands technical solutions just as adoptive and agile as the business itself. A few short years ago, REST had a much lower profile than XML-RPC, which was much in fashion. The purpose of this article is to summarize some best practices and guidelines for implementing RESTful web services. The following notations are used in this article: Reprising REST Let's briefly reiterate the REST web services architecture. Resource URI Opacity [BP] mimeType={mime-type}

REST APIs must be hypertext-driven » Untangled I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPC. What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? API designers, please note the following rules before calling your creation a REST API: A REST API should not be dependent on any single communication protocol, though its successful mapping to a given protocol may be dependent on the availability of metadata, choice of methods, etc. There are probably other rules that I am forgetting, but the above are the rules related to the hypertext constraint that are most often violated within so-called REST APIs.

RESTful Web Services Oracle Technology Network > Java Software Downloads View All Downloads Top Downloads New Downloads What's New Java in the Cloud: Rapidly develop and deploy Java business applications in the cloud. Essential Links Developer Spotlight Java EE—the Most Lightweight Enterprise Framework? Blogs Technologies Contact Us About Oracle Cloud Events Top Actions News Key Topics Oracle Integrated Cloud Applications & Platform Services

Brian Repko's Blog: Ain't gettin' no rest with REST Posted by brianrepko on August 5, 2006 at 9:34 AM PDT My reading about REST started with *THE* dissertation, looking at restlets, downloading (but not looking at) a restlets example, looking at RoR and how that fits in with REST and a bit on resource naming conventions. I really struggle with the "only 4 verbs" thing. I even have questions on standard CRUD operations. Take a business object like "suppliers". My first reaction to this was that I now have "Lazy-Loading DAOs via HTTP". I should say that I love the notion of domain modeling through URI naming. I'm still not totally clear on how to request a type of representation - perhaps the simple answer is Accept headers or adding extensions to the URIs (.html or .xml). I'm also not keen on the whole "completely lazy-loadedness" of the payloads. So in researching the question - where do I put my domain model "methods", I started asking the question "are 4 verbs enough?". So, I picked a simple example to try, General Ledger Journal.

Fielding Dissertation: CHAPTER 5: Representational State Transfer (REST) [Top] [Prev] [Next] This chapter introduces and elaborates the Representational State Transfer (REST) architectural style for distributed hypermedia systems, describing the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, while contrasting them to the constraints of other architectural styles. REST is a hybrid style derived from several of the network-based architectural styles described in Chapter 3 and combined with additional constraints that define a uniform connector interface. The software architecture framework of Chapter 1 is used to define the architectural elements of REST and examine sample process, connector, and data views of prototypical architectures. 5.1 Deriving REST The design rationale behind the Web architecture can be described by an architectural style consisting of the set of constraints applied to elements within the architecture. 5.1.1 Starting with the Null Style 5.1.2 Client-Server 5.1.3 Stateless

Related: