Migracja rodem z Polski

Z Andrzejem Kobosem, prezesem Supra sp. z o.o., rozmawia Tomasz Marcinek.

Z Andrzejem Kobosem, prezesem Supra sp. z o.o., rozmawia Tomasz Marcinek.

W ubiegłym tygodniu IBM poinformował o planach przejęcia Informix Software. Wydaje się, że jednym z głównych powodów tej transakcji jest chęć przejęcia ok. 100 tys. klientów Informixa i skłonienie ich do przejścia na technologię IBM - DB2. Jednak przenoszenie aplikacji Informix 4GL na obce platformy bazodanowe jest długotrwałe, drogie i obarczone ryzykiem niepowodzenia. Tymczasem Supra od kilku lat dysponuje technologią, pozwalającą na przenoszenie aplikacji Informixa do bazy DB2 w ciągu weekendu...

Rzeczywiście. Prace nad własną technologią migracji rozpoczęliśmy przed ponad 5 laty, właśnie dlatego że zauważyliśmy problemy w dotychczasowych metodach przenoszenia aplikacji. Każda z nich zakładała bowiem, że kod czwartej generacji należy przetłumaczyć na język trzeciego poziomu, najczęściej Cobol lub C. W tym właśnie tkwił ich największy błąd. Kod wynikowy nie jest wydajny i ma kilkakrotnie większą objętość niż oryginał. Wszystko to sprawia, że skala projektu znacznie rośnie i trudno nad nim zapanować. Problemy biorą się również stąd, że osoby tworzące aplikacje w językach 4GL rzadko znają starsze języki niższego poziomu. To właśnie dlatego projekty migracyjne trwają latami, a często kończą się fiaskiem.

Jaki jest zatem pomysł Supry na sprawną migrację aplikacji Informix 4GL?

Zamiast tłumaczyć kod Informix 4GL na język trzeciego poziomu, stworzyliśmy własny język programowania - Supra 4GL. Informix 4GL jest jego podzbiorem. Kod Supra 4GL współpracuje zarówno z motorami baz Informix, jak i IBM DB2. DB2 zyskuje dzięki nam środowisko 4GL, którego do tej pory nie miała. Nie rozwiązuje to jednak problemu. Bazy Informixa i IBM różnią się znacznie pod względem struktury, dostępnych poleceń itd. Sprawia to, że prosta rekompilacja nie wystarczy. Aby temu zaradzić, wprowadziliśmy warstwę pośrednią między interfejsem CLI bazy DB2 (Call Level Interface - odpowiednik ODBC w Windows - przyp. autora) a aplikacją. Komponent ten nazwaliśmy MultiDatabase Connectivity. MDC niweluje różnice semantyczne i syntaktyczne pomiędzy różnymi środowiskami bazodanowymi, w szczególności uzupełnia brakujące funkcje. Metadane, takie jak RowID czy Serial, są odwzorowywane w bazie jako dodatkowe kolumny. Baza jedynie je przechowuje. Interpretacja zaś należy do MDC.

W komentarzach dotyczących przejęcia działu baz danych Informixa przez IBM pojawiają się opinie, że IBM chce po prostu zwiększyć udział w rynku i zająć lepszą pozycję w konkurencji z największym rywalem - Oracle. W ciągu najbliższych miesięcy miałby zaproponować klientom Informixa migrację na platformę DB2. Jeśli nie zrobi tego szybko, klienci ci mogą bowiem zdecydować się na rozwiązania konkurencji - Microsoftu i Oracle'a. Czy wobec tego IBM, a także jego rywale są zainteresowani bliską współpracą z Suprą?

Nie jest tajemnicą, że od pewnego czasu utrzymujemy kontakty ze wszystkimi ważniejszymi producentami baz danych. Rozmawiając zarówno z szefami polskich oddziałów, jak i przedstawicielami central macierzystych firm, wiemy o mocnych i słabych stronach ich rozwiązań. Najintensywniejsze rozmowy prowadzimy z IBM. Uważamy go za lidera w technologiach baz danych i wiążemy z nim swoją przyszłość. Duża w tym zasługa Janet Perna, która od kilku lat kieruje rozwojem DB2. Jestem jednak pod wrażeniem najnowszych baz danych Microsoftu. Dlatego w najbliższym czasie planuję wizytę w Redmond.

Jakie korzyści może przynieść użytkownikom aplikacji Informixa zastosowanie Państwa rozwiązania?

Dzięki naszej technologii użytkownicy aplikacji Informix 4GL mogą dowolnie zwiększyć skalowalność swoich aplikacji. DB2 działa bowiem na wszystkich liczących się platformach systemowych - S/390, OS/400, AIX, Linux, Solaris, HP-UX, SCO, a nawet Windows. Klienci nie muszą więc rezygnować z dokonanych już inwestycji w oprogramowanie. Istniejące rozwiązania można przeno- sić automatycznie, bez modyfikowania aplikacji i struktury bazy. Nadal można też tworzyć aplikacje w języku 4GL. Nie ma nawet potrzeby wymiany sprzętu. W ciągu ostatnich lat udało nam się dostosować oprogramowanie do tego stopnia, że straty wydajności wynika- jące z zastosowania warstwy pośredniej MDC nie przekraczają 3%. Przy okazji migracji aplikacji dajemy klientom możliwość zmiany terminali znakowych na graficzne, działające w środowisku Java.

Czy w analogiczny sposób można by przenieść aplikacje Informix 4GL na dowolną bazę danych, np. Oracle czy SQL Server?

Z technicznego punktu widzenia nie ma przeszkód.

Jak wielu klientów zdecydowało się na skorzystanie z Państwa technologii?

Obecnie jesteśmy zaangażowani w kilkanaście projektów - zarówno w Polsce, jak i zagranicą. Z propozycją współpracy zwrócił się do nas m.in. rząd czeski. Coraz częściej mamy do czynienia z instalacjami ogólnopolskimi. Z naszych usług migracyjnych korzystały m.in. Instal Lublin SA, Akademia Górniczo-Hutnicza, MPEC SA czy FIN SA. We wszystkich wymienionych przypadkach konwersja odbywała się kilka lat temu. Systemy, które wtedy przenosiliśmy, działają bez problemu do dziś.

Kilka dni po ogłoszeniu przejęcia Informixa przez IBM, Oracle wydał oświadczenie, w którym zachęca klientów i partnerów Informixa do udziału w swojej inicjatywie migracyjnej SafeSwitch. Co Pan o tym sądzi?

Narzędzia wykorzystywane w programie SafeSwitch pozwalają jedynie na odwzorowanie formatu bazy danych. Przed dwoma tygodniami na stronach Oracle Technology Network przedstawiciele Oracle'a informowali, że w przypadku Informixa przeniesienie procedur składowanych, triggerów i wielu innych ważnych elementów nie będzie możliwe. Skorzystanie z propozycji SafeSwitch sprowadza się więc do konwersji aplikacji 4GL na język C i prób zmiany bazy, które niekoniecznie zakończą się sukcesem. Nie zdziwiłbym się, gdyby już podczas konwersji klientowi było proponowane jednoczesne wdrożenie pakietu Oracle Applications.

Przed 5 laty przewidział Pan, że Informix musi zostać kupiony przez większą firmę, i rozpoczął pracę nad narzędziami do migracji. Jak obecnie widzi Pan przyszłość rynku baz danych?

Rywalizacja na rynku technologii baz danych z roku na rok się zaostrza. W obliczu spowolnienia wzrostu gospodarczego o nowych klientów jest trudno. W tej sytuacji wzrost może odbywać się głównie przez przejmowanie klientów konkurencji. Pierwszym przykładem jest transakcja pomiędzy IBM a Informixem. Prawdopodobnie już wkrótce będzie tylko trzech liczących się producentów. Przewiduję, że Sybase - podobnie jak Informix - zostanie także kupiony.

Należy jednak pamiętać, że sprawa Informixa to nie porażka tej technologii, a jedynie skutek błędów w zarządzaniu. Technologia Informixa jest wysokiej jakości i przez wiele następnych lat będzie wykorzystywana. Stopniowo najlepsze jej elementy zostaną przeniesione do DB2. Prawdopodobnie proces ten będzie trwać wiele lat - podobnie jak w przypadku technologii RDB Digital Equipment, zakupionej przez Oracle'a.

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

TOP 200