You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


All OMRS Connectors implement the same API.  This API is called the OMRS Connector API.   An OMRS Connector is an OCF Connector.  This means it implements the OCF Connector API to provide access to an audit log plus the Connected Asset OMAS API to access metadata about the open metadata repository.   In addition, the OMRS Connector provides access to the Metadata Collection API.  This is shown in figure 1.

 


Figure 1: OMRS Connector API showing inheritance from the OCF connector API

 

 

The Metadata Collection API allows searches, queries and maintenance of the metadata entities and relationship.   It uses 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 the Metadata Collection API are local.  Calls to the Metadata Collection API itself typically involve interactions with the metadata repository (or repositories) supporting the metadata collection.

Figure 2 shows the Metadata Collection API signature.   Each implementation of an OMRS Connector typically provides its own implementation of both the OMRS Connector API and the Metadata Collection API.

 

Figure 2: The Metadata Collection API

 

 

The POJO style java objects shown on the Metadata Collection API cover:

  • TypeDefSummary - Summarises a specific typedef defined for the metadata collection.  It is used in the results of search requests that relate to typedefs and to describe the type of an metadata instance such as an entity, relationship, or classification.   It contains the type of typedef (StructDef, ClassificationDef, EntityDef or RelationshipDef), typeGUID, typeName and version of the typedef.
  • TypeDefDetail - Used when working with typedefs (for example when creating a new typedef).   It includes everything from the TypeDefSummary plus all of the properties defined in the typedef.  This includes nested details such as the AttributeDefs.
  • TypeDefUniverse - Used for analysis of the typedefs defined for the metadata collection.  It includes everything from the TypeDefDetail plus the TypeDefSummary for all of the typedefs that have a reference to this typedef.
  • EntityStructDetail - All of the properties and values for a Struct.  This is only ever returned as part of an EntityDetail object.
  • EntityClassificationSummary - The Classification's TypeDefSummary.  This is only used within an EntitySummary object.
  • EntityClassificationDetail - The Classification's TypeDefSummary plus all of the properties assigned to the use of the classification on a specific entity.  This is only used in an EntityDetail object.
  • EntityRelationshipSummary - Used within an EntityDetail object to describe a relationship to another entity.  It includes the TypeDefSummary of the relationship, its properties and an EntitySummary of the entity at the other end of the relationship.
  • EntityRelationshipDetail - Used within an EntityUniverse object to describe a relationship to another entity. It includes the TypeDefSummary of the relationship, its properties and an EntityDetail of the entity at the other end of the relationship.
  • EntitySummary - Used typically for search results that return entities and as part of a summary of a relationship.  The TypeDefSummary for the type of the entity plus the entity's GUID, all of its properties and structs, display name and unique attributes and EntityClassificationSummary objects.
  • EntityDetail - This object is used when maintaining entity instances.  It includes the TypeDefSummary for the type of the entity plus the entity's GUID, all of its properties and structs, plus EntityClassificationDetail objects and EntityRelationshipSummary objects for all of its classifications and relationships respectively.
  • EntityUniverse - This object is used for deep analysis of an entity.  It includes TypeDefSummary for the type of the entity plus the entity's GUID, all of its properties and structs, plus EntityClassificationDetail objects and EntityRelationshipDetail objects for all of its classifications and relationships respectively.
  • RelationshipDetail - Used on queries on specific relationships and contains the TypeDefSummary for the relationship's typedef plus its properties and EntitySummary objects for each end of the relationship.
  • RelationshipUniverse - Also used on queries on specific relationships.  It contains the same as the RelationshipDetail except that the EntitySummary objects are replaced by EntityDetail objects.

 


 

 

 

 

 

 

 


 

  • No labels