Designing Meta Data Types Using Information Models
Deploying Microsoft® SQL Server™ 2000 Meta Data Services technology begins with an information model. Meta Data Services is intended to be used with information models that provide type information about meta data. The repository engine, repository API, add-on tools, and Software Development Kit (SDK) work with information models. The meta data types that are defined in an information model provide the design data that interacts with development tools, applications, and browsers. All Microsoft products that integrate with Meta Data Services technology base integration on some type of information model.
If you want to build an application with Meta Data Services, the information models that you use should completely describe the data, tool, or application structure that you will code later. For example, if you want to build an inventory control application, the information model that you need should completely describe the inventory control application.
If you are using the Open Information Model (OIM), your design elements are predefined. You can also use a subset of OIM elements and then supplement the model with the additional elements you require. OIM can be extended to support tool-specific meta data types or any other meta data types that your design requires.
Although the OIM provides significant advantages in terms of tool and programming support, you are not required to use it. You can create custom information models in Unified Modeling Language (UML) that are completely unrelated to the OIM.
Custom or OIM-extended information models that you create must conform to the abstract classes provided through the repository API. To build custom information models or extend an OIM model, you should use the Meta Data Services SDK. It includes a model compiler that validates your model against the repository API.
Using an information model does not eliminate the need for coding. Rather, it changes the role that coding plays. In a model-driven development environment, code provides the implementation strategy. For more information about programming against information models, see Developing Applications Using Meta Data.