...
In order for the Open Metadata Repository Services (OMRS) to be able to query and distribute metadata from many different types of metadata repositories, it needs a common interface for accessing these metadata repositories. Most metadata repositories today have an external API already, so OMRS uses the Open Connector Framework (OCF) to create a client-side common interface for metadata repositories. This interface is called the OMRS Repository Connector API.
An OCF Connector is a java client for accessing an asset. In the case of the OMRS Connector, the asset being accessed is a metadata repository. Figure 1 shows how the OMRS Repository Connector extends the OCF Connector API with the OMRSMetadataCollectionConnector interface to add the method to retrieve the metadata collection object.
...
Figure 1: OMRS Connector API showing extension of the OCF connector API |
The Metadata Collection MetadataCollection object allows searches, queries and maintenance of the metadata entities and relationship. It returns and consumes POJO style java objects to represent the metadata entities and relationships so that requests to the metadata repository are as efficient as possible without too much chattiness across the network if/when a metadata repository is remote from the OMRS Connector. Calls to the POJO style objects returned by Metadata Collection are local. Calls to the Metadata Collection API itself typically involve interactions with the metadata repository (or repositories) supporting the metadata collection.
...
Figure 2: The Metadata Collection API | There are four five groups of methods on Metadata Collection:
The POJO objects returned for metadata instances are represented as Entities and Relationships. Entities are the concepts and assets that the metadata represents and the Relationships between them show how they are related. Entities and Relationship can contain properties. Entities may have complex structures as properties (called Structs) and they may be classified using a Classification. Structs and Classification can contain properties and are linked to the Entity. This is illustrated in figure 3: Figure 3: Structure of metadata instances The TypeDefs define the properties for Structs, Classifications, Entities and Relationships and how they relate to one another. These are defined in StructDefs, ClassificationDefs, EntityDefs and RelationshipDefs respectively. Each property attribute is described by an AttributeDef. It is also possible to define enumeration types for properties using EnumDefs and structs (complex types) using StructDefs (although StructDefs are only allowed in AttributeDefs for entities). |
...
...