Nowa technologia replikacji Sybase'a

Przejście z centralnej składnicy danych o firmie i jej zasobach informacyjnych, umieszczonej na mainframie, na system sieciowy z wieloma serwerami i komputerami PC, wymaga podjęcia decyzji w jaki sposób i gdzie należy przechowywać dane o strukturze informacji w przedsiębiorstwie. I tak powstała idea tzw. repozytorium, to jest centralnej składnicy metadanych.

Przejście z centralnej składnicy danych o firmie i jej zasobach informacyjnych, umieszczonej na mainframie, na system sieciowy z wieloma serwerami i komputerami PC, wymaga podjęcia decyzji w jaki sposób i gdzie należy przechowywać dane o strukturze informacji w przedsiębiorstwie. I tak powstała idea tzw. repozytorium, to jest centralnej składnicy metadanych.

Klient/serwer

Użytkownicy PC, sprawnie posługujący się swą ulubioną zabawką, domagają się równie sprawnego dostępu do danych, przechowywanych do tej pory na większych komputerach. Dział informatyki firmy, zmuszony do zmniejszania kosztów informatycznej obsługi przedsiębiorstwa, musi jakoś skutecznie wykorzystać te wszystkie PC, których namnożyło się jak grzybów po deszczu. Szybki postęp w technologii i podwajająca się co dwa lata moc obliczeniowa PC powoduje, że jego użytkownicy sądzą, iż świetnie nadają się one do obsługi informatycznej całego przedsiębiorstwa.

I tak narodził się termin "downsizing" oznaczający początkowo przenoszenie aplikacji z dużych komputerów (mainframów) na mniejsze, a nawet czasem na całkiem małe PC.

Jednakże firmy, które zaczęły wyznawać tę ideologię obsługi działalności, dość szybko przekonały się, że samodzielny PC nie spełnia ich wszystkich oczekiwań i nie dostarcza dostatecznie niezawodnego środowiska do opracowania aplikacji. Pojawił się więc nowy termin "upsizing". Firmy wymagające większych mocy obliczeniowych i możliwości, rozwiązują swe problemy przez łączenie wielu PC w sieci lokalnej albo przez zamianę części PC na potężniejsze serwery lub komputery średniej wielkości. Ponieważ każda firma ma inne potrzeby i wymagania - powstał nowy termin "rightisizing".

I tak też narodziła się idea aplikacji klient/serwer, działających na serwerach lub stacjach klienta, połączonych przez sieć lokalną. Klientami w tej sieci mogą być zarówno PC, jak i silniejsze stacje robocze.

Główna funkcja serwera polega na działaniu jako przekaźnika między stacjami klienta a możliwościami obliczeniowymi infrastruktury organizacyjnej firmy i jej zasobami informacyjnymi. Serwer może służyć jako lokalna składnica danych lub przekazuje żądania dostępu do danych odpowiednim urządzeniom w sieci. Serwerem może być dowolny komputer: od silnego PC, przez komputer średniej wielkości aż po uratowanego z pogromu mainframa. Biorąc pod uwagę, że moc obliczeniowa serwera może być całkiem spora, wykorzystuje się go na wiele sposobów:

* jako składnicę poczty elektronicznej, łącznie z pocztą głosową;

* jako bramy do świata zewnętrznego;

* do przetwarzania wsadowego nocą, gdy system nie jest obciążony;

* jako centralną przechowalnię plików;

* jako biuletyn informacyjny;

* jako procesor komunikacyjny;

* do obsługi aplikacji multimedialnych;

* jako wspólną składnicę o danych.

Taka różnorodność wykorzystania komputerów w instalacji sieciowej prowadzi do następującej definicji środowiska

klient/serwer:

"Środowisko obliczeniowe, w którym przetwarzanie aplikacji odbywa się jednocześnie na komputerach stołowych 'klientów' i na `serwerach' w sieci".

Repozytorium

Idea globalnej składnicy informacji o strukturze zasobów informacyjnych przedsiębiorstwa, projektach informatycznych, regułach działalności (business rules) czy obiektach globalnych i miejscu ich przechowywania nie jest nowa. Pierwsze takie systemy stworzyła firma IBM w celu pamiętania informacji o strukturze aplikacji i jej elementach; ona też zresztą nadała tę nazwę. Termin "repozytorium" jest często używany zamiennie z terminem "słownik danych" (data dictionary). Centralne repozytoria "danych o danych", czyli składnice "metadanych" są znane pod nazwą "korporacyjnego repozytorium danych". Nic zresztą dziwnego, że takie składnice są potrzebne: aby skutecznie zarządzać zasobami informacyjnymi i projektami informatycznymi w dużej firmie, konieczna jest szczegółowa wiedza o nich. Nawet obecnie w środowisku klient/serwer ich rola nie zmalała; wręcz przeciwnie - wzrosła. Trzeba jedynie dobrze rozważyć jak je realizować, czemu mają służyć, jakie dają korzyści i jakie jest ryzyko ich używania.

Dla kogo repozytorium?

W dużej firmie repozytorium jest przydatne zarówno dla dyrektora firmy, szefa działu informatyki, jak i programistów zajmujących się opracowaniem aplikacji na potrzeby firmy.

Z punktu widzenia dyrektora, repozytorium to swoista mapa zasobów informacyjnych firmy, pozwalająca na orientowanie się zwłaszcza w tym, jak można je dobrze wykorzystać. Wprawdzie od tego miejsca jeszcze daleka droga do pełnego wykorzystania, np. za pośrednictwem tzw. hurtowni danych (data warehouse), ale repozytorium pozwala na zorientowanie się zarówno w formie, jak i rozmiarach zasobów informacyjnych.

Szef działu informatyki musi najczęściej dbać o to, aby wymagania użytkowników w zakresie dostępu do danych, opracowania nowych aplikacji czy zmiany istniejących były spełniane możliwie szybko. Zespół informatyków powinien więc działać możliwie efektywnie. Repozytorium pozwala na orientowanie się w globalnych zasobach firmy, dając jednocześnie możliwość tworzenia podzbiorów, odpowiednich do opracowywanych aplikacji.

Programista lub administrator baz danych na ogół nie potrzebuje dostępu do wszystkich danych w firmie. Jeżeli jednak istnieje repozytorium, to pozwala mu ono na zorientowanie się, czy aplikacja może korzystać z wszystkich zasobów. zasoby biorą udział w aplikacji.

Współczesne narzędzia CASE pozwalają na tworzenie repozytorium związanego z prowadzonym projektem. Powstaje jednak ryzyko pominięcia danych i informacji o nich, powstającej w innym narzędziu CASE, w innym projekcie lub aplikacji prowadzonej przez inny zespół.

Integracja informacji w sieci

W większości firm (zwłaszcza w Polsce) nie ma już dużego komputera. W poszczególnych działach firmy działają samodzielne sieci LAN, w których powstają izolowane "wyspy" informacyjne. Nawet jeśli te oddzielne fragmenty sieci są zintegrowane w globalnej sieci przedsiębiorstwa, to nadal nie ma gdzie zgromadzić informacji o zasobach informacyjnych. Takim miejscem może więc być tylko wspólne repozytorium danych.

W świecie mainframów użycie repozytorium było standardem; w świecie aplikacji rozproszonych - jest warunkiem sine qua non efektywności działania.

Gdzie umieścić repozytorium?

Sprawa nie jest prosta. Tak długo dopóki firma nie opanowała w pełni techniki tworzenia aplikacji i zarządzania środowiskiem klient/serwer - korzystniej jest, jeśli repozytorium znajduje się w jednym miejscu. Ułatwia to zarządzanie i utrzymywanie aktualności danych o danych. W przyszłości zapewne korzystniej będzie rozproszyć je w różnych oddziałach firmy, zapewniając jednocześnie synchronizację zawartości za pośrednictwem odpowiedniej aplikacji klient/serwer.

Centralne repozytorium staje się, zwłaszcza w środowisku przetwarzania rozproszonego, integratorem wszystkich aplikacji.

Co realizuje repozytorium?

Funkcja repozytorium jest zależna od zasobów informacyjnych firmy: inna w przypadku konieczności przenoszenia aplikacji z dużego komputera do środowiska przetwarzania rozproszonego (business process reengineering), inna zaś w przypadku tworzenia hurtowni danych. Można jednak wyróżnić kilka funkcji i właściwości funkcjonalnych niezbędnych w każdej realizacji repozytorium:

* Tworzenie otoczki graficznej do istniejących aplikacji znakowych (wrappering) przez tworzenie mapy ekranów wprowadzania/przeglądania danych i przebiegu funkcji menu. Przykładowo, Texas Instruments Information Engineering Facility (IEF), jest w stanie analizować aplikacje znakowe z dużych komputerów.

* Przeglądanie istniejących aplikacji, plikowych baz danych, katalogów relacyjnych baz danych i słowników narzędzi CASE w celu uzyskania z nich kompletnej i spójnej informacji, analizowania i tworzenia ich modelu. Przykładowo, Seer*HPS daje możliwości przeglądania i analizy aplikacji na dużych komputerach.

* Wsparcie CASE. Operacje reverse engineering na istniejących aplikacjach w celu stworzenia post factum modelu danych, na którym zostały oparte. Najwięcej problemów stwarzają tu działające wiele lat aplikacje na duże komputery, zmieniane wielokrotnie, często bez dokumentacji, czasem nawet tworzone bez planu i spójnego modelu. Uzyskanie z nich kodu do pracy na poziomie modelu danych, jest bardzo trudne. Przykładowo, Aplication Object Repository, część narzędzia UNIFACE, daje możliwości zbliżone do współczesnych narzędzi CASE.

* Ułatwienie dostępu do danych za pomocą hurtowni. Jak wskazują badania rynkowe prowadzone przez CW (USA), jeżeli jeszcze w 1993 r. tylko 5% firm było zainteresowanych tworzeniem hurtowni danych, to udział ten wzrósł do 90% w 1994 r. Porozumienie Microsoft i Texas Instruments, zawarte pod koniec 1994 r., ma na celu opracowanie wspólnej strategii ułatwienia dostępu do danych. Ważnym elementem tego porozumienia będzie opracowanie centralnego repozytorium danych.

* Rozszerzalność. Oznacza to, że jeśli ktoś - dostawca, nabywca lub użytkownik repozytorium - potrzebuje dodać informacje o obiektach, których nie było w początkowej definicji repozytorium, może to łatwo uczynić.

* Niezależność od technologii. W wielu firmach dane są rozproszone w różnych środowiskach i zarządzane za pomocą różnorodnych narzędzi; repozytorium musi dać się zarządzać za pomocą tych samych narzędzi. Współczesne repozytorium powinno działać z dowolnym protokołem komunikacyjnym, dowolnym systemem zarządzania bazami danych, dowolnym systemem operacyjnym na serwerze i dowolnym systemem operacyjnym klienta.

* Skalowalność i rozproszenie. Pojęcie "centralne repozytorium" nie oznacza, że musi ono być zlokalizowane w jednym miejscu. Czasem wręcz przeciwnie - musi być rozproszone. Powstaje więc problem skalowalności - od pojedynczego komputera do wielu komputerów sieci LAN i synchronizacji zawartości różnych jego części składowych (wirtualne repozytorium).

* Obsługa pracy grupowej. Niezbędny jest zestaw narzędzi, umożliwiających korzystanie z repozytorium przez zespoły programistów, kontrolę czasu życia projektów i danych, kontrolę wersji, dostępu, umożliwienie dostępu do danych z popularnych pakietów CASE i in. Przykładowo TI Encyklopedia umożliwia każdemu projektantowi wydzielenie dla siebie tej części specyfikacji, która jest mu potrzebna. Podobne możliwości daje Freeway firmy Seer.

* Synchronizacja. Każda zmiana w projekcie czy definicji obiektu powinna uwidocznić się w repozytorium i odwrotnie - zmiana danych w repozytorium powinna mieć natychmiastowy wpływ na projekt. Przykładowo UNIFACE dostarcza specjalne narzędzie do synchronizacji tych informacji.

* Integracja z innymi narzędziami do analizy problemu, metodyki tworzenia aplikacji, dystrybucji aplikacji i danych w sieci, graficznych narzędzi do tworzenia formularzy itp.

Jakie rozwiązania?

Istnieje wiele firm oferujących narzędzia do tworzenia centralnego repozytorium danych (m.in. BrownStone, LBMS, Seer, Texas Instruments, UNIFACE). Większość z oferowanych rozwiązań ma charakter otwarty: można do niego włączać narzędzia innych producentów, uzupełniać jego funkcjonalność lub ograniczać do szczególnych platform sprzętowych i systemowych. Wszystkie otwarte rozwiązania działają na ogół na platformach unixowych (czasem także na dużym komputerze IBM), zapewniając przenośność.

DataDictionary Solution

Przykładowe centralne repozytorium, zrealizowane w technologii klient/serwer - DataDictionary Solution (DD/S) oferuje firma BrownStone (obecnie zakupiona przez Platinum Technology). Znane jest także pod nazwą "dobrze połączonego repozytorium", gdyż można z niego korzystać za pomocą wielu języków programowania (Cobol, SQL, PL1, JCL, C), używać wielu systemów zarządzania bazami danych do pamiętania metadanych (DB2, DB2/2, IMS, SQL Server, Oracle, Sybase) oraz korzystać z wielu typowych narzędzi dostępu do jego zasobów danych.

Obiektowa warstwa aplikacji pozwala na definiowanie i dziedziczenie obiektów, zawierających definicje danych w firmie, niezależnie od używanych narzędzi i systemu zarządzania danymi. Funkcjonalna warstwa repozytorium umożliwia rozproszenie danych na wiele serwerów i stacji klientów. Realizacja wykorzystuje tzw. statyczne SQL (tj. wbudowane w aplikację) w celu zwiększenia szybkości dostępu do informacji o danych.

Repozytorium BrownStone może korzystać z repozytorium narzędzi CASE, takich jak LBMS System Engineer i in. Dzięki temu możliwe jest proste włączenie danych o już istniejących projektach do nowo tworzonego systemu.

Producent oferuje także komplet narzędzi do: kontroli czasu życia danych, kontroli wersji aplikacji, zarządzania projektami, standaryzacji nazewnictwa, umożliwia wykonywanie zapytań ad hoc (dynamiczne SQL), daje możliwości tworzenia raportów, korzystania ze skryptów i formularzy ekranowych. Bardziej szczegółowe informacje na temat DD/S można uzyskać w firmie Platinum Technology (tel. warszawski 617 26 74).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200