[7 total ]
CouchDb is a distributed document database system with bi-directional replication. It makes it simple to build collaborative applications that can be replicated offline by users, with full interactivity (query, add, update, delete), and later "synced up" with everyone else's changes when back online.
Apache Sling is a Web application framework based on REST principles that provides easy development of content-oriented applications. Sling uses a JCR repository, such as Apache Jackrabbit, as its data store.
Apache Sling is an effort undergoing
... [More]
incubation at The Apache Software Foundation (ASF), sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. [Less]
GWT on Rails is a Rails plugin that integrates GWT client side compiled JavaScript with Rails REST web services.
GWT-REST is an asynchronous RESTful client implementation for GWT.
GWT-REST can be used alongside GWT-RPC or as a replacement for it. The intent is to provide a drop-in solution for communicating with REST web services that may or may not be
... [More]
implemented in Java.
A set of generic interfaces is provided along with implementations for JSON and Rails in this first release. [Less]
RESTianThe goal of the RESTian project is multi-faceted and influenced by the immortal words of Alan Kay "We aim to make simple things simple and complex things possible." Its first goal will be to create a Framework for building RESTful Web Services
... [More]
and its latter goal will be to define a Service Interface Schema for RESTful Web Services.
Initial ImplementationThe initial implementation languages are JavaScript for the client and PHP v4 on MySQL for the server. The initial target platform for testing and example services is Drupal v5.x. The initial content types for request and response are "application/x-www-form-urlencoded" and JSON, respectively.
REST FrameworkThe initial goal is to create a framework for both clients and servers optimized for rapid and easy development of fully RESTful Web Services that can be reasonably easily evolved to be fully robust without requiring a change to the externally-facing service interface. RESTian will initially aim to streamline creating CRUD-based operations for SQL databases as well as services using purpose-built functions and will hopefully later look to simplify interface with other back-ends(1).
REST Service Interface SchemaThe longer term goal will be to identify the schema required to drive RESTful web services that can be represented in practically any language and that can easily be transformed between languages formats. The schema will provide necessary information to (almost) any language capable (2) of serving dynamic content via HTTP and a subset of the schema will provide the necessary information to allow clients to make requests of the same RESTful web services thus satisfying the "hypermedia as the engine of application state" requirement.
The initial implementation format for this schema will be JSON and it will be specified by the developer on a path segment heirarchical basis allowing for inheritance of specification and will hopefully later be available in a variety of formats(3).
FootnotesOther back-ends could include interfaces to CouchDb, Amazon's SimpleDB and S3, Flickr, YouTube, and more. Server languages to hopefully also include Python, Perl, Ruby, JavaScript, VBScript, [http://www.java.com/en/ Java, C#, VB.NET, Cold Fusion, and more. Formats to hopefully include (X)HTML+Microformats, XML, RSS, AtomPub, YAML, and more. [Less]
This is a sample application for my practice on google gears and RESTbased api.
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
... [More]
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:
Create, read, update, and delete access to persistent data through a standard JSON HTTP/REST web interface Dynamic object persistence - expando objects, arrays, and JavaScript functions can be stored, for extensive JavaScript persistence support Remote execution of JavaScript methods on the server through JSON-RPC for a consistent client/server language platform Flexible and fast indexed query capability through JSONQuery Comet-based data monitoring capabilities through REST Channels with Bayeux transport plugin/negotiation support Data-centric capability-based object level security with user management, Persevere is designed to be accessed securely through Ajax with public-facing sites Comprehensive referencing capabilities using JSON referencing, including circular, multiple, lazy, non-lazy, cross-data source, and cross-site referencing for a wide variety of object structures Data integrity and validation through JSON Schema Class-based data hierarchy - typed objects can have methods, inheritance, class-based querying Pluggable data source architectures - SQL tables, XML files, remote web services can be used as data stores Service discovery through Service Mapping Description 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. Persevere implements the PJS API and maps JavaScript objects to persistent storage objects remotely through JSON based RESTful web services following the JSPON (JavaScript Persistent Object Notation) data interchange specification. Persevere accesses persisted object graphs provided through RESTful JSON data sources which can represent various underlying sources such as database tables, XML files, web services, and object repositories, and such persisted graphs can even span domains. Persevere allows application code to be persisted and exist within these object graphs, to facilitate improved object oriented design and organization. Persevere can provide orthogonal persistence and lazy loading support with standard JavaScript property access and modification through JavaScript pre-processing, or it can provide these capabilities natively with JavaScript 1.7. Note that the Persevere JavaScript Client is released under the MPL 1.1/GPL 2.0/LGPL 2.1 license. [Less]