OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Designing XML to Support Information Evolution

[ Lists Home | Date Index | Thread Index ]

"Hunsberger, Peter" wrote:
> Roger L. Costello <costello@mitre.org> writes:
> <snip>example</snip>
> > Here are some lessons I learned.  I believe these lessons apply to all
> XML information structures where you have a requirement to
> > evolve the information structure by moving the information (e.g., move
> the Picker around to different lots), changing the
> > information values (e.g., a Pickers harvests ripe grapes, thereby
> decreasing the value of <ripe-grapes> on a lot), and where
> > parallel processing of the information is desired/needed.  I don't
> know if these lessons apply everywhere.
> >
> > 1. How you structure your information in XML has a tremendous impact
> on the processing of the information.
> >
> >
> >
> >
> > 2. Hierarchy makes processing information hard!  There exists a
> relationship between hierarchy of information and the
> > complexity of code to process the information.  The relationship is
> roughly: the greater the hierarchy, the greater the
> > complexity of code to process the information  (Some hierarchy is
> good, of course.  But the amount of hierarchy that is
> > good is probably much less than one might imagine, certainly less than
> I thought, as described above.)
> Hierarchy makes processing non-hierarchical data hard.  As others have
> suggested, it would seem that you created a hierarchy where none was
> needed.  You can always normalize a hierarchy in a database (eg.
> set/subset relational models for example), but when trying to reflect a
> hierarchy for presentation purposes a hierarchy is the best way to
> represent hierarchical data...  Gluing back together parent child
> relationships can also be inefficient!

Of course, in some cases this can violate second and/or third normal
form (I forget which - it might be both...it's been a long time since I
studied this in my undergrad, and it's now become instinct;). Using
Roger's original example, let's say that we have a business rule that
allows a picker to belong to multiple lots - perhaps we're short on
pickers and need to share them among multiple lots in alternating
shifts. Let's also say that we need to represent properties of a picker
- I'm a city boy so I'll take my best guess...manufacturer, size, etc.
Repeating the properties of a picker over and over for each lot to which
it is assigned violates one or both of those normal forms.
Kind Regards,
Joe Chiusano
Booz | Allen | Hamilton
Strategy and Technology Consultants to the World

> > 3. Flat data is good data!  Flatten out the hierarchy of your data.
> It makes the information flexible and easier to process.
> For raw data: definitely.  You touched on this indirectly, but I think
> it's worth noting that for things like SAX pipelines, deep data
> structures allow less concurrency; in a pipeline, you can only start on
> a element when you know the previous step has finished with it, deep
> hierarchies obviously slow that event down.  When we need a hierarchy we
> have a metadata model that maps the hierarchy, the data that gets mapped
> to this structure is flat.
> > 4. Order hurts!  Requiring a strict order of the information makes for
> a brittle design.  It is only when I allowed the lots
> > and pickers to occur in any order that the flexibility and simplicity
> kicked in.
> >
> > Comments?  /Roger
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>

Kind Regards,
Joseph Chiusano
Booz | Allen | Hamilton


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS