Spaghetti nie jest dobrym rozwiązaniem

Kamil Kosiński
opublikowano: 2002-09-25 00:00

Jeżeli ktoś chce połączyć wszystkie zinformatyzowane obszary działalności przedsiębiorstwa w jedną funkcjonalną całość, to może to zrobić zarówno przez bezpośrednie połączenia aplikacji, które mają ze sobą współpracować, jak i wykorzystanie platform komunikacyjnych typu middleware. W większych firmach praktycznie tylko to ostatnie rozwiązanie ma sens.

Każda firma, która nie jest zupełnie mała, opiera swój system informatyczny na aplikacjach biznesowych pochodzących od kilku, kilkunastu, a niekiedy kilkudziesięciu producentów. Nawet jeśli każdy z tych programów jest bardzo dobry w swojej klasie, to warto by jeszcze połączyć je ze sobą w spójną całość obejmującą wszystkie zinformatyzowane obszary działalności przedsiębiorstwa. Można tego dokonać na dwa sposoby: poprzez zakup systemu zintegrowanego klasy ERP lub wykonanie połączeń między tzw. systemami wyspowymi, pochodzącymi od różnych producentów.

W pierwszym przypadku ma się do czynienia ze stosunkowo prostym wdrożeniem.Trzeba się jednak liczyć z koniecznością kompromisów w funkcjonalnościach kupowanego oprogramowania. Rzadko się bowiem zdarza, aby system ERP nie miał słabych punktów. Kupując pakiet z doskonałym modułem finansowo-księgowym można otrzymać bubel w zakresie gospodarki magazynowej, a stawiając na aplikację z rozwiniętym zarządzaniem produkcją można przeżyć głębokie rozczarowanie funkcjonalnością z zakresu zarządzania kadrami. Poza tym, zastosowanie systemu klasy ERP jako głównego składnika środowiska software’owego firmy nie jest równoznaczne z zupełnym wyeliminowaniem innych aplikacji.

— Systemy ERP takich dostawców, jak SAP czy Oracle rzeczywiście zawierają szeroką gamę specjalizowanych modułów. Mimo to, większe firmy korzystające z aplikacji biznesowych tylko jednego producenta stanowią nie lada rzadkość. Większość przedsiębiorstw korzysta bowiem z bardzo wąsko wyspecjalizowanych rozwiązań branżowych, których systemy klasy ERP nie obejmują — komentuje Marek Ryński, dyrektor handlowy Sybase Polska.

Samo łączenie w spójny system aplikacji pochodzących od różnych producentów można również wykonać na dwa sposoby. Jeden z nich to wykorzystanie specjalnego oprogramowania integracyjnego (tzw. middleware), które tworzy swoisty system pośredni, będący platformą wymiany danych między aplikacjami biznesowymi. Drugi sposób to połączenia bezpośrednie między aplikacjami, które mają wymieniać informacje. Metoda ta zwana jest też połączeniami punkt-punkt.

Dzięki przeprowadzonemu w trakcie wdrożenia systemów middleware odpowiedniemu zdefiniowaniu kryteriów przekierowywania danych, platformy takie nie tylko rozróżniają, czy informacja z aplikacji A powinna być dostarczona do aplikacji B czy C, ale potrafią uzależnić ten proces od zdarzeń rejestrowanych w aplikacji D oraz przekształcić format danych wysyłanych z aplikacji A tak, aby był on zrozumiały przez używające innych formatów aplikacje B i C.

— Każda aplikacja składa się z części biznesowej i technologicznej. Ta ostatnia jest wspólna co do funkcji niezależnie od tego, czy program przeznaczony jest dla przychodni lekarskiej czy banku. Oczywiście, tabele baz danych mają różne nazwy i wpisuje się do nich dane dotyczące zupełnie innych kwestii, ale zasada ich działania jest ta sama. Wykorzystywane więc w połączeniach punkt-punkt, przenoszenie danych w taki sposób, aby jedna aplikacja mogła po prostu przeczytać tablice baz danych innej aplikacji nie jest więc niczym nadzwyczajnym i nie podnosi efektywności systemu IT. Taka prosta integracja poprzez bazy danych nie uwzględnia ponadto automatyzacji procesów biznesowych, tj. możliwości tworzenia algorytmu przepływów między aplikacjami — tłumaczy Radosław Runc, dyrektor sprzedaży do polskiego sektora finansowego w firmie BEA Systems.

Główną korzyścią z rezygnacji z łączenia systemami middleware na rzecz połączeń punkt-punkt jest jednak stosunkowo niska cena. Połączenia takie często bowiem tworzy się siłami wewnętrznych zespołów informatycznych przedsiębiorstw. Przy dużej liczbie zintegrowanych w ten sposób aplikacji powstaje jednak trudna do zarządzania sieć wzajemnych połączeń między nimi, zwana też modelem spaghetti. W takim przypadku to, co przemawiało początkowo za łączeniem systemów metodą punkt-punkt, może stać się poważnym kłopotem.

— Przeciętnie zdolny informatyk bez problemu połączy aplikacje pochodzące od różnych producentów. Wiedzę o takich połączeniach, stosowanych w danej firmie, mają jednak z reguły tylko ich twórcy. Kiedy więc ludzie zmienią pracę, to pojawiają się spore problemy z dalszym funkcjonowaniem tak zbudowanych systemów. Oprogramowanie typu middleware pozwala zaś na komunikowanie się między różnymi aplikacjami na bazie pewnego standardu — przekonuje Marek Ryński.

Middleware, w przeciwieństwie do połączeń wykonywanych przez własnych informatyków, wymaga jednak dodatkowych inwestycji. W powszechnej opinii opłacają się one w firmach chcących integrować ze sobą aplikacje pochodzące od co najmniej 3-4 producentów.

To jednak bardzo uproszczone podejście do problemu. Opłacalność takich inwestycji zależy bowiem nie tylko od liczby aplikacji, ale również zastępowanych przez oprogramowanie middleware połączeń punkt-punkt czy ewentualnych planów dalszej rozbudowy wykorzystywanych systemów IT. Nowe aplikacje łatwiej bowiem łączyć z już istniejącymi poprzez platformy tworzone w oparciu o oprogramowanie middleware niż połączenia punkt-punkt.

— Mówi się, że korzystanie z oprogramowania typu middleware ma sens w firmach chcących zintegrować co najmniej 3-4 aplikacje pochodzące od różnych producentów. Tak naprawdę, o sensowności takiej inwestycji decyduje jednak nie liczba aplikacji, lecz liczba powiązań między nimi. W firmie mającej tylko cztery systemy, każdy z nich może się bowiem komunikować albo tylko z jednym z pozostałych, albo z wszystkimi innymi. Poza tym nawet przy małej liczbie powiązań między aplikacjami, stosowanie oprogramowania typu middleware ma sens, jeśli te połączenia obsługują procesy krytyczne biznesowo. Korzystanie z takich rozwiązań bardzo też ułatwia przyszłą integrację nowo kupowanych aplikacji z oprogramowaniem już wykorzystywanym — wyjaśnia Wanda Gradek, kierownik grupy oprogramowania WebSphere w IBM Polska.

Okiem integratora

Kilka lat temu właściwie nie było prawdziwych integratorów, tylko dystrybutorzy sprzętu i firmy piszące na zamówienie. Obecnie to się zmienia. Firmy określane mianem integratorskich odchodzą do sprzedaży sprzętu, co poniekąd wynika z polityki takich koncernów jak IBM i Hewlett-Packard, które coraz bardziej stawiają na sprzedaż bezpośrednią. Pisanie aplikacji w warunkach lokalnych jest zaś coraz mniej opłacalne ekonomicznie. Integratorzy coraz częściej zajmują się więc łączeniem systemów zastanych u swoich klientów w jedną spójną całość. Robi się to zazwyczaj za pomocą oprogramowania typu middleware, które dostarcza kilku producentów, m.in. BEA Systems, IBM i Tibco. Integrator tworzy tym samym nową platformę informatyczną wspierającą procesy gospodarcze i kreuje wartość dodaną w przedsiębiorstwie klienta.

Piotr Smólski prezes firmy Ster-Projekt