Redukcja bazy kodu po migracji Cobol na platformę internetową

Innowise przeprowadziło migrację zestawu aplikacji desktopowych opartych na Cobol na platformę internetową, czyniąc go bardziej wygodnym.

Klient

Branża
Region
UE
Klient od
2024

Our client is a primary software provider for the oil & gas industry. For 40+ years, they have helped exploration, production, drilling, and investment companies embrace digital transformation and simplify operational processes.

Szczegółowe informacje o kliencie nie mogą być ujawnione zgodnie z postanowieniami NDA.

Wyzwanie

A leading software provider for the oil and gas industry struggled with modernizing their long-standing desktop ecosystem of applications. Developed initially on IBM Cobol and then transferred to Micro Focus Visual Cobol, these applications have consistently operated for over 40 years. However, to keep up with the rapid pace of digital transformation and establish a solid online presence, the client sought to migrate their entire product suite to the web.

Chcieli płynnie przenieść około 900 aplikacji na platformę internetową bez utraty jakości, zachowując znane interfejsy i logikę systemu, aby zapewnić komfort użytkownikom i ciągłość. Klient preferował również zachowanie istniejącego solidnego kodu Cobol zamiast zastępowania go .NET

Klient chciał zmodernizować swój pakiet oprogramowania, przechodząc ze starszych aplikacji desktopowych na platformę internetową, zachowując logikę biznesową i wrażenia użytkownika bez większych zmian w podstawowej architekturze.

Rozwiązanie

Aby sprostać wyzwaniu klienta, jakim była migracja jego stacjonarnego pakietu biznesowego do sieci, przyjęliśmy wieloaspektowe podejście, minimalizując zakłócenia. Na podstawie dokładnego badania nasi eksperci zidentyfikowali dwie potencjalne ścieżki migracji i ostatecznie wybrali najbardziej wydajną i łatwą w zarządzaniu opcję. 

Serwer korporacyjny Micro Focus

Opcja ta wymagała skonfigurowania serwera Enterprise Server do obsługi migracji. Jednak podczas konfiguracji nasz zespół projektowy odkrył, że serwery Enterprise Server działają na poziomie transportu TCP, podczas gdy interfejsy API RESTful działają na poziomie aplikacji, zazwyczaj przez HTTP. Mimo że interfejsy API RESTful można teoretycznie zaimplementować bezpośrednio przez TCP, wymagałoby to znacznej pracy ręcznej w zakresie routingu żądań, zarządzania stanem, kodowania/dekodowania danych i obsługi błędów. Złożoność ta skłoniła nas do rozważenia alternatywnego podejścia.

Oprogramowanie pośredniczące .NET

Druga opcja obejmowała utworzenie warstwy oprogramowania pośredniczącego w .NET w celu połączenia zaplecza Cobol i interfejsu internetowego. Biorąc pod uwagę wyzwania i złożoność rekonfiguracji Enterprise Server, wybraliśmy drugą opcję, która obiecywała prostszą i łatwiejszą w zarządzaniu implementację.

Logika biznesowa i obsługa baz danych

Aby zachować podstawową logikę biznesową napisaną w Visual Cobol, nasi specjaliści najpierw zagłębili się w istniejącą bazę kodu. Gdy opracowaliśmy oprogramowanie pośredniczące .NET, stało się jasne, że aplikacje desktopowe klienta używały katalogu plików jako bazy danych, a wiele z nich działało jako indeksowane bazy danych.

W związku z tym nasz zespół projektowy zrestrukturyzował logikę biznesową, aby była całkowicie oparta na klasach, umożliwiając bardziej modułowy i ukierunkowany dostęp do określonych metod ze środowiska .NET. Było to niezbędne, ponieważ główna logika oryginalnych aplikacji była proceduralna, co utrudniało indywidualne wywoływanie określonych metod. Przekształcając procedury w klasy, umożliwiliśmy precyzyjne wywoływanie metod, co usprawniło integrację oprogramowania pośredniczącego .NET.

Oprogramowanie pośredniczące .NET

Nasi inżynierowie oprogramowania opracowali backend przy użyciu .NET 8, implementując RESTful API z ASP.NET Core Web API. Aplikacja internetowa .NET umożliwiła ustawienie ścieżki i nazwy pliku dla aplikacji bez ponownego wdrażania oprogramowania desktopowego. Pozwoliło nam to przetestować nowy pakiet aplikacji internetowych na istniejącej infrastrukturze w nowym katalogu. Ogólnie rzecz biorąc, rozwiązanie .NET składało się z trzech części:
  • ASP.NET Core Web API obsługujące RESTful endpoints;
  • Logika aplikacji zawierająca podstawową logikę biznesową połączoną z klasami Cobol;
  • Kontrakty .NET z logiką Cobol definiujące otwarte kontrakty dla logiki biznesowej napisanej w Cobolu.

Stworzenie front-endu

Po stronie użytkownika opracowaliśmy przednią część przy użyciu React z interfejsem użytkownika Material. Nasi inżynierowie oprogramowania odzwierciedlili aplikacje desktopowe dla istniejących użytkowników, aby zapewnić ich znajomość i łatwość przejścia. Wdrożyliśmy również standardowe uwierzytelnianie przy użyciu Authenticate Identity i wykorzystaliśmy SQLite do zarządzania sesjami i innych lekkich potrzeb w zakresie przechowywania danych.

Technologie

React & Material UI

Microfocus Visual Cobol 9.0, Asp.Net Core 8, Auth oparty na SQLite

SQLite dla autoryzacji, pliki indeksowane Cobol

Proces

Nasz zespół projektowy rozpoczął od fazy wprowadzającej, podczas której poznaliśmy klienta i zrozumieliśmy jego specyficzne wymagania. Abyśmy mogli poznać zakres projektu i oczekiwania, klient pokazał nam obecny system i sposób jego działania. W rezultacie zaproponowaliśmy wysokopoziomowy plan nakreślający nasze podejście do migracji pakietu oprogramowania klienta do sieci, dzieląc zadania na możliwe do zarządzania segmenty, takie jak restrukturyzacja backendu, rozwój frontendu i testy integracyjne. Aby zweryfikować nasze podejście i zapewnić zgodność z oczekiwaniami klienta, opracowaliśmy wersję demonstracyjną, która obejmowała:
  • Konfiguracja niezbędnego środowiska w Visual Studio;
  • Upewnienie się, że wszystkie referencje i zależności, w szczególności biblioteki Micro Focus dla Cobol, zostały poprawnie skonfigurowane;
  • Rozwijanie backendu w .NET i frontendu w React;
  • Demonstracja integracji logiki biznesowej Cobol z nowym interfejsem sieciowym.
Ponadto zademonstrowaliśmy klientowi aplikację demonstracyjną, pokazując, jak działa i wygląda, wyjaśniając zawiłości nowoczesnego tworzenia stron internetowych i dając wgląd w architekturę. Po demonstracji przeprowadziliśmy dokładną analizę całej architektury produktu, co pozwoliło nam zidentyfikować potencjalne ryzyko, zdefiniować zakres prac i przydzielić zasoby do kompleksowej migracji Cobol. Regularnie informowaliśmy klienta o naszych postępach, szukaliśmy informacji zwrotnych i wyjaśnialiśmy wszelkie niejasności, aby pozostać w zgodzie z oczekiwaniami klienta, i szybko rozwiązywaliśmy wszelkie wątpliwości. Obecnie nadal wspieramy proces migracji, szybko rozwiązując wszelkie pojawiające się problemy.

Zespół

5

Programiści Cobol

2

Programiści .NET

2

Programiści React

1

Inżynier DevOps

1

QA Engineer

Expected results

Innowise zapewniło płynne i bezstresowe przejście całego pakietu desktopowego klienta do sieci. Oddzielając logikę biznesową napisaną w języku Cobol od interfejsu Windows Forms, uprościliśmy strukturę kodu i poprawiliśmy łatwość konserwacji. Wcześniej logika biznesowa była powiązana z interfejsem użytkownika, co utrudniało bezpośredni dostęp do niej i jej modyfikację. Przejście na zorientowany obiektowo Cobol (OOP Cobol) umożliwiło płynną integrację ze środowiskiem .NET. Teraz do pojedynczej biblioteki Cobol .dll można odwoływać się w kodzie .NET, tworząc instancje klas i wchodząc w interakcje z niezbędnymi metodami w prosty sposób.

Migracja Cobol na platformę internetową znacznie poprawiła komfort użytkowania. Klienci nie muszą już łączyć się ze zdalnymi maszynami, aby uzyskać dostęp do aplikacji desktopowej. Zamiast tego mogą teraz zalogować się przez przeglądarkę internetową przy użyciu swoich danych uwierzytelniających i uzyskać dostęp do pełnej funkcjonalności aplikacji bezpośrednio ze swoich kont. Ta zmiana zmodernizowała interfejs, czyniąc go bardziej intuicyjnym i dostępnym.

Czas trwania projektu
  • Marzec 2024 r. - Obecnie

10x

redukcja bazy kodu

30%

skrócenie czasu ładowania

    Skontaktuj się z nami

    Umów się na rozmowę lub wypełnij poniższy formularz, a my odezwiemy się do Ciebie po przetworzeniu Twojego zgłoszenia

    Wyślij nam wiadomość głosową
    Załącz dokumenty
    Prześlij plik

    Można załączyć 1 plik o rozmiarze do 2 MB. Prawidłowe formaty plików: pdf, jpg, jpeg, png.

    Klikając Wyślij, wyrażasz zgodę na przetwarzanie Twoich danych osobowych przez Innowise zgodnie z nasz Polityką Prywatności w celu przekazania Ci odpowiednich informacji. Podając numer telefonu, zgadzasz się na kontakt za pośrednictwem połączeń głosowych, SMS-ów lub komunikatorów. Mogą obowiązywać opłaty za połączenia, wiadomości i transmisję danych.

    Możesz także wysłać swoje zapytanie
    na adres contact@innowise.com
    Co dalej?
    1

    Po otrzymaniu i przetworzeniu zgłoszenia skontaktujemy się z Tobą, aby szczegółowo opisać projekt i podpisać umowę NDA w celu zapewnienia poufności.

    2

    Po zapoznaniu się z Twoimi potrzebami i oczekiwaniami, nasz zespół opracuje projekt wraz z zakresem prac, wielkością zespołu, czasem i szacunkowymi kosztami.

    3

    Zorganizujemy spotkanie w celu omówienia oferty i ustalenia szczegółów.

    4

    Na koniec podpiszemy umowę, błyskawicznie rozpoczynając pracę nad projektem.

    strzałka