Celem modernizacji systemu legacy jest eliminacja problemów operacyjnych oraz wynikających z nich zagrożeń związanych z jego użytkowaniem. Polega ona na zastąpieniu części istniejącego oprogramowania nowym rozwiązaniem, bez wprowadzania nowej logiki biznesowej ani zmian w już istniejącej. Modernizacja jest procesem zasadniczo różnym od implementacji rozszerzeń, mimo że w obu przypadkach mamy do czynienia z tworzeniem nowego oprogramowania.

Najważniejsze cechy procesu modernizacji

Zachowana logika biznesowa

Brak zmian funkcjonalnych znacząco upraszcza proces modernizacji — eliminuje presję czasową, zwykle towarzyszącą wdrażaniu nowej funkcjonalności, ułatwia analizę i testowanie, a także pozwala zachować wymienność rozwiązania.

Wymienność

Nowe rozwiązanie tworzone jest bez ingerencji w istniejący proces użytkowania systemu, może więc być stosowane wymiennie z rozwiązaniem pierwotnym.
Pozwala to na dogłębne testowanie jego efektywności i stopniowe wdrażanie – np. poprzez etapowe szkolenie kolejnych grup użytkowników – co z kolei podnosi poziom akceptacji środowiska.  Możliwy jest również szybki powrót do poprzedniego rozwiązania w razie pojawienia się nieoczekiwanej, jakkolwiek motywowanej, konieczności. Wymienność pozwala więc osiągać znaczne korzyści przy praktycznie zerowym ryzyku zakłócenia procesów biznesowych.

Modułowość

Pojedynczy projekt modernizacji odnosi się na ogół do jednego, spójnego obszaru systemu, logicznie odseparowanego od reszty, z którą łączą go łatwo definiowalne zależności. Obszary te najczęściej określane są przez moduły funkcjonalne (np. części aplikacji dedykowane dla określonych ról i grup użytkowników) lub odnoszą się do warstw logicznych wynikających z architektury aplikacji (interfejs użytkownika, autentykacja, API, integracje, raportowanie itp.). Takie podejście jest istotnym czynnikiem wspierającym wcześniej wspomnianą wymienność.

Najczęstsze obszary modernizacji

Interface użytkownika

Tworzymy nową, tzw. warstwę prezentacji – czyli interfejs użytkownika – który eliminuje wady poprzednika i odpowiada współczesnym wymaganiom, takim jak wysoka ergonomia, szczegółowa walidacja danych, automatyczna asysta użytkownika czy responsywność (czyli dostosowanie aplikacji do efektywnego użytkowania na urządzeniach różnej klasy – zarówno w przeglądarce internetowej, jak i jako dedykowana aplikacja mobilna).
Nowe oprogramowanie ściśle integruje się z systemem legacy poprzez dostosowane do jego technologii interfejsy, zachowując przy tym istniejącą logikę biznesową oraz dostęp do istniejących zbiorów danych.

Dla systemów opartych o bazę danych Oracle, nasze sprawdzone rozwiązania – Partonic DB, Partonic Connector, Partonic UI – mogą być użyte bezpośrednio, bez konieczności implementacji dodatkowych interfejsów, co oznacza szybką i skuteczną realizację modernizacji interfejsu użytkownika oraz innych elementów aplikacji.

Wydajność

Podniesienie wydajności systemu legacy w kontekście szybkości jego działania jest zagadnieniem trudnym do realizacji bez głębszej ingerencji w kod źródłowy lub elementy infrastruktury. Istnieją jednak rozwiązania, które – szczególnie w połączeniu z modernizacją interfejsu użytkownika – pozwalają usprawnić najbardziej newralgiczne funkcjonalności, np. związane z wyszukiwaniem klientów lub innych artefaktów biznesowych w dużych zbiorach danych. Bazując na dziennej replice podzbioru danych, tworzymy dowolnie zaawansowane indeksy umożliwiające szybkie wyszukiwanie – np. według złożonych kryteriów lub z zastosowaniem logiki rozmytej (wyszukiwanie przybliżone).

W przypadku bazy danych Oracle, gdy dostępny jest kod źródłowy i istnieje możliwość jego modyfikacji, szybkie zwiększenie wydajności często uzyskujemy dzięki zastosowaniu technik optymalizacji zapytań SQL i operacji DML.

Bezpieczeństwo

Rzeczywistość związana z szeroko pojętym cyberbezpieczeństwem diametralnie zmieniła się w ciągu ostatniej dekady. Choć większość systemów – szczególnie tych dostępnych publicznie – dostosowała się do nowych realiów, nadal istnieją aplikacje niespełniające powszechnie stosowanych standardów. Modernizacja w tym obszarze obejmuje najczęściej: mechanizmy autentykacji użytkownika (np. uwierzytelnianie dwuskładnikowe), kontrolę jakości i cyklicznej zmiany haseł dostępu, bardziej szczegółową autoryzację uprawnień do poszczególnych funkcjonalności systemu, szyfrowanie danych, itp.