Dynamic metadata allows for metadata that can be configured for an
application programming interface (API) after the API has shipped.
Multiple entities can provide metadata for the same API or portions of an
API. The metadata provided for an API can be set up for each application
domain, allowing customization within a single process. Metadata can be
provided in several ways, including traditional compiled code and
declarative markup as well as databases and other more dynamic
approaches. Metadata is separated from its runtime components, so that
the metadata that is used by the runtime components can be changed. For
example, metadata may be declared on the objects separately. The metadata
is then tied back to the runtime components.