[
Lists Home |
Date Index |
Thread Index
]
8/23/2002 2:10:38 PM, "Bullard, Claude L (Len)" <clbullar@ingr.com> wrote:
>DOMs make fine semiotic storage models for a local
>focus of attention. So does a relational view, but
>keeping one of those around means keeping the rest
>of the RDBMS handy, and that is expensive in several
>dimensions.
I would never voluntarily use the word "semiotic"
in a sentence without quotes around it :~) but I think I
agree. Data that will be re-used in unpredictable ways
and updated by multiple applications really should be
normalized and stored in an RDBMS to minimize redundancy,
maintain referential integrity, preserve independence between
the store and the application, and all the other things that
Prof. Codd talks about.
On the other hand, not all data
one encounters imposes all these requirements on its
processors, and XML is a convenient and useful way to
capture and manipulate some snapshot of the data as
"documents." Documents inside an application are
conveniently manipulated as DOMs (generically speaking).
If the documents are processed serially via a pipeline or
workflow, then if often does make a lot of sense to
have them manipulated as XML by each node in the sequence
rather than going back to the master database(s). As Len
notes, this can be very expensive, and the RDBMS is
not always handy.
The canonical example is an invoice, because real-world
invoices (as I undertand it) generally normalize into
about 20 RDBMS tables, and can span 100 or so tables in
an industrial-strength ERP system (I'm told). In a
serialized, distributed invoice processing system, it
can be a lot more efficient to extract a snapshot of one
logical invoice from these tables into XML, pass it around
as a "document" to be read, annotated, updated, etc., and
then put it back in the ERP system (or whatever) once the
various humans have done whatever they have to do to process
an invoice.
A theme I keep coming back to in xml-dev rantings is that
the WHOLE POINT of XML is to live at the nexus of human and
machine systems. Extracting complex DBMS or ERP representations
into ordinary business "documents" makes them more accessible
to humans and human-oriented business processes (which were
designed to be serialized, distributed, and capable of working
with only one writer holding the "lock" at any given time.)
|