CIM_SettingData, usage patterns, etc.

Roman Rakus rrakus at redhat.com
Tue Mar 5 11:42:43 UTC 2013


On 03/05/2013 12:58 AM, John Dennis wrote:
Hi John,
> Several related questions here:
>
> As a CIM newbie I've been able to find the specs, the schemas, the 
> tutorials, existing implementations, etc. Many of these resources have 
> tremendous detail but usually it's on entities in isolation (e.g. the 
> classes) or discussions at a very abstract level with no practical 
> examples. What I've had a heck of a time finding is "patterns of 
> usage". In other words given the existing model and it's available 
> classes how do you assemble the disparate pieces according to best 
> practice to arrive at a solution that is consistent with how CIM 
> experts expect CIM to be used? I'm wondering if there are resources 
> that discuss the "practical how-to of CIM modeling", if so could 
> someone point me that information?
>
> Here is a good example of where I have a hole in my understanding.
>
> I need to model a service. That service has configuration parameters. 
> My understanding is I need to do the following:
>
> * Derive a class from CIM_Service (or one if it's subclasses)
>
> * Derive a class from CIM_SettingData that encapsulates the 
> configuration parameters for the service.
>
> * Derive a class from CIM_Capabilities that enumerates what can be set 
> in the matching SettingData class.
>
> The service will instantiate a SettingData instance and set an 
> association between the service and SettingData, this represents the 
> current configuration parameters. Is this correct?
>
 From my point of view, yes,
> Now lets say someone wants to modify the configuration parameters for 
> the service. How do they do it? It seems as if one needs to 
> instantiate a SettingData instance with the desired parameters and 
> pass that to the service. Is that correct?
I will just modify instance of such settings.
>
> If so it would seem there are two ways to accomplish that.
>
> 1) Define a method on the service which accepts a reference to a 
> SettingData instance.
>
>   a. Does the provider examine the SettingData and only update
>      the non-null parameters?
>
>   b. Does the provider replace the existing association between
>      the service and it's SettingData with the new reference?
Both depends on how you will write your provider. Anyway, I will just 
write modify instance method on SettingData.
>
> 2) Define an association class that binds the SettingData to the 
> service (but how would the service provider know this association was 
> formed?)
>
You have to have such association. Service will know it from model. And 
there are methods you can use in provider to get references and 
associations.
For example, you will model service named foo and classes can look like: 
John_ServiceFoo, John_FooSettingData. And will do association between 
them e.g. John_ServiceFooSettingData.
> Summary:
>
> How does one set the configuration parameters for a service? Is it via 
> an instance of a SettingData class and if so how?
I will say yes, but I'm not an expert ;)
You want to know how to set up parameters from provider view or from 
client view? Or if model, I described it above.
>
> Addendum:
>
> I found numerous SettingData classes and a number of Capability 
> classes in various schemas but what I couldn't find was any mention of 
> these classes get used in practice. It also seems as if SettingData 
> can be used in a variety of different ways (e.g. patterns) but I 
> wasn't able to figure out what those patterns were. Can somebody 
> elucidate those patterns or point me to resources that explain them?
>
Maybe there is something in Simple Identity Management Profile [1].
> Thanks so much for your help,
>
> John
>
>
[1] 
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.1.0.pdf

RR


More information about the openlmi-devel mailing list