SlideShare a Scribd company logo
1
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
Madrid, September 18th
, 2013
Jean Parpaillon – Silkan
Iain James Marshall – Prologue
Jonathan Custance - OnApp
OCCI XML representation
22
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
September 18th, 2013 Cloud Interoperability Week
Background
✔ CompatibleOne : an open source cloud brokering
platform
✔ Based on OCCI
✔ With extensions: manifest, configuration, user, security, etc.
✔ Use XML for
✔ Storage
✔ Validation: categories described as XML schema (XSD)
33
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
September 18th, 2013 Cloud Interoperability Week
Current extensions specs
✔ Free text + UML schemas
✔ Attributes types: string, numbers
✔ Attributes multiplicity: required, optional
✔ No attributes default value
4
Objectives
Formal specifications
(machine readable,
including doc)
«Design once, implement everywhere »
Implementation generation
Attributes types specifications
Range
Patterns
Complex types
Rendering for XML
based protocol (XMPP)
55
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
September 18th, 2013 Cloud Interoperability Week
XML reminder
✔ Formal constraint description: XML schemas
✔ Validation
✔ Transformation
✔ XSLT: XML to XML, XML to text
✔ Query
✔ XPATH
✔ Parsing
✔ Tree based, event based, ...
66
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
September 18th, 2013 Cloud Interoperability Week
XML schema proposal (1)
✔ An XML schema to describe OCCI types
✔ Kind, Mixin, Action, Resource, Link
✔ Top-level elements:
✔ Extension (kind+, mixin+): for extensions
✔ Objects (kind+, mixin+, action+, resource+, link+): for
rendering
7
OCCI type description
<xs:complexType name="kindType">
<xs:sequence>
<xs:element name="rel" type="occi:relatedType" minOccurs="1"
maxOccurs="1" />
<xs:element name="attribute" type="occi:attributeSpecType"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="action" type="occi:actionSpecType"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attributeGroup ref="occi:categoryGroup"></xs:attributeGroup>
<xs:attribute name="location" type="xs:anyURI"></xs:attribute>
</xs:complexType>
<occi:kind term="network" scheme="http://schemas.ogf.org/occi/core#"
title="Network Resource">
<occi:rel scheme="http://schemas.ogf.org/occi/core#" term="resource" />
<occi:attribute name="occi.network.vlan" type="occi:vlanType" />
<occi:attribute name="occi.network.label" type="xs:string" />
<occi:attribute name="occi.network.state" type="xs:string"
immutable="true" use="required" default="inactive">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="active" />
<xs:enumeration value="inactive" />
</xs:restriction>
</xs:simpleType>
</occi:attribute>
<occi:action scheme="http://schemas.ogf.org/occi/core/network#"
term="up"></occi:action>
<occi:action scheme="http://schemas.ogf.org/occi/core/network#"
term="down"></occi:action>
</occi:kind>
OCCI types schema
OCCI type description
8
OCCI entity rendering
<occi:link id="urn:uuid:c78774ae-264b-405b-b5ae-db6d2486ff8d"
source="/compute/996ad860-2a9a-504f-8861-aeafd0b2ae29"
target="/network/1cbc522b-eff3-4ea7-ab53-d91ad7c34b7f">
<occi:kind term="networkinterface" scheme="http://schemas.ogf.org/occi/infrastructure#" />
<occi:mixin term="ipnetworkinterface"
scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface#" />
<occi:attribute name="occi.infrastructure.networkinterface.interface" value="eth0" />
<occi:attribute name="occi.infrastructure.networkinterface.mac" value="00:ae:ff:23:43:12" />
<occi:attribute name="occi.infrastructure.networkinterface.address" value="192.168.0.100" />
<occi:attribute name="occi.infrastructure.networkinterface.gateway" value="192.168.0.1" />
<occi:attribute name="occi.infrastructure.networkinterface.allocation" value="dynamic" />
<occi:action term="up"
scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface/action#" />
</occi:link>
Link entity rendering
w/ mixin
99
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
September 18th, 2013 Cloud Interoperability Week
XML schema proposal (2)
✔ Attribute types: inherits XSD typing
✔ 44 base types: decimal, string, date, etc.
✔ Type extension
✔ Integer + 'undefined'
✔ Type restriction
✔ String pattern
✔ Number range
10
OCCI attribute type
<xs:simpleType name="vlanType">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"></xs:minInclusive>
<xs:maxInclusive value="4095"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="mac802">
<xs:restriction base="xs:string">
<xs:pattern value="[da-fA-F]{2}(:[da-fA-F]{2})5}" />
</xs:restriction>
</xs:simpleType>
802.1q VLAN type
MAC Address
1111
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
September 18th, 2013 Cloud Interoperability Week
That's all !
✔ Please comment, amend... implement
✔ Resources
✔ CompatibleOne project: http://www.compatibleone.org/
✔ Updated XML schemas and examples:
http://github.com/jeanparpaillon/occi-schemas
✔ E-mail: jean.parpaillon@free.fr
12
This document is licensed under
a Creative Commons Attribution 3.0 Unported License.
Thanks !

More Related Content

Similar to OCCI XML representation

Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with Akka
Maciej Matyjas
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
Fermin Galan
 
Django introduction @ UGent
Django introduction @ UGentDjango introduction @ UGent
Django introduction @ UGent
kevinvw
 
Attacks against Microsoft network web clients
Attacks against Microsoft network web clients Attacks against Microsoft network web clients
Attacks against Microsoft network web clients
Positive Hack Days
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
FIWARE
 
Alfresco Custom Model
Alfresco Custom ModelAlfresco Custom Model
Alfresco Custom Model
Andrea Leo
 

Similar to OCCI XML representation (20)

XML Schemas
XML SchemasXML Schemas
XML Schemas
 
Scaling Web Apps with Akka
Scaling Web Apps with AkkaScaling Web Apps with Akka
Scaling Web Apps with Akka
 
Akka lsug skills matter
Akka lsug skills matterAkka lsug skills matter
Akka lsug skills matter
 
SAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersSAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginners
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
 
Schema registries and Snowplow
Schema registries and SnowplowSchema registries and Snowplow
Schema registries and Snowplow
 
Stress test data pipeline
Stress test data pipelineStress test data pipeline
Stress test data pipeline
 
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
 
from source to solution - building a system for event-oriented data
from source to solution - building a system for event-oriented datafrom source to solution - building a system for event-oriented data
from source to solution - building a system for event-oriented data
 
Django introduction @ UGent
Django introduction @ UGentDjango introduction @ UGent
Django introduction @ UGent
 
Attacks against Microsoft network web clients
Attacks against Microsoft network web clients Attacks against Microsoft network web clients
Attacks against Microsoft network web clients
 
AEM GEMs Session Oak Lucene Indexes
AEM GEMs Session Oak Lucene IndexesAEM GEMs Session Oak Lucene Indexes
AEM GEMs Session Oak Lucene Indexes
 
Oak Lucene Indexes
Oak Lucene IndexesOak Lucene Indexes
Oak Lucene Indexes
 
OSMC 2016 | ZMON: Zalando's OS approach to monitoring in the cloud and DCs by...
OSMC 2016 | ZMON: Zalando's OS approach to monitoring in the cloud and DCs by...OSMC 2016 | ZMON: Zalando's OS approach to monitoring in the cloud and DCs by...
OSMC 2016 | ZMON: Zalando's OS approach to monitoring in the cloud and DCs by...
 
OSMC 2016 - ZMON Zalandos OS approach to monitoring in the cloud and DCs by J...
OSMC 2016 - ZMON Zalandos OS approach to monitoring in the cloud and DCs by J...OSMC 2016 - ZMON Zalandos OS approach to monitoring in the cloud and DCs by J...
OSMC 2016 - ZMON Zalandos OS approach to monitoring in the cloud and DCs by J...
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
 
Incident Response Automation @ Netflix Q12019
Incident Response Automation @ Netflix Q12019Incident Response Automation @ Netflix Q12019
Incident Response Automation @ Netflix Q12019
 
Alfresco Custom Model
Alfresco Custom ModelAlfresco Custom Model
Alfresco Custom Model
 
Best Guide for Javascript Objects
Best Guide for Javascript ObjectsBest Guide for Javascript Objects
Best Guide for Javascript Objects
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 

More from Jean Parpaillon

Configuration management state of the art
Configuration management state of the artConfiguration management state of the art
Configuration management state of the art
Jean Parpaillon
 

More from Jean Parpaillon (7)

Kerrighed cluster deployment
Kerrighed cluster deploymentKerrighed cluster deployment
Kerrighed cluster deployment
 
OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
OCCIware - A Formal Toolchain for Managing Everything-as-a-ServiceOCCIware - A Formal Toolchain for Managing Everything-as-a-Service
OCCIware - A Formal Toolchain for Managing Everything-as-a-Service
 
Facing the Open Cloud Challenges: the OCCIware approach
Facing the Open Cloud Challenges: the OCCIware approachFacing the Open Cloud Challenges: the OCCIware approach
Facing the Open Cloud Challenges: the OCCIware approach
 
erocci, a scalable model-driven REST framework
erocci, a scalable model-driven REST frameworkerocci, a scalable model-driven REST framework
erocci, a scalable model-driven REST framework
 
Ow2 webinar erocci
Ow2 webinar erocciOw2 webinar erocci
Ow2 webinar erocci
 
Industrial occi
Industrial occiIndustrial occi
Industrial occi
 
Configuration management state of the art
Configuration management state of the artConfiguration management state of the art
Configuration management state of the art
 

Recently uploaded

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

OCCI XML representation

  • 1. 1 This document is licensed under a Creative Commons Attribution 3.0 Unported License. Madrid, September 18th , 2013 Jean Parpaillon – Silkan Iain James Marshall – Prologue Jonathan Custance - OnApp OCCI XML representation
  • 2. 22 This document is licensed under a Creative Commons Attribution 3.0 Unported License. September 18th, 2013 Cloud Interoperability Week Background ✔ CompatibleOne : an open source cloud brokering platform ✔ Based on OCCI ✔ With extensions: manifest, configuration, user, security, etc. ✔ Use XML for ✔ Storage ✔ Validation: categories described as XML schema (XSD)
  • 3. 33 This document is licensed under a Creative Commons Attribution 3.0 Unported License. September 18th, 2013 Cloud Interoperability Week Current extensions specs ✔ Free text + UML schemas ✔ Attributes types: string, numbers ✔ Attributes multiplicity: required, optional ✔ No attributes default value
  • 4. 4 Objectives Formal specifications (machine readable, including doc) «Design once, implement everywhere » Implementation generation Attributes types specifications Range Patterns Complex types Rendering for XML based protocol (XMPP)
  • 5. 55 This document is licensed under a Creative Commons Attribution 3.0 Unported License. September 18th, 2013 Cloud Interoperability Week XML reminder ✔ Formal constraint description: XML schemas ✔ Validation ✔ Transformation ✔ XSLT: XML to XML, XML to text ✔ Query ✔ XPATH ✔ Parsing ✔ Tree based, event based, ...
  • 6. 66 This document is licensed under a Creative Commons Attribution 3.0 Unported License. September 18th, 2013 Cloud Interoperability Week XML schema proposal (1) ✔ An XML schema to describe OCCI types ✔ Kind, Mixin, Action, Resource, Link ✔ Top-level elements: ✔ Extension (kind+, mixin+): for extensions ✔ Objects (kind+, mixin+, action+, resource+, link+): for rendering
  • 7. 7 OCCI type description <xs:complexType name="kindType"> <xs:sequence> <xs:element name="rel" type="occi:relatedType" minOccurs="1" maxOccurs="1" /> <xs:element name="attribute" type="occi:attributeSpecType" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="action" type="occi:actionSpecType" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attributeGroup ref="occi:categoryGroup"></xs:attributeGroup> <xs:attribute name="location" type="xs:anyURI"></xs:attribute> </xs:complexType> <occi:kind term="network" scheme="http://schemas.ogf.org/occi/core#" title="Network Resource"> <occi:rel scheme="http://schemas.ogf.org/occi/core#" term="resource" /> <occi:attribute name="occi.network.vlan" type="occi:vlanType" /> <occi:attribute name="occi.network.label" type="xs:string" /> <occi:attribute name="occi.network.state" type="xs:string" immutable="true" use="required" default="inactive"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="active" /> <xs:enumeration value="inactive" /> </xs:restriction> </xs:simpleType> </occi:attribute> <occi:action scheme="http://schemas.ogf.org/occi/core/network#" term="up"></occi:action> <occi:action scheme="http://schemas.ogf.org/occi/core/network#" term="down"></occi:action> </occi:kind> OCCI types schema OCCI type description
  • 8. 8 OCCI entity rendering <occi:link id="urn:uuid:c78774ae-264b-405b-b5ae-db6d2486ff8d" source="/compute/996ad860-2a9a-504f-8861-aeafd0b2ae29" target="/network/1cbc522b-eff3-4ea7-ab53-d91ad7c34b7f"> <occi:kind term="networkinterface" scheme="http://schemas.ogf.org/occi/infrastructure#" /> <occi:mixin term="ipnetworkinterface" scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface#" /> <occi:attribute name="occi.infrastructure.networkinterface.interface" value="eth0" /> <occi:attribute name="occi.infrastructure.networkinterface.mac" value="00:ae:ff:23:43:12" /> <occi:attribute name="occi.infrastructure.networkinterface.address" value="192.168.0.100" /> <occi:attribute name="occi.infrastructure.networkinterface.gateway" value="192.168.0.1" /> <occi:attribute name="occi.infrastructure.networkinterface.allocation" value="dynamic" /> <occi:action term="up" scheme="http://schemas.ogf.org/occi/infrastructure/networkinterface/action#" /> </occi:link> Link entity rendering w/ mixin
  • 9. 99 This document is licensed under a Creative Commons Attribution 3.0 Unported License. September 18th, 2013 Cloud Interoperability Week XML schema proposal (2) ✔ Attribute types: inherits XSD typing ✔ 44 base types: decimal, string, date, etc. ✔ Type extension ✔ Integer + 'undefined' ✔ Type restriction ✔ String pattern ✔ Number range
  • 10. 10 OCCI attribute type <xs:simpleType name="vlanType"> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"></xs:minInclusive> <xs:maxInclusive value="4095"></xs:maxInclusive> </xs:restriction> </xs:simpleType> <xs:simpleType name="mac802"> <xs:restriction base="xs:string"> <xs:pattern value="[da-fA-F]{2}(:[da-fA-F]{2})5}" /> </xs:restriction> </xs:simpleType> 802.1q VLAN type MAC Address
  • 11. 1111 This document is licensed under a Creative Commons Attribution 3.0 Unported License. September 18th, 2013 Cloud Interoperability Week That's all ! ✔ Please comment, amend... implement ✔ Resources ✔ CompatibleOne project: http://www.compatibleone.org/ ✔ Updated XML schemas and examples: http://github.com/jeanparpaillon/occi-schemas ✔ E-mail: jean.parpaillon@free.fr
  • 12. 12 This document is licensed under a Creative Commons Attribution 3.0 Unported License. Thanks !