Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

An OMRS Connector is a Java class that supports the standard OMRS Connector API.  This API defines a call interface to create, search, query, update and delete metadata.  The implementation of a specific OMRS connector determines which type(s) of metadata repository it is able to access.

OMRS Connectors are used in 4 places:

  • They are called from the Open Metadata Access Services (OMAS).  Because all OMRS connectors support the same API, the OMAS APIs can work with any OMRS Connector implementation.  The OMAS API manages the connection information that identifies which OMRS Connector implementation plus the network address and user credentials it is using in its configuration.
  • The OMRS event notification framework uses the OMRS Connector to store reference copies of metadata in a metadata repository.
  • The Enterprise OMRS Connector (described below) uses multiple OMRS Connectors to federate calls to multiple metadata repositories and aggregate the responses.
  • The OMRS Proxy (part of the toolkit for integrating new metadata repositories into the open metadata ecosystem) uses an OMRS Connector to connect a metadata repository.

 

...

OMRS Connector Implementations

Initially we plan 4 implementations of connectors with the OMRS Connector API.  These connector implementations will be part of the Apache Atlas code base. 

 

ConnectorDescriptionJIRA
Local Atlas OMRS ConnectorThis is the connector to a local Apache Atlas metadata repository.  It calls directly to Apache Atlas's internal interface for the metadata repository and as such is always deployed in an Apache Atlas Server.
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyATLAS-1773
OMRS REST ConnectorThis is a connector to a remote Apache Atlas repository (or any other metadata repository that supports the OMRS REST APIs).  This is the connector used by an open metadata repository to make a direct call to another open metadata repository.  It is also used by the Enterprise OMRS Connector described below.
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyATLAS-1773
IGC OMRS ConnectorThis is the connector for retrieving metadata from IBM’s Information Governance Catalog.   This connector translates the calls to its OMRS Connector API to IGC's REST API and then translates the results of these calls to appropriate responses on its API.
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyATLAS-1774
Enterprise OMRS ConnectorThis connector can issue calls to multiple OMRS connectors and aggregate the results as if the metadata was stored in a single repository.  This is how metadata queries are federated across the metadata repository cluster.   Since all implementations of OMRS connectors have the same API, the Enterprise OMRS Connector is able to work will a heterogeneous collection of OMRS connectors.  It uses its configuration to create the appropriate instances of the OMRS connectors.
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyATLAS-1775

...

Every OMRS connector supports the Open Connector Framework (OCF).  This means that they use connections to define the network address and user credentials necessary to access a specific instance of a metadata repository.  Figure 1 shows some potential patterns for the use of OMRS Connectors to access different types of metadata repositories.  The letters above each pattern (A, ..., D) refer to the notes beside the diagram.

 

Image Modified

Figure 1: OMRS Connector Patterns

A

The Local Atlas OMRS Connector is hosted in the Apache Atlas server and calls the local internal metadata repository API. Every Atlas server will have one of these connectors.
BThe OMRS REST Connector translates calls to its interface to calls the OMRS REST API of a remote metadata repository.  Apache Atlas servers support the OMRS REST API, and other metadata repositories may also implement this interface too.
CMetadata repositories that have their own API can create a connector to translate OMRS calls to call to their API.  The IGC OMRS Connector is an example of this type OMRS connector written to support a specific metadata repository that is not Apache Atlas.  This OMRS Connector will be included in the Apache Atlas build so it can be called directly from and OMAS API, the Enterprise OMRS Connector or the OMRS Adapter.
DThe Enterprise OMRS Connector (see here for more details) converts each call to its interface to a call to each of the OMRS connectors that it is configured to work with.  It then aggregates the results together for form the response to its call.

...

Together the OMRS Connectors provide a flexible way to make calls to many types of metadata repositories.    Figure 2 illustrates these OMRS connectors in action.  Since OMRS connectors are Java, those that are committed into the Atlas build can be hosted directly in the Atlas server.  Additional connectors can be built by anyone and these can be assessed through the OMRS REST interface.

 

Figure 2: Using the OMRS Connectors to access metadata in a metadata repository cluster

...

  1. There are many OMAS APIs, each designed for a different type of consumer.  Each OMAS API has a simple, bean-like Java interface for applications to call (or the application may use the OMAS REST API directly).
  2. The OMAS REST APIs provide JSON versions of the objects supported in the OMAS APIs.  The OMAS Java Server classes implement the REST APIs.  Each Java Server Class uses the connector broker to acquire an OMRS Connector.
  3. The Local Atlas OMRS Connector provides access to the local metadata repository.
  4. This local repository includes a graphDB accessed through TinkerPop.
  5. The Enterprise OMRS is able to aggregate metadata from multiple metadata repositories in response to a single request for metadata.  It does this by replicating the request across multiple downstream OMRS Connectors and then aggregating and correlating the results.
  6. The Enterprise OMRS Connector is typically configured to call the local Atlas Repository for creates.  Updates go to the repository where the metadata entity was created.
  7. In addition, the Enterprise OMRS may be configured to call other metadata repositories using OMRS Connector implementations that have been built into the Atlas runtime.  In this example,  (7) shows an OMRS connector that can call IBM’s Information Governance Catalog (IGC).
  8. The IGC OMRS Connector will translate OMRS calls into IGC REST calls.
  9. For calls to remote Atlas Servers, and other servers that have OMRS connectors that are not included into the Atlas runtime, the Enterprise OMRS Connector will use the OMRS REST Connector.  This connector translates OMRS connector requests into remote OMRS REST calls. 
  10. The OMRS REST Connector may also be called from the OMAS Java Server classes to pass-through metadata requests to a remote metadata server.
  11. Every Atlas runtime supports the OMRS REST APIs.
  12. When an Atlas runtime received an OMRS REST call, it is passed to the local Atlas OMRS connector and is executed against the local metadata repository.
  13. The OMRS REST Connector can be used to connect to an adapter OMRS Proxy for other types of metadata repositories.  
  14. The adapter OMRS Adapter would host an OMRS Connector to the metadata repository.  This provides a solution for OMRS Connector implementations that are not (yet) integrated into the Atlas build.  The downside of this approach is the additional network hop that the adapter introduces.
  15. An OMRS REST Connector can be incorporated into other metadata repositories to enable them to query Atlas metadata.  Typically the repository will use the Enterprise OMRS Connector to ensure it is reaching as much metadata as possible.
  16. This includes IBM’s Information Governance Catalog (IGC).

...