Large Scale administration and information-gathering using CIM information modelling.

Application Layer

The application layer covers all the clients that consume and generate CIM data (System Data gathering agents are not included). The schema information is very useful to assist in the prototyping of applications and allow these same applications to do validation. One example of generated application are XForms forms.

Application module example: XForms forms

XForms is a 2003 W3C recomendation that attemps to replace web forms, formulated originally as part of HTML. The principal problem of traditional forms is their mixing of presentation and content (that poses numerous accesibility and debugging problems). This promotes device-dependent forms. XForms separates model and presentation, and uses a model that uses XML as input and output. An XForms client is more interactive and indepent from the server than a traditional web form one that would have to resort to browser scripting to achieve the same functionality.

There are several tools that can pregenerate an XForms form from an schema. We used the one from Chiba, a server-side implementation of XForms, that translates XForms forms into classic HTML forms for standard browsers interpreting events in the server. The resulting form can be seen in the next figure:

XForms 'raw' generated form

The form is directly populated with data from a miniCIM instance, and the output by default is also XML data, so the form outputs miniCIM instances without a intermediate translation process.

In case of attributes with a limited number of values in the schema, the conversion creates a interface representation that only allows to select the allowed values, as seen in the figure:

Example of schema-based ui generation

The creation of XForms forms from XML schemas allows, then, to do rapid prototypying of web forms that can be easily customized and styled with CSS to develop a full-fledged web application.

XForms interface styled with CSS