Strategia tworzenia rozszerzeń systemów legacy stosowana jest w celu implementacji nowej logiki biznesowej bez problematycznej ingerencji w ich aktualną funkcjonalność. Polega ona na tworzeniu nowego oprogramowania, wolnego od wad systemu legacy, który rozszerzamy. Choć niesie to ze sobą pewne obciążenia, jak konieczność utrzymywania kolejnej aplikacji czy środowiska, to korzyści okazują się znacząco je przeważać.
Najważniejsze cechy oprogramowania rozszerzającego
Niezależność technologiczna
Możliwość zastosowania nowszej technologii, będącej najbardziej odpowiednią z punktu widzenia implementowanej funkcjonalności i spełniającej współczesne standardy, jak responsywny interfejs użytkownika, rozwiązania chmurowe czy zastosowanie mechanizmów sztucznej inteligencji np. dużych modeli językowych LLM (Large Language Model).
Wykorzystanie istniejących danych
Oprogramowanie rozszerzające wykorzystuje istniejące, gromadzone latami i wartościowe dane systemów legacy. Odbywa się to poprzez dedykowane interfejsy lub istniejące już środowiska raportowe (np. hurtownie danych). Często wystarczająca jest synchronizacja wsadowa (np. raz na dobę), co przy wykorzystaniu bufora umożliwia dodatkową agregację danych lub usprawnienie ich eksploracji – np. poprzez implementację dodatkowych indeksów zapewniających szybkie wyszukiwanie z zastosowaniem logiki rozmytej.
Gromadzenie nowych danych
Nowe wymagania biznesowe najczęściej wiążą się z koniecznością gromadzenia nowego zestawu danych (rozszerzenia modelu danych). System rozszerzający posiada własny, niezależny, dowolnie kształtowalny model danych, który jednak – w miarę potrzeb – odnosi się do modelu systemu legacy poprzez odpowiednio dobrane identyfikatory unikatowe.
Aktualizacja danych systemu legacy
Najczęściej proces biznesowy obsługiwany przez rozszerzenie, na jakimś etapie, wymaga przekazania informacji zwrotnej do systemu legacy. To najtrudniejszy aspekt strategii rozszerzeń, ponieważ wiąże się z koniecznością implementacji nowego lub wykorzystania istniejącego interfejsu po stronie systemu legacy. Wymaga to zazwyczaj zaangażowania dodatkowych specjalistów lub dostawcy systemu, co bywa kłopotliwe i kosztowne. Można czasem rozważyć ręczne wprowadzanie danych przez istniejący personel działu biznesowego lub inne zasoby już zaangażowane w innym kontekście (np. Call Center). Takie rozwiązanie wymaga jedynie implementacji odpowiedniego raportu lub dedykowanej części interfejsu użytkownika wspomagającej ten proces.
Korzyści płynące z zastosowania rozszerzeń
Szybka i ograniczona kosztowo implementacja
Brak konieczności przeprowadzania czasochłonnych analiz zależności umożliwia skupienie się na bezkompromisowej implementacji konkretnych wymagań biznesowych. Dzięki temu oprogramowanie powstaje szybko, szczególnie przy zastosowaniu gotowych narzędzi, metodyki oraz wzorców projektowych. Przekłada się to również na łatwo przewidywalny i ograniczony koszt projektu.
Niskie ryzyko biznesowe
Tworzenie rozwiązania oraz jego wdrożenie odbywa się w sposób niezależny od istniejących procesów biznesowych, co eliminuje ryzyko ich zakłócenia. Ponadto, dzięki wysokiej przewidywalności projektu, występuje znikome prawdopodobieństwo jego niepowodzenia czy opóźnienia.
Integracja i unifikacja informacji
System rozszerzający nie musi ograniczać się do dostępu do danych pochodzących z jednego systemu legacy, co umożliwia integrację danych z wielu źródeł korporacyjnego ekosystemu. Umożliwia to tworzenie spójnej prezentacji istotnych faktów na temat jakiegoś biznesowego artefaktu, np. klienta, dostawcy czy adresu serwisowego.
Redukcja Shadow IT
Możliwość zastosowania systemu rozszerzającego w naturalny sposób ogranicza potrzebę tworzenia przez działy biznesowe lokalnych, potencjalnie niebezpiecznych i mało efektywnych rozwiązań zastępczych, składających się na tzw. Shadow IT. Oprogramowanie rozszerzające otwiera również drogę do przejęcia funkcjonalności już istniejących rozwiązań tego typu, co przekłada się na ograniczenie udziału Shadow IT w procesach organizacji.
Łatwość dalszego rozszerzania
Raz wdrożone oprogramowanie rozszerzające staje się doskonałą platformą do implementacji kolejnych funkcjonalności – w czasie jeszcze krótszym (relatywnie do złożoności zagadnienia) niż w przypadku pierwotnego projektu. Można wykorzystywać istniejącą już warstwę integracyjną w stanie w jakim jest lub sukcesywnie ją rozszerzać, bez konieczności rozwiązywania pierwotnych problemów, takich jak kwestie technologiczne, ustalanie procesów monitoringu czy współpraca z dostawcą.
Zalążek migracji stopniowej
Planowanie cyklu życia systemu legacy obejmuje najczęściej również jego fazę schyłkową, zakończoną zwykle migracją. Bezpieczniejszą jej wersją jest migracja etapowa, która zakłada rozłożone w czasie, sukcesywne przenoszenie funkcjonalności do innego systemu. Oprogramowanie rozszerzające może stać się najbardziej naturalnym kierunkiem migracji etapowej, szczególnie w przypadku braku innego dobrego kandydata na system docelowy.