Metadata-Driven Systems Are More Flexible


Most people would agree that metadata-driven systems are more flexible than traditional designs, as the case study shows. Flexibility is generally a desirable trait, but there are a few issues to address.

Clearly, there can be performance penalties with this approach, and they should be considered. However, don't reject the idea on performance grounds before you've investigated it; in many cases the performance penalty is not that severe. Another consideration is knowing where you need flexibility. If you build flexibility in where it isn't needed, it won't improve the system.

Issues that come up with metadata designs include the following: Where should we be looking for abstractions? What does it mean to mix and match instances and schema? How does this work with tagged languages?

Semantic Implications

What makes this pattern possible are two semantic manipulations:

  • Shifting the schema to a more abstract definition

  • Allowing instance data to be used as if it were schema

Schema Abstraction

What was a specific definition of a particular test (alpha time) was replaced by a generic term (test value). Once you've looked at it this way it's hard to go back to the old way of looking at it and believe that alpha time really was metadata, but it certainly was; there could have been hundreds of thousands of rows in this database conforming to this metadata.

Instances for Schema

The other shift consisted of allowing instance data (rows) to be treated as if they were schema. This is anathema to most DBAs, largely because the separation of DDL from DML causes them to categorize schema and data differently. On the other hand, ontologists mix and match categories and instances so freely, they may not even realize they are doing it.

Additional Metadata Provides Additional Semantics

As we saw in this example, shifting the metadata from the database schema provided us a means to provide additional semantics (in this case the range checks and the inclusion of tests to sample types). Once you begin looking for these opportunities, they show up frequently.

Metadata in Tagged Languages

These techniques of applying meta thinking also apply to tagged languages such as XML. Later chapters describe how the level of definition in XML schemas has the same profound effect on the robustness of design as this example.




Semantics in Business Systems(c) The Savvy Manager's Guide
Semantics in Business Systems: The Savvy Managers Guide (The Savvy Managers Guides)
ISBN: 1558609172
EAN: 2147483647
Year: 2005
Pages: 184
Authors: Dave McComb

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net