OsidCatalog is the top level interface for
all OSID catalog-like objects. A catalog relates to other OSID
objects for the purpose of organization and federation and
almost always are hierarchical. An example catalog is a
Repository that relates to a collection of
Assets.
OsidCatalogs allow for the retrieval of a
provider identity and branding.
Collections visible through an OsidCatalog
may be the output of a dynamic query or some other rules-based
evaluation. The facts surrounding the evaluation are the
OsidObjects visible to the OsidCatalog
from its position in the federated hierarchy. The
input conditions may satisifed on a service-wide basis using
an OsidQuery or environmental conditions
supplied to the services via a Proxy .
Often, the selection of an OsidCatalog in
instantiating an OsidSession provides access to
a set of OsidObjects . Because the view inside
an OsidCatalog can also be produced
behaviorally using a rules evaluation, the Id
(or well-known alias) of the OsidCatalog may be
used as an abstract means of requesting a predefined set of
behaviors or data constraints from an OSID Provider.
The flexibility of interpretation together with its
central role in federation to build a rich and complex service
from a set of individual OSID Providers makes cataloging an
essential pattern to achieve abstraction from implementations
in the OSIDs without loss of functionality. Most OSIDs include
a cataloging pattern. |