Persevere helps you rapidly develop data-driven JavaScript-based rich internet applications.

By implementing standards-based communication protocols, Persevere provides you with a feature-rich set of open source interoperable client and server frameworks.

The Persevere server features a secure RESTful JSON interface for data interaction and storage of dynamic data, JSONQuery/JSONPath querying, Comet-based real-time data notification through Rest Channels and Bayeux support, class-based based object-oriented business logic with data integrity and validation through JSON Schema, and still supports existing SQL tables. Persevere supports a JSON-RPC interface for interaction with its server-side JavaScript environment.

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/JSONPath
  • Comet-based data monitoring capabilities through HTTP 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
  • Full access and control over Java libraries via JavaScript
  • Robust, solid cross-site request forgery protection

Persevere's documentation can be found here. Here are several articles that can help you get started with Persevere:

Persevere updates can be downloaded on the project page, bugs and enhancement requests can be filed in Persevere's issue tracker and discussion and the mailing list can be found on the Persevere forum. Live discussion is available on the IRC channel #persevere at irc.freenode.net. Nightly builds can be downloaded here.