JavaScript-Based
Client/Server Web
Applications
Kris Zyp
© SitePen, Inc. 2008. All Rights Reserved
Overview
Service oriented client/server web application
Tools of interoperability
REST
Defines interoperable web architecture
JSON Schema
JSONQuery
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
Stateless
Cacheable
Uniform Interface
Layered
Code-On-Demand
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
HTTP REST
GET - query and get by id
PUT - update an object
POST - create an object
DELETE - delete an object
Client Side
Dojo
Jester
Persevere
Futon
Server Side
CouchDB
Persevere
SimpleDB
...
© SitePen, Inc. 2008. All Rights Reserved
The post-ORM realm
Multiple references
Cross-message references
Cross-site references
http://www.sitepen.com/blog/2008/06/17/json-referencing-in-dojo/
Lazy loading
JSON Referencing
Transactional
Offline Support
http://sitepen.com/labs/persevere.php
http://javascript.neyric.com/inputex/examples/json-schema2.html
http://javascript.neyric.com/inputex/examples/base-schema.js
Flexible
Dynamic
Portable
Promises
Language agnostic
Easy to secure
http://goessner.net/articles/JsonPath/
http://goessner.net/articles/JsonPath/
http://www.sitepen.com/blog/2008/07/16/jsonquery-data-querying-beyond-jsonpath/
XMPP
REST Channels
http://cometdaily.com/2008/05/13/http-channels-2/
Accompanied by Demo
Accompanied by Demo
http://sitepen.com/labs/persevere.php
http://www.sitepen.com/blog/2008/07/18/clientserver-model-on-the-web/