A repository napjaink informatikai megnevezése szerint általános tárolót jelent. A jegyzetünk szerint a repository-ban az adatbázis-környezethez tartozó metaadatok kerülnek tárolásra. Ezért tekinthetjük az rendszerkatalógust is egyfajta repository-nak. De a repository ettől bővebb tárolót jelent. A repository kerülhet az adatbázisba, vagy egy vagy több külön állományba. Kezelheti egy metaadatok kezelésére szolgáló szoftver, vagy lehet csak egyszerű szöveges állomány.
A metaadatok összegyűjtésével a repository információkat tárol a cég adatvagyonáról. Ha megfelelően van megvalósítva, akkor a cégnek minden metaadatát tárolhatja.
Általában a jó repository-tól és az azt kezelő szoftvertől a következő funkciók várhatóak el:
információt tárol az adatokról, a folyamatokról és a környezetekről
támogatja azt, hogy ugyanazt az adatot többféle nézőpontból vizsgáljuk. Például nyomon követhetünk egy attribútumot a koncepcionális, a logikai vagy a fizikai adatmodellben.
nagyon alapos dokumentációt tárol, amely mellett még eljárásrészletek vagy kezelő riportok is megjelenhetnek
támogatja a különböző adatmodellek létrehozását és adminisztrációját. Integrált ETL, adatmodellező és CASE eszközöket (Computer Aided System Engineering, automatikus tervező eszköz) tartalmazhat.
támogatja a verziókezelést és felügyeli a változásokat. A verziókezelés segít szinkronizálni az alkalmazásfejlesztést és növeli a rugalmasságot.
érvényre juttatja a névkonvenciókat
összegyűjti és elemzi a több forrásból származó metaadatokat
legenerálja az adatelem-definíciókat.
Ha az adatbázis-fejlesztéshez repository-t, és kezelő szoftvert kell választanunk, akkor olyat válasszunk, amely a következő tulajdonságokkal is rendelkezik:
A repository-kezelő szoftver az általa használt adattárakat az adatbázisbeli táblákban tudja tárolni. Így az integritását, a biztonságát, a mentését, és az esetleges helyreállítását az adatbázis-kezelő rendszer eszközeivel meg lehet oldani. Ez nem jelent igazán sok többlet feladatot az adatbázis-adminisztrátor számára.
A repository-kezelő szoftver több típusú adatbázis-kezelő rendszert is tud egyszerre támogatni. Ha a cégünknél több típusú adatbázis-kezelő rendszerrel dolgozunk, akkor is elegendő egy repository.
A repository-kezelő szoftver képes közvetlenül olvasni a rendszerkatalógust. Ez biztosítja, hogy a repository-kezelő szoftvernek aktuális információi legyenek az adatbázis-objektumokról.
A repository rendelkezik interfésszel azokhoz a modellező és tervező eszközökhöz, amelyeket az adatbázis-objektumok generálásához használunk.
A repository-technológiák a cégek számára nagyon sok előnyt biztosítanak. A repository-ban lévő metaadatok egyesített információkat tartalmaznak a cég különböző rendszereiről. Ezeknek az egyesített információknak a segítségével a fejlesztők könnyebben megérthetik, hogy az adott rendszerek mire és hogyan használják az adatokat. Az egyesítés segítségével olyan kapcsolatokat lehet felfedezni az adatok között, amelyek még esetleg nem ismertek a cégen belül. A kapcsolatok felfedezésével a cég új üzleti folyamatokat vezethet be, vagy a meglévőeket hatékonyabbá teheti.
A repository-nak a másik nagy előnye, hogy az adatelemek és az üzleti szabályok dokumentációjában konzisztenciát biztosít.
A repository a gyorsan változó környezeteket is támogatni tudja. A repository-ban lévő metaadatok alapján gyors riportokat lehet készíteni, amelyekből gyorsan meg lehet határozni, hogy az egyes területeken történő változások milyen hatással lesznek más területekre.
Az újrafelhasználhatósággal időt, és erőforrást spórolhatunk. A repository megkönnyíti az alkalmazáskomponensek újrafelhasználását. A repository könnyedén felismerteti azt az értéket, hogy az örökölt rendszerek programdokumentációját és a működési metaadatokat hasznosítani lehet az új alkalmazásfejlesztésnél.
A repository felbecsülhetetlenek az adattárház bevezetésénél. A repository-ban tárolt információk segítenek a többféle adatforrásból származó adatokat az adattárházba migrálni.
Az egyik legnagyobb nehézség a repository-technológia megvalósításában és használatában, a repository naprakészen tartása. A repository több forrásból származó adatokat tartalmazhat. A forrásadatok közül bármelyik bármikor változhat. Ha a forrásadatok változnak, akkor a hozzá tartozó repository-beli adatokat is változtatni kell.
A repository-ban lévő metaadatok a cég több területéről származhatnak:
a programfejlesztési eszközökből, az alkalmazásprogramokból és a kódkönyvtárakból az alkalmazáskomponensek metaadatai,
üzleti felhasználóktól üzleti metaadatok,
az adatmodellező eszközökből adatmodellező metaadatok,
az adatbázis-kezelő rendszer rendszerkatalógusából adatbázis-metaadatok,
adattárház eszközből ETL metaadatok,
automatizált műveletekből és feladatütemező eszközökből működési metaadatok
egyéb területekről, mint például a lekérdező eszközökből adathasználati metaadatok
A 3-1-es ábra a különböző területekről származó metaadatok egy repository-ban való tárolását mutatja be.
3-1. ábra – Repository és a forrásrendszerek
A fenti, nagyon heterogén területekről származó információkat kell összegyűjteni és elemezni, majd a repository-ban tárolni. Az egyesítési folyamatnak figyelembe kell vennie, hogy az egyes metaadatforrások tartalma gyakran változik. Ha változik a metaadat a forráshelyen, akkor a repository-t szinkronizálni kell, át kell vezetni ezt a változást.
Sok cégnek nincs repository-ja, vagy nem valósítja meg megfelelően az egyesítést és a szinkronizálást, és így bár van repository-ja, de nem tudja hasznát venni. Ha a repository metaadatai nem pontosak, elavultak vagy nem léteznek, a repository elveszti az értékét. A hiba nem feltétlenül a repository-technológián alapszik, hanem a cégen, amely nem ügyel a repository-ban lévő metaadatok naprakészen tartására. Természetesen ez költséggel és elkötelezettséggel jár. A repository megvalósításával, és megfelelő kihasználásával azonban ezek az erőfeszítések maximálisan megtérülnek.
Célszerű már tervezéskor létrehozni a repository-t. Ekkor már abból lehet automatikusan kódokat generálni, illetve a kódok változása esetén automatikus visszavezetést alkalmazni.