[occi-wg] Request for POX representation

Csom Gyula csom at interface.hu
Thu May 20 06:20:03 CDT 2010


Hi!

After analyzing the issue I kindly ask you to consider POX as an official OCCI representation  
format. Namely in order to have a programmatic interface that is easy to implement and maintain we  
(as a potential OCCI user) request a domain specific and extensible XML representation format. 

## 1./ Features
---
We request a POX representation format that 1. is domain specific, strongly typed, and free  
from other domains, and 2. is extensible, supports user defined elements and/or attributes.

1. The scheme has its own XML namespace and
2. is free from XML elements of orthogonal domains (like GUI, eg. XHTML)
3. Different kind of OCCI entities (compute, network, storage) are mapped to individual XML  
   schema elements.  
4. Different entity attributes are mapped to either individual XML (sub)elements or attributes  
   (though we prefer the former, eg. attributes as XML subelements).  
5. This also applies to links, and 
6. actions eg. just as attributes they are handled in a strongly typed manner rather than in a  
   generic way.  
7. The scheme is extensibe (depending on the design decision under 4, it supports either the  
   XSD any element or the anyAttribute or both).


## 2./ Intentions
---
We need a programmatic interface that is easy to implement and maintain:

1. It builds upon technologies that are in common practice. We do not consider HTTP Header  
   format to meet this criteria. XML, REST seem to be the common hypermedia format in the  
   REST world and especially within the Cloud API space [2].  
   Bottom line: REST itself seems to support/encourage multiple formats. Thus I do not say  
   that using HTTP Header is not RESTful, I just say that it doesn't seem to be a common  
   REST format.
2. It supports separation of concerns. Being a programmatic interface, it at least separates  
   "busines" logic (eg. data and methods) from UI (eg. user interaction). We do not consider  
   the upcoming X/HTML+RDFa format to meet this criteria. We've found 2 issues with the format  
   -  one is trivial, the second is less trivial:
   1. X/HTML intends to be a user interaction language, and RDFa to be a data annotion  
      language for foreign markups (typically? for UI markups). Thus the upcoming format  
      intermixes UI and data in its roots.
   2. X/HTML elements and RDFa attributes are strongly coupled. Depending on the host (eg.  
      X/HTML) structure the same RDFa sequence can result in different data structures. Thus  
      an agent must be aware of the UI structure in order to build the data structure it is  
      interested in. According to my preliminary examination this primarily effects recursive  
      data structures [3] but may effect other data structures, too. Meanwhile OCCI seems to  
      already have such structures, since categories might have child categories. Also OCCI  
      may want to support more complex entities later (like services, and service groups which  
      are again recursive in their nature).

One more thing. XML and JSON seems to be equally prefered by cloud providers [2]. We simply made  
our decision based upon the selected CMS platform: OpenNebula. It currently supports POX.

We will likely refine our request based upon feedbacks, so  
comments and criticism are welcome!

Kind regards,  
Gyula Csom

---

[1] Scheme samples: request.xml, response.xml illustrate the scheme (strongly typed elements, with  
user defined extensions). It tries to model a new compute request.

[2] Existing Cloud APIs and formats

  * OpenNebula OCCI API: REST + POX (http://www.opennebula.org/documentation:rel1.4:occiug)
  * Amazon EC2 API: SOAP
  * ElasticHosts API: REST + Plain text, or JSON (http://www.elastichosts.com/cloud-hosting/api)
  * IBM WebSphere CloudBurst API: REST + JSON  
    (http://www.ibm.com/developerworks/websphere/techjournal/0911_amrhein/0911_amrhein.html)
  * Sun Cloud API: REST + JSON (http://kenai.com/projects/suncloudapis/pages/Home)
  * RedHat delta cloud API: REST + POX, and custom formats (http://deltacloud.org/api.html)

[3] RDFa samples: foaf.html, extract.rb illustrate strong coupling between X/HTML and RDFa, eg.  
the same RDFa sequence can result in different data structures. The foaf.html is the sample file,  
extract.rb is a simple Ruby script that extracts data into turtle, NT and XML formats. Builds  
upon the rdf_context lib (http://github.com/gkellogg/rdf_context).

[4] About our project: 
Our customer, the National Information Infrustructure Institute  
(http://www.niif.hu/en) wants to provide public cloud services for the Hungarian academic sector, and  
use a private cloud for its own purposes. The project is the initial step in this direction.  
At the technical side generally we are interested in an open, future-proof solution, especially  
OpenNebula as the cloud platform, and OCCI as the cloud interface.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: request.xml
Type: text/xml
Size: 453 bytes
Desc: request.xml
Url : http://www.ogf.org/pipermail/occi-wg/attachments/20100520/67081917/attachment.xml 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: response.xml
Type: text/xml
Size: 455 bytes
Desc: response.xml
Url : http://www.ogf.org/pipermail/occi-wg/attachments/20100520/67081917/attachment-0001.xml 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/occi-wg/attachments/20100520/67081917/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: extract.rb
Type: application/octet-stream
Size: 686 bytes
Desc: extract.rb
Url : http://www.ogf.org/pipermail/occi-wg/attachments/20100520/67081917/attachment.obj 


More information about the occi-wg mailing list