Where possible, creating Web applications — including Ajax-based applications — in a RESTful way avoids a large class of bugs. However, a pitfall of REST (REpresentational State Transfer) is sending duplicate data across similar XMLHttpRequests. This tip shows how the moderate use of session cookies can maintain just enough server-side state to significantly reduce client-server traffic, while still allowing fallback to cookie-free operation.
The Firewater Framework lets you create sophisticated REST based web APIs for your Java and Flash/Flex based web applications. Features include:
* Spring based declarative architecture (zero code web services)
* extensible framework
* supports GET, PUT, POST, OPTIONS and DELETE HTTP methods and matches incoming URL patterns
* supports JDBC back-ends with templated SQL mappings
* supports secured web services using Acegi Spring Security
* supports paging, full-text search, sorting and filtering
* flexible cacheing strategy based on OSCache
* custom Spring schema for easy configuration
pinky is a Scala REST/MVC glue web framework built on top of Guice and Guice Servlet. Pinky provides out-of-the-box support for dealing with forms, domain objects, jdbc and rss/xml/json/html content types
What CouchDB is
* A document database server, accessible via a RESTful JSON API.
* Ad-hoc and schema-free with a flat address space.
* Distributed, featuring robust, incremental replication with bi-directional conflict detection and management.
* Query-able and index-able, featuring a table oriented reporting engine that uses Javascript as a query language.
What it is Not
* A relational database.
* A replacement for relational databases.
* An object-oriented database. Or more specifically, meant to function as a seamless persistence layer for an OO programming language.
scalaxb-appengine is a RESTful API to run scalaxb over the web. It's implemented using n8han/Unfiltered and the full source is available on eed3si9n/scalaxb-appengine.
scalaxb-appengine came into being because I didn't know how to deploy a command line application written in Scala. Greg kindly suggested that I turn scalaxb into a web service, so I did. I guess I always thought about the possibility of making it into a web app, but this gave me a perfect opportunity to seize the moment and write a web app in Scala.
Spring Social is an extension of the Spring Framework to enable the development of social-ready applications. With Spring Social you can create applications that interact with various social networking sites such as Twitter, Facebook, LinkedIn, and TripIt, giving the users of your application a more personal experience.
The main features of Spring Social include:
* A set of social network templates for interacting with Twitter, Facebook, LinkedIn, TripIt, and Greenhouse.
* An OAuth-aware request factory for signing RestTemplate requests with OAuth authorization details.
* A web argument resolver for extracting Facebook user ID and access token information in a Spring MVC controller.
Igenko is an open source CMS and eCommerce solution, natively designed with REST principles, extensibility and Rich Internet Application in mind.
It is based on Java Content Repository, Spring, Flex, GraniteDS and PureMVC technologies.
Basically, its an RDF-based web annotations system.
Three JISC-funded projects have a requirement to allow people to annotate events and other things. The projects are:
* Collaborative Research on the Web (CREW) - University of Bristol and University of Manchester
* Semantic Tools for Screen Arts Research (STARS) - University of Bristol
* Integration Project (CIP) - University of Bristol
The Caboto project was setup to create a collaborative effort to fulfill the requirements of CREW, STARS and CIP.
The requirements from the JISC projects:
* CREW Events Requirements
* CIP Requirements
* STARS Requirements
The project is in the early stages but its is possible to obtain and run the project: