Технологии Microsoft  
  Платформа 2001  |   Продукты  |   Технологии  |   Примеры внедрения  |   Справочная информация  |   Практикум Microsoft  |

Начало раздела

Новые технологии Microsoft

Решения Microsoft 2000

Платформа Microsoft для бизнеса нового века

© 2000 Корпорация Microsoft. Все права защищены.

What is Microsoft Repository?


Microsoft Repository is composed of two major components: a set of ActiveXФ interfaces that a developer can use to define open information models, and a repository engine that is the underlying storage mechanism for these information models. The repository engine sits on top of either Microsoft SQL Server or Microsoft JET database systems.

Microsoft Repository 1.0 ships with the Visual Basic 5.0 Professional and Enterprise Editions. It targets software tool vendors who wish to use open information models to support the development, deployment, and reuse of component software. Corporate customers who will benefit from better facilities for component reuse and tool interoperability will be the primary users of these tools.

This paper describes the general architecture and uses for Microsoft Repository. It uses a single scenario to illustrate the basic principles of Microsoft Repository. Software vendors that are interested in using Microsoft Repository should consult the Web site or the repository documentation supplied with the Visual Basic 5.0 Professional and Enterprise Editions.

Sharing Software Components

A tool developer can use Microsoft Repository to share and reuse components. To share components effectively, it is useful to share not only the executable image of a component, but also descriptive information about the component and its configuration. This ensures that the receiving tool and the user of the tool can use the component correctly. Therefore, software component consumers and providers have to agree on:

A common exchange format for descriptive information
A common storage facility for components and descriptions
A common application programming interface (API) for accessing components and descriptions

Figure 1 Interaction between software tools that share components

In Figure 1, Tool-A shares a component with Tool-B because it provides descriptive information about the component via a commonly understood information model, and because it stores the component and descriptive information in a commonly available storage facility that is accessible via a common API. Tool-B accesses the component and its description via the same API used by Tool-A. The commonly understood information model enables Tool-B to interpret the descriptive information and use the software component correctly.

Objects and Relationships

An object becomes a repository object by exposing a set of Microsoft Repository interfaces. A developer uses these object interfaces to store properties and to store relationships to other objects. Repository objects are also ActiveX objects, so they inherit all the benefits of this technology.

Figure 2 Information Models are populated with objects and relationships

A repository object is defined in terms of the interfaces that it exposes. An interface can have properties, methods, and relationships to other interfaces. The set of interfaces that an object exposes describes the object's state, how the object can be manipulated, and the associations an object can have with other objects.

Figure 3 Object Collaboration

For example, the two objects shown in Figure 3 collaborate using the hypothetical ICatalogableItem and ICatalog interfaces. These interfaces might define how a component can be stored in a component catalog. Note that the collaboration does not refer to the class of the component and catalog. By referring only to interfaces, tools are able to manipulate objects of different classes, as long as the objects support the set of interfaces that the tool needs to complete its task.
This paradigm is used by Microsoft Repository to encourage an evolutionary approach to developing complex information models. For example, it allows information models for different application domains, such as component management, data warehousing, or content management, to be developed independently.

Figure 4 Shared Interfaces

In Figure 4, the models are glued together by way of shared interfaces, which define how the objects of different domains interact. This approach is crucial for modeling complex information structures and for evolving such models in the presence of heterogeneous multi-vendor tools.

Data Storage and Scalability

Microsoft Repository uses an SQL database to store object and relationship data. The repository engine is scalable from desktop-based to server-based solutions. Tool features, team development capabilities, and tool integration capabilities that were once restricted to high-end and proprietary development environments are now available to a wide range of software tool developers and tool users. This scheme is graphically displayed in Figure 5.

Figure 5 The Repository Engine Stores Object-oriented Data in Relational Tables

An Evolutionary Strategy

Microsoft Repository 1.0 exposes information models by way of ActiveX objects, and uses Microsoft SQL Server as a storage and query provider. It is the first successful step of an evolutionary strategy to make repository technology generally available to the development community.

В начало страницы