Repository

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Der Titel dieses Artikels ist mehrdeutig. Zum gleichnamigen Entwurfsmuster siehe Repository (Entwurfsmuster).

Ein Repository (engl. für ‚Lager‘, ‚Depot‘ oder auch ‚Quelle‘, dt. pl. Repositorys), auch – direkt aus dem Lateinischen entlehnt – Repositorium (pl. Repositorien), ist ein verwaltetes Verzeichnis zur Speicherung und Beschreibung von digitalen Objekten. Bei den verwalteten Objekten kann es sich beispielsweise um Programme (Software-Repository), Publikationen (Dokumentenserver), Datenmodelle (Metadaten-Repository) oder betriebswirtschaftliche Verfahren handeln. Häufig beinhaltet ein Repository auch Funktionen zur Versionsverwaltung der verwalteten Objekte.

Repository zur Versionsverwaltung[Bearbeiten]

Bei zentralisierten Versionsverwaltungssystemen wie CVS oder SVN werden die Quellcodedateien oder andere Dateien in einem Repository oder Projektarchiv gehalten. Sie werden von dort „ausgecheckt“, d. h. auf den Rechner eines Programmierers geladen. Nach der Bearbeitung werden die geänderten Dateien wieder in das Repository „eingecheckt“, wobei die Veränderung protokolliert wird. Die Versionsverwaltung dient der Dokumentation der Systementwicklung, erlaubt aber auch die jederzeitige Rekonstruktion von früheren Zuständen der Systembeschreibung.

Software-Repository[Bearbeiten]

Hierbei enthält das Repository Programmpakete und zugehörige Metadaten, z. B. Beschreibungen der Pakete, Abhängigkeitsinformationen und Änderungsprotokolle. Das Installieren bzw. Aktualisieren der Software aus dem Repository übernimmt ein Paketmanager. Daher wird in diesem Zusammenhang auch oft die deutschsprachige Bezeichnung Paketquelle benutzt. Populäre Beispiele für Software-Repositories sind CPAN oder Portable Apps.

Dieses Prinzip wird häufig von Linux-Distributionen verwendet, um dem Benutzer an zentraler Stelle Zugriff auf aktuelle oder getestete Software zu ermöglichen. Ein Vorteil ist, dass mit einem Update durch die Paketverwaltung sowohl das System als auch die Anwendungen aktualisiert werden und so das manuelle Überprüfen der Aktualität durch Besuch der einzelnen Projektwebseiten entfällt. Die Pflege eines Programmpakets in einem Update-Repository übernimmt ein Paket-Maintainer, der meist aus der Community rund um die Distribution stammt und nicht in die eigentliche Entwicklung der Software involviert sein muss.

Metadaten-Repository[Bearbeiten]

Bei Metadaten-Repositorien handelt es sich üblicherweise um Datenbanktabellen zur Verwaltung von Metadaten, die als Basis für hochintegrative Systeme dienen. In ihnen sind alle notwendigen Beschreibungen zum System selbst und zur Umwelt enthalten. Mit Hilfe von Metadaten-Repositorys können diese Systeme ohne Programmieraufwand flexibel auf Änderungen reagieren nach dem Motto: „Definieren statt Programmieren“. Metadaten-Repositorys werden unter anderem in Data-Warehouse und EAI-Architekturen eingesetzt.

Auch freie Faktensammlung Wikidata kann in diesem Sinne als Repository angesehen werden.

CASE-Werkzeuge[Bearbeiten]

Bei manchen Modellierungswerkzeugen („CASE“ = Computer-Aided Software Engineering) dient das Repository zur Speicherung aller Projektdaten wie beispielsweise Diagrammen, Quellcode und Dokumentationen.

Dokumentenserver[Bearbeiten]

Im Umfeld von Netzpublikationen wird der Begriff Repository synonym für Dokumentenserver verwendet. Ein Beispiel für einen Dokumentenserver ist ArXiv.org.

Siehe auch[Bearbeiten]