Serialising vs modelling
dtody at nrao.edu
Thu May 13 17:37:37 PDT 2004
On Thu, 13 May 2004, Alberto Micol wrote:
> Thanks a lot Gerard,
> I think your message makes crystal clear what we have to do now, that is:
> - Analysis (English)
> - Design (UML)
> - Serialiasation (XML)
> And in fact all that is part of the charter of this wg:
> ( excerpt from http://www.ivoa.net/twiki/bin/view/IVOA/IvoaDataModelFaq )
> > (1) A white paper discussing and naming the concepts involved and
> > describing the model and its intent in text form.
> > (2) A set of UML diagrams (including at least class diagrams)
> > constituting a formal definition of the model.
> > (3) An XML schema file providing a reference serialization of the
> > model. The schema does not define the model, but validates it and
> > clarifies the intent of the model. XML document instances should also
> > be provided as examples.
The scope of the process described above is all part of data modeling.
The reference serialization is still an abstraction, but can be used for
things like schema verification.
When it comes to a service things get more concrete and we may have
interfaces or data representations which are based on the reference
serialization defined by the data model.
For example, for SSA we are defining the SSA data model including a
reference (abstract) XML serialization and schema. Both of these are
part of the SSA data model. The SSA protocol specifies an access protocol
based on the SSA data model. The SSA protocol defines a query interface,
a query response, and standard representations of the SSA data model
in VOTable, FITS, XML, and text. The XML version will be closest to
the serialization defined by the data model, but may include additional
elements defined by the service.
A key point is that all such data representations implement the same data
model. Class code would implement the abstract data model, independent of
any specific representation (including XML). The transport layer deals with
encoding and decoding the data model in various external representations.
If you just want to go from abstract DM to external representation and
back to abstract DM, the native XML serialization is probably the simplest
format, but a more generic representation such as VOTable passes the
exact same information, plus it is more flexible for passing nonstandard
extensions, and allows the use of generic tools and libraries.
More information about the dm