nextwebgen.com

The Next Generation Web Now

Persevere: JSON Storage / Application Server

Filed under: Web 2.0 News — Dion Almaer at 3:46 am on Tuesday, May 13, 2008

Kris Zyp of Sitepen has released Persevere:

An open source set of tools for persistence and distributed computing using intuitive standards-based JSON interfaces of HTTP REST, JSON-RPC, JSONPath, and HTTP Channels. 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. It is
currently in beta, and boasts a very solid feature set that should
interest JavaScript, Dojo and Ajax developers:

  • 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 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
  • Service discovery through Service Mapping Description

You can check out a live Persevere data grid demo that auto-syncs the grid using JS such as this:

JAVASCRIPT:

  1.  
  2. var persevereStores = dojox.data.PersevereStore.getStores(); // persevere stores are auto-generated
  3. customerStore = persevereStores.Customer; // and get the Customer store
  4. dataModel = new dojox.grid._data.DojoData(null,null,{/*rowsPerPage:12,*/store:customerStore,query:“”,clientSort:true});
  5.  
  6. addItem = function() {
  7.         // need to specify the parent because the customerStore is hierarchical and the grid model will
  8.         // call newItem without any info who the parent
  9.         //customerStore.parentId="0.examples.customers";
  10.         grid.addRow({firstName: “firstName”, lastName: “lastName”,created:dojo.date.stamp.toISOString(new Date,{zulu:true})});
  11. }
  12.  
Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blogmarks
  • del.icio.us
  • De.lirio.us
  • digg
  • NewsVine
  • YahooMyWeb

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>