Opracuj własny moduł DataBlade

Z Hubertem Borgmeierem, szefem działu opracowania modułów DataBlade Informixa w Europie, rozmawia Marian Łakomy.

Z Hubertem Borgmeierem, szefem działu opracowania modułów DataBlade Informixa w Europie, rozmawia Marian Łakomy.

W celu przybliżenia czytelnikom CW idei modułów rozszerzających możliwości serwera baz danych Informix, proszę wyjaśnić, co to są moduły DataBlade...

Idea modułów programowych nie jest nowa. Została opracowana przez prof. Michaela Stonebrakera i wbudowana w bazę danych Illustra. Celem jest zaprogramowanie innowacyjnych technologii w postaci bibliotek obiektowych, zwanych DataBlade, dołączanych do serwera baz danych, pozwalających na przechowywanie w bazie nie tylko prostych danych, takich jak: liczby, daty czy ciągi znaków, ale także bardziej złożonych typów danych: wideo, dźwięk, tekst, tekst zakodowany i in. Chodzi zresztą nie tylko o przechowywanie, ale również zarządzanie nowymi typami danych.

Gotowe moduły DataBlade można będzie włączyć do uniwersalnego serwera baz danych INFORMIX-Universal Server w prosty sposób, tak jak wkłada się żyletkę do maszynki do golenia (stąd zresztą pochodzi nazwa modułów). Serwer uniwersalny pozwala na jednoczesne włączenie wielu modułów do obsługi różnych typów danych.

Moduły DataBlade współpracują z bazą danych za pośrednictwem opublikowanego zestawu funkcji API; przed włączeniem są sprawdzane przez Informixa pod względem zgodności ze specyfikacjami i możliwości współpracy z innymi modułami.

Główna idea modułów DataBlade to umożliwienie zapamiętywania i zarządzania złożonymi typami danych za pomocą relacyjnego motoru bazy danych. Obecnie w relacyjnych bazach danych nie można zapamiętać ponad 85% informacji, dostępnych użytkownikowi. Teraz to się zmieni.

Powiedział Pan, że moduły DataBlade "włącza się" do bazy. Czy użytkownik nie będzie miał z tym żadnych trudności?

Nie. Odbywa się to za pośrednictwem programu Blade Manager, służącego do rejestrowania nowego modułu DataBlade w serwerze bazy danych. Po tej operacji można już używać każdego nowego typu danych, funkcji obsługi i metody dostępu do nich, zaprogramowanych w module. W języku SQL3 można używać nowych metod dostępu i funkcji obsługi złożonych typów danych; są one dostępne z chwilą ich zarejestrowania w trakcie instalacji nowego modułu.

Jak wygląda proces certyfikacji modułów? Jak Informix zamierza zapewnić współpracę modułów?

Proces certyfikacji modułu wymaga dostarczenia przez partnera Informixa kodu źródłowego modułu. W pierwszym etapie Informix testuje kod źródłowy za pomocą specjalnego programu, który wyszukuje źle zachowujące się części kodu, zajmowanie pamięci i nie zwalnianie jej i in. Po poprawieniu ewentualnych błędów w kodzie źródłowym przechodzimy do testowania modułu. Informix napisał "źle zachowujący się moduł", który ingeruje w działanie innych modułów, usiłując zmusić je do błędu. Każdy znaleziony błąd musi być poprawiony przez twórcę modułu. Następnie przechodzimy do sprawdzania zgodności właściwości funkcjonalnych modułu z dostarczoną specyfikacją.

Po pomyślnym przejściu trzech etapów testowania, moduł otrzymuje certyfikat (logo) zgodności z uniwersalnym serwerem bazy danych Informix. Obecnie proces certyfikacji zajmuje 12-14 tygodni.

Informix promuje kompletne aplikacje jako moduły DataBlade. Wyobraźmy sobie jednak, że jakaś firma zamierza opracować moduł, np. księga główna, nie będący jeszcze aplikacją, a inna firma chce użyć tego modułu do opracowania modułu obsługi finansowo-księgowej. Czy można tworzyć hierarchię modułów?

Właśnie takie działania prowadzi Informix. Zwykle DataBlade zawiera definicję nowych typów danych, funkcji ich obsługi i metod dostępu do danych. Ale nie każdy moduł musi zawierać wszystkie elementy. Dlatego Informix tworzy obecnie coś, co nosi nazwę Informix Foundation Blades (FB), np. Video FB, Text FB. Moduły te pozwolą partnerom wykorzystać możliwości funkcjonalne FB dla opracowania nowych modułów bez konieczności tworzenia wszystkiego od początku. Już co najmniej dwóch partnerów Informixa tworzy nowe moduły aplikacyjne, oparte na Video FB.

Informix zamierza rozwinąć tę ideę w kierunku uzyskania zestawu komponentów, działających zarówno na serwerze bazy danych, aplikacji, jak i na stacji klienta. Zamierzamy opracować je w języku Java. Jesteśmy w trakcie wbudowywania motoru Javy w serwer uniwersalny. Opracowujemy pakiet narzędziowy JWorks do przygotowania aplikacji i modułów DataBlade dla serwera uniwersalnego.

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

TOP 200