Zmienne oblicza metadanych

Już same próby zdefiniowania metadanych budzą kontrowersje. W praktyce problemów jest znacznie więcej.

Już same próby zdefiniowania metadanych budzą kontrowersje. W praktyce problemów jest znacznie więcej.

Popularna definicja metadanych, w której mówi się, że są to "dane o danych", już się przeżyła. Specjaliści z tej dziedziny uważają, że ideę metadanych lepiej wyraża stwierdzenie, że jest to "łącznik między danymi a informacją (techniczną, biznesową i innego rodzaju)", co pozwala zakwalifikować do tej kategorii wszystko to, co "określa znaczenie danych, sposób użycia, pobierania i operowania na nich". Mówiąc precyzyjniej - metadane to dowolny rodzaj informacji używanych w trakcie projektowania, tworzenia i rozwijania infrastruktury informatycznej organizacji; zawierają również opis biznesu i procesów biznesowych organizacji, jej baz i hurtowni danych, przebiegu procesów pracy.

Standardy pomagają

Różnorodność danych, procesów, modułów programowych, klas i innych obiektów, które próbuje się opisać za pomocą metadanych, nie ułatwia pracy twórcom i dostawcom ich repozytoriów. Wczesne repozytoria posługiwały się albo dobrze znaną technologią relacyjnych baz danych do przechowywania stosunkowo prostych danych o danych, albo firmowymi formatami danych, pozwalającymi na obszerniejszy opis, specyficzny dla danego zastosowania, wymagając jednak od klientów związania się z jednym dostawcą.

Do opisu hurtowni danych stosuje się dość prosty standard przemysłowy - Common Warehouse Metamodel (CWM). Nie nadaje się on jednak do innych zastosowań.

Dopiero standaryzacja języka opisu i formatów metadanych, prowadzona pod nadzorem takich organizacji, jak OMG czy W3C, doprowadziła do większej akceptacji i upowszechnienia repozytoriów metadanych.

Grupa OMG opracowuje od lat standardy tworzenia aplikacji i komunikacji obiektowej. Do przechowywania i przetwarzania danych o modułach i obiektach aplikacji OMG opracowała rozbudowany standard Meta Object Facility (MOF). Obiekty w repozytorium MOF opisuje się w języku modelowania UML, co ułatwia przenoszenie ich między różnymi aplikacjami, również modelowanymi w UML.

Konsorcjum W3C, twórca i strażnik HTML, a także zwolennik XML, korzysta natomiast z tego języka do opisu zasobów w sieci Web w formie tzw. ram Resource Description (RDF). W3C zamierza rozwijać RDF w kierunku objęcia jego zasięgiem całej sieci internetowej, co miałoby zaowocować jej większą niż obecna niezawodnością (chodzi tutaj o zawartość WWW).

Ambitne plany centralizacji

Dyskusja nad tym, co lepsze: centralna składnica metadanych czy lokalne repozytoria, przypomina definitywnie nierozstrzygnięty dylemat hurtowni danych: czy budować centralną, dużą hurtownię, czy też raczej mniejsze, lokalne minihurtownie, tzw. datamarts. Odpowiedź zależy od rodzaju prowadzonej działalności, wielkości środków, wymagań czasowych i innych czynników związanych raczej z biznesem niż stosowaną technologią.

Jeszcze kilka lat temu uważano, że w przypadku dobrego zaplanowania infrastruktury informatycznej przedsiębiorstwa istnienie centralnego repozytorium metadanych, opisującego biznesowe i techniczne aspekty działania, jest warunkiem sine qua non sukcesu podejmowanych wdrożeń. Zostało to zrealizowane m.in. w projektach AD/Cycle (IBM) czy Platinum Repository (Platinum Technology, obecnie CA), zaś w świecie unixowym przez UREP (Unisys).

Żaden z tych produktów nie odniósł sukcesu. Co więcej, firma Unisys zaprzestała rozwijania UREP w ub.r., mimo że jej produkt stanowi jądro kilku bardziej zaawansowanych systemów zarządzania metadanymi. Również świat Windows zapomniał już o Microsoft Repository, opartym na technologiach Platinum Technology i Texas Instruments.

Każdy dla siebie

Najwięcej i zarazem najpoważniejszych problemów z brakiem repozytorium danych o danych, zależnoś-ciach między danymi, obiektach, klasach mają projektanci, analitycy i twórcy aplikacji. Zapewne z tego właśnie powodu wszystkie najbardziej zaawansowane zestawy narzędzi programistycznych zawierają lokalne repozytorium metadanych o tworzonej aplikacji, pozwalając na wielokrotne wykorzystanie istniejących modułów aplikacji oraz import metadanych z pakietów do modelowania aplikacji i innych źródeł, a także tabel baz relacyjnych.