Open Archives Iniative – Protocol for Metadata Harvesting (OAI-PMH) is a protocol designed to collect metadata from various repositories.
There are two main actors in this approach. On one side there is the Data Provider(s), who expose and make their metadata available via OAI-PMH. On the other side is the Service Provider, who makes OAI-PMH service requests to harvest that metadata.
Setting up OAI-PMH
To be able to offer an OAI-PMH target, one has to set up a web service that supports a series of so called "verbs":
- Identify: returns the identification of the OAI-repository
- ListMetadataFormats : returns a list of supported metadata formats
- GetRecord : returns the metadata of the requested item
- ListIdentifiers : returns a list of identifiers
- ListRecords : returns a list of metadata objects
- ListSets : returns a list of available sets
OAI-PMH requests are expressed as HTTP request (SOAP or REST) while all responses are formatted in XML. For harvesting purposes, the Service Provider will usually invoke the ListRecords verb (with a metadata prefix and usually a datespan) on the Metadata Provider.
For a more technical guidance on how to set up an OAI-PMH target you could check this wiki page.