[pve-devel] r4973 - pve-common/trunk

svn-commits at proxmox.com svn-commits at proxmox.com
Thu Aug 12 13:08:49 CEST 2010

Author: dietmar
Date: 2010-08-12 11:08:48 +0000 (Thu, 12 Aug 2010)
New Revision: 4973


Added: pve-common/trunk/README.dev
--- pve-common/trunk/README.dev	                        (rev 0)
+++ pve-common/trunk/README.dev	2010-08-12 11:08:48 UTC (rev 4973)
@@ -0,0 +1,52 @@
+Short Intro to Proxmox VE V2 development
+We decided to change our SOAP API (1.X) and use a REST like API. The
+concept is described in [1] (Ressource Oriented Architecture
+(ROA)). The main advantage is that we are able to remove a lot of code
+(the whole SOAP stack).
+We also moved away from server side content generation. Instead we use
+the ExtJS Rich Internet Application Framework
+That framework, like any other ajax toolkit, can talk directly to the
+REST API using JSON. So we were able to remove the server side
+template toolkit, which really reduces software complexity.
+JSON and JSON Schema
+We use JSON as data format, because it is simple and parseable by any
+web browser.
+Additionaly, we use JSON Schema [2] to formally describe our API.
+An great side effect was that we are able to use JSON Schema to
+produce command line argument parser automatically. In fact, the REST
+API and the command line tools use the same code.
+A small utility called 'pvesh' exposes the whole REST API on the command
+[1] RESTful Web Services
+Web services for the real world
+    Leonard Richardson, Sam Ruby
+    O'Reilly Media
+    May 2007 
+[2] JSON Schema links: http://json-schema.org/
\ No newline at end of file

More information about the pve-devel mailing list