Metadata for entities onboarded into GMA is served through microservices known as Generalized Metadata Service (GMS). GMS typically provides a Rest.li API and must access the metadata using GMA DAOs.
While a GMS is completely free to define its public APIs, we do provide a list of resource base classes to leverage for common patterns.
GMA is designed to support a distributed fleet of GMS, each serving a subset of the GMA graph. However, for simplicity we include a single centralized GMS (datahub-gms) that serves all entities.