[occi-wg] Attribute descriptions
Ralf Nyren
ralf at nyren.net
Tue Aug 7 05:01:58 EDT 2012
On Tue, 7 Aug 2012 07:48:35 +0000, "Feldhaus, Florian"
>> 1) I believe we need a definition for attributes in the document... The
>> definition needs to qualify the role of attributes and properties of
the
>> attributes.
>
> I fully agree and I would like to see the definition of attributes and
> attribute properties in OCCI Core.
+1
In OO terminology OCCI Resource and OCCI Link are just plain classes.
These classes (and their sub-classes) can have a bunch of attributes.
Each _attribute_ of an object instantiated from one of these classes has:
- A name
- A value
- A type (hopefully)
Just basic OO, nothing fancy.
Category/Kind/Mixin is a mechanism to describe what the OCCI Resource/Link
classes look like. It is like a crude form of machine readable UML.
The tricky part is that Category/Kind/Mixin are also modelled as classes
to create a Core model which is relatively easy to implement.
Today, the Category/Kind/Mixin mechanism does only tell you the _name_ of
the attributes to be found in OCCI Resource/Link.
The minimal addition would be to also describe the type, mutability and
default-value of attributes. This is what is currently called "attribute
properties" in OCCI HTTP Rendering.
>> 2) Differentiate between OCCI Resource attributes and Attributes
defined
>> by Mixins.
>
> That's right. I'm not entirely sure how to describe attributes and
> attribute properties. Both have a name (e.g. 'occi.core.title') and a
> value. The value for Attributes associated with Entities can be of type
> String, Number and Boolean (e.g. base types). For Attribute Properties
the
> value contain the attribute properties (e.g. Type, Description, …). If
we
> can put this into a class diagram, we IMHO have a good way to describe
> attributes and attribute properties.
We have to be careful what we mean here. Real attributes as part of an
OCCI Resource/Link sub-class or the _description_ of those attributes found
in Category/Kind/Mixin.
There is really no difference between attributes described by Kind or
Mixin. They are on the same level.
Kind describes attributes which always are present in an OCCI
Resource/Link sub-class. Mixin describes attributes which availability may
change at run-time.
How you decide to implement attributes in your OCCI Resource/Link classes
is up to you. It does not matter if you use native class attributes or a
hash table.
>> 3) Mixins may reference attributes defined in external schemas, DMTF's
>> CIM for example. We need a way to filter attributes sourced from
external
>> schemas and hopefully not overload OCCI clients, servers or other
>> information management vehicles (ie templates). This capability may
also
>> be required for the converse case, identifying attributes that will be
>> used, all other will be ignored. This use case may also valid for OCCI
>> Resource defined attributes.
>
> It took some time for me to understand how this could be realized.
> Referencing attributes defined in external schemas can bring many
problems
> due to different ways of handling the attributes and currently this is
not
> supported by OCCI. In my opinion, all attributes which are used within
the
> OCCI context need to be described using OCCI. Implementations can not be
> required to understand all kinds of external schemas. We may come up
with a
> transformation between external schemas and OCCI - for example an XSLT
> between CIM and OCCI. Then we can reference external schemas and an OCCI
> implementation can understand that schema using a translation. I
strongly
> recommend to not touch this topic for the next iteration of the
documents
> as this needs a lot more discussion and some proper examples how it
could
> be used.
I agree with Florian here, let us keep it to:
"all attributes which are used within the OCCI context need to be
described using OCCI."
... for the time being.
regards, Ralf
More information about the occi-wg
mailing list