
Why can't Google be an integration point? I may be missing something about how the metamodel and CRUD vs 'pure' REST work here... On Tue, May 12, 2009 at 11:59 AM, Richard Davies <richard.davies@elastichosts.com> wrote:
You're focusing not so much Atom the RFC4287 data format, but AtomPub the RFC5023 publishing protocol as implemented notably in GData and lots of other places, and do generic Web-resource CRUD where the resources happen to represent cloud infrastructure objects. *Thus you outsource most of the work of CRUD specification. *Then, you layer cloud-specific stuff on top of that. *Then collections of servers and clusters and networks and so on are perforce represented as Atom Feeds.
Is that the essence of it? *-Tim
Essentially, yes - at least a subset of it (I'm not sure that service and category documents are supported nor required by GData to date) with simple extensions for querying, concurrency/performance and any other implementation issues we come across on the way. I've been focusing on Atom because that's how the data is rendered - AtomPub as you well know tells us how to discover and manipulate the Atom resources on the server.
My biggest concern about the GData-style approach is not XML vs. JSON syntax ('angle bracket vs. curly brackets), but whether pulling in the GData/AtomPub meta-model is worth it to outsource the CRUD specification.
My example of a simple JSON rendering really has two differences from the GData-XML approach:
1) [Less significant] JSON vs. XML syntax ('angle brackets vs. curly brackets') - a trivial decision, as demonstrated by the equivalent XML http://www.ogf.org/pipermail/occi-wg/2009-May/000526.html
2) [More significant] Very light meta-model - completely specified at http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/SimpleJSONRen... versus pulling in the GData meta-model to wrap the cloud infrastructure objects.
I note that all existing cloud APIs (Amazon, Sun, GoGrid, ElasticHosts, etc.) have similarly specified their APIs directly over HTTP rather than over a pre-existing meta model.
Whilst Sam is right that GData libraries do exist for many platforms, they are not universal and do run to tens of thousands of lines of code*.
Should we really be pulling in a dependency which is this large when we have a clear choice not to?
Richard.
* Within http://gdata-python-client.googlecode.com/files/gdata-1.3.1.tar.gz "wc -l src/{atom,gdata}/*.py" gives 13.7 kloc.
Within http://gdata-java-client.googlecode.com/files/gdata-src.java-1.31.1.zip "wc -l java/src/com/google/gdata/*/*.java" gives 33.9 kloc _______________________________________________ occi-wg mailing list occi-wg@ogf.org http://www.ogf.org/mailman/listinfo/occi-wg