Skip to content

Software Capabilities

Many software servers are connected to the open metadata ecosystem, each with wildly differing capabilities.

A software capability documents a specific function that an IT infrastructure asset, such as a host, software server platform and software server, is able to perform. The open metadata type for a software capability is SoftwareCapability.

Metadata managing software capabilities

Some software capabilities create and manage metadata - in fact they are the true master of this metadata. for example, a database manager (aka database management system or DBMS) is the true master of metadata about database schemas.

When metadata managed by such software capabilities is shared with an open metadata repository cohort, the members of the cohort need to take note that they should not update this metadata.

The software capabilities that are recognized as managing metadata are:

The identifiers of these software capabilities are used to document the provenance of any metadata that comes from these technologies. Metadata instances that are mastered by specific software capabilities are referred to as external instances.

Asset Manager

An asset manager is typically a service that provides a catalog of assets. It is responsible for maintaining details of the assets including their characteristics, ownership, assessments and governance requirements.

Often an asset manager is specialized for particular types of assets. For example, you may see a data catalog cataloging information about data sets and data stores for a data lake. A Configuration Management Database (CMDB) is an asset manager of infrastructure assets.

Open metadata support for asset managers

An asset manager may integrate with the open metadata ecosystem using one of three methods:

The Metadata Server Exchange pattern provides more information on these options.

Master data manager

A master data manager is a capability in a software server to manage an authoritative collection of master data, typically about people, organizations, products and accounts.

Master data managers that hold information about the people and organizations using open metadata integrate their data through the Community Profile OMAS.


An engine is a software capability that is programmable to automate specific processes. Typically these processes manipulate and store data.

Below are examples of engines:

  • Workflow engine - for automating processes that coordinate the activity of people and systems.
  • Data movement engine - for automating the movement of data from one store to another.
  • Data virtualization engine - for automating the federation and transformation of data in response to a real-time query.
  • Reporting engine - for extracting data and formatting into specific reports.
  • Analytics engine - for executing analytical processes.

The metadata used by an engine relates to the processing it is performing and the data sources it is working with.

Most engines have associated tools to create the process definitions and manage the metadata, leaving the engines themselves to run the automated processes and create lineage metadata.


A tool is a user program used to create definitions that automate processes. Typically the output of a tool runs on an engine.

Tools are the master of metadata about the processes being automated and the data they are manipulating.

Examples of tools include:

  • Analytics tool - for creating analytics - for example, a python notebook.
  • Process automation tools - for creating workflows for workflow engines.

Raise an issue or comment below