Implementacja panowania nad danymi z wykorzystaniem plików konfiguracyjnych danych XML
Podczas definiowania odwzorowań w plikach konfiguracyjnych danych XML zapytania są wysyłane do sterownika ODBC XML. Do wykonywania zapytań o dostępne tabele odwzorowania wymiarów można użyć tabeli systemowej System.DIMENSIONMAPPINGS. Wszystkie tabele odwzorowania wymiaru znajdują się w schemacie DimensionMappings. Struktura wszystkich tabel jest taka sama, to znaczy wartość_źródłowa i wartość_docelowa. Tabele mogą być używane do zapytań o odwzorowania wartości.
Implementacja panowania nad danymi w procesie ETL
W przypadku artefaktów hurtowni danych dla wspólnego wymiaru w operacyjnej składnicy danych są wyświetlane tylko te artefakty, które zachowują się jak artefakty główne (będące celem odwzorowania) oraz te artefakty, które nie są odwzorowane na żadne inne artefakty. Inne artefakty powiązane ze wspólnym wymiarem są bezpośrednio połączone z docelowym artefaktem oryginalnego artefaktu. Na przykład: jeśli projekt UCM RI jest odwzorowany na projekt ClearQuest Insight, tylko projekt produktu ClearQuest Insight pojawi się w tabeli PROJECT natomiast działania UCM należące do projektu UCM RI będą połączone bezpośrednio z projektem produktu ClearQuest Insight w hurtowni danych. Dla wszystkich wspólnych wymiarów, w tym dla wymiarów PROJECT, RELEASE, ITERATION, PRODUCT, COMPONENT i RESOURCE są tworzone pomostowe tabele odwzorowania o nazwach z dodanym przedrostkiem M_. Utworzone tabele są używane w procesie ETL do przechowywania relacji odwzorowania.
Ponieważ logika jest ogólna, w folderze Others/DimensionMapping zostają utworzone kompilacje i zadania ETL wielokrotnego użycia. Należy zmienić źródło danych w kompilacji na źródło danych, w którym zdefiniowano odwzorowania, zmienić nazwę połączenia w zmiennej Connection zdefiniowanej w zadaniu na nazwę połączenia źródła danych, w którym zdefiniowano odwzorowania i dodać zmienione zadanie do tworzonego zadania.
Podczas ładowania artefaktów źródłowych kompilacja musi wyszukać ten wspólny wymiar w pomostowej tabeli odwzorowania, aby sprawdzić, czy konkretny artefakt występuje w pomostowej tabeli odwzorowania jako źródło odwzorowania. Jeśli wyszukiwanie zwróci zgodne wyniki, rekord w pomostowej tabeli odwzorowania zostaje zaktualizowany. Jeśli wyszukiwanie nie zwróci zgodnych wyników, artefakt jest dostarczany do operacyjnej składnicy danych w zwykły sposób. Dla każdego wspólnego wymiaru zostaje utworzone wyszukiwanie z przyrostkiem _Source w nazwie, które służy do wyszukiwania danych źródłowych w pomostowej tabeli odwzorowania.
Wymiar wyszukiwania użyty w modelu transformacji do wyszukiwania wspólnego wymiaru, przeprowadza wyszukiwanie zarówno w tabeli operacyjnej składnicy danych, jak i w pomostowej tabeli odwzorowania. Dla danych z operacyjnej składnicy danych wyszukiwanie zwraca klucz-odpowiednik rekordu. Dla danych z pomostowej tabeli odwzorowania wyszukiwanie zwraca klucz-odpowiednik artefaktów docelowych. W przypadku wspólnych wymiarów wyszukiwania są zazwyczaj używane w celu znajdowania danych z kluczami zewnętrznymi EXTERNAL_KEY1 i EXTERNAL_KEY2.
Panowanie nad danymi pociąga za sobą użycie wielu źródeł danych. Z tego względu zadanie ETL musi odzwierciedlać ogólny przepływ danych. Opisana powyżej implementacja panowania nad danymi jest specyficzna dla procesu ETL i nie ma wpływu na inne komponenty. W przykładowym katalogu projekt produktu TestManager jest odwzorowany na projekt produktu ClearQuest ALM i użytkownicy produktu TestManager są odwzorowani na użytkowników produktu ClearQuest ALM o tych samych nazwach. Jeśli podczas otwierania pliku konfiguracyjnego danych XML dla procesu ETL produktu TestManager zostanie wyświetlony komunikat o błędzie, należy zaktualizować tabele odwzorowań wymiaru tak, aby wskazywały plik konfiguracyjny danych XML używany w systemie dla procesu ETL produktu ClearQuest.