Pereiti prie pagrindinio turinio
FromNine
Meniu

Senųjų sistemų moderni­zavimas

Moderni­zuokite sistemą, kurios niekas nedrįsta liesti, po vieną funkciją.

Dešimtmečių verslo taisyklės slypi COBOL, PL/I, Oracle Forms ir ankstyvųjų Java bei .NET programose. Atkuriame šias taisykles, sukuriame testų apsaugos tinklą ir funkciją po funkcijos perkeliame už fasado, lygiagrečiai vykdydami senąją ir naująją sistemas ir sutikrindami rezultatus prieš ką nors išjungdami.

Lietuvos institucijoms ir įmonėms, kurių svarbiausios sistemos negali sustoti, o jose užkoduotos taisyklės negali būti prarastos.

Tipiniai naudotojai
  • IT vadovai ir įmonės architektai
  • Programų savininkai
  • Srities ekspertai
  • Eksploatavimo komandos
Iliustracinis darbo procesas
  1. 01Portfelio įvertinimasŽmogus
  2. 02Verslo taisyklių atkūrimasDI agentas
  3. 03Apsaugos tinklo kūrimasSistema
  4. 04Dalies perkūrimas už fasadoSistema
  5. 05Lygiagretus vykdymas ir sutikrinimasSistema
  6. 06Skirtumų analizėŽmogus
  7. 07Perjungimas ir išjungimasŽmogus
Įvertinamas sistemų portfelis ir sutariamas tikslas. Verslo taisyklės atkuriamos iš kodo padedant DI ir patikrinamos žmonių. Charakterizavimo testai sudaro apsaugos tinklą. Kiekviena funkcija perkuriama už fasado ir vykdoma lygiagrečiai su senąja sistema; skirtumai išanalizuojami ir ištaisomi, kol verslo savininkas patvirtina perjungimą ir senoji dalis išjungiama.

Prieš ir po

Kas pasikeičia Jūsų darbe

  1. Dabar

    Dabar: Kiekvienas pakeitimas yra rizika

    Nedideli reguliavimo pakeitimai užtrunka mėnesius, nes niekas negali numatyti, ką dar pakeitimas paveiks.

    Su sistema

    Su sistema: Pakeitimai, paremti testais

    Charakterizavimo testai užfiksuoja, ką sistema daro šiandien, todėl kiekvieno pakeitimo poveikis matomas prieš išleidimą.

  2. Dabar

    Dabar: Žinios išeina į pensiją

    Kodą suprantantys žmonės artėja prie pensijos, o dokumentacija seniai nebeatitinka sistemos.

    Su sistema

    Su sistema: Taisyklės užrašytos ir patikrintos

    Iš kodo atkurtos verslo taisyklės aprašomos paprasta kalba, o jas patvirtina srities ekspertai.

  3. Dabar

    Dabar: Vieno didelio perjungimo planai stringa

    Visiško pakeitimo programos žada vieną perjungimo datą, kuri vis nukeliama, o išlaidos auga.

    Su sistema

    Su sistema: Vertė dalimis

    Funkcijos po vieną perkeliamos už fasado. Kiekviena dalis pradedama naudoti atskirai ir gali būti atšaukta.

  4. Dabar

    Dabar: Duomenys įkalinti senose struktūrose

    Naujos paslaugos ir DI panaudojimo atvejai duomenų nepasiekia be trapių eksportų ir naktinių paketinių užduočių.

    Su sistema

    Su sistema: Duomenys pasiekiami per API

    Perkeltos sritys savo duomenis teikia per dokumentuotas API, o jie sutikrinami su senąja sistema, kol ši išjungiama.

Darbo procesas

Kaip vyksta darbo procesas

Smaugiančiojo figmedžio (strangler fig) principas: naujoji sistema auga aplink senąją funkcija po funkcijos. Ciklas tarp lygiagretaus vykdymo ir perkūrimo yra ta vieta, kur atliekama didžioji tikro darbo dalis.

Iliustracinis darbo procesas

7 žingsniai · 3 žmogaus patikros

REZULTATAI SKIRIASI01ŽMOGUSPortfelio įvertinimasŽMOGAUS PATIKRA02DI AGENTASVerslo taisyklių atkūrimasŽMOGAUS PATIKRA03SISTEMAApsaugos tinklo kūrimas04SISTEMADalies perkūrimas už fasado05SISTEMALygiagretus vykdymas irsutikrinimas06ŽMOGUSSkirtumų analizė07ŽMOGUSPerjungimas ir išjungimasŽMOGAUS PATIKRA

Legenda

  • Sistema
  • DI agentas
  • Žmogus
  • Žmogaus patikra
  • Išimties kelias

Senųjų sistemų modernizavimas: iliustracinis darbo procesas su sutikrinimo ciklu

Skaityti diagramą kaip tekstą

Pagrindinis kelias eina nuo portfelio įvertinimo ir verslo taisyklių atkūrimo, per charakterizavimo testų apsaugos tinklą ir vienos funkcijos perkūrimą už fasado, iki lygiagretaus senosios ir naujosios sistemų vykdymo ir galiausiai perjungimo bei senosios dalies išjungimo.

Žmonės patvirtina tikslinę architektūrą, patikrina kiekvieną atkurtą taisyklę ir patvirtina kiekvieną perjungimą: tai žmogaus patikros.

Kai lygiagretus vykdymas rodo, kad rezultatai skiriasi, dalis pasuka iš pagrindinio kelio į inžinierių ir srities ekspertų atliekamą skirtumų analizę ir grįžta į perkūrimo žingsnį, kol senosios ir naujosios sistemų rezultatai sutampa.

  1. 1 žingsnis: Portfelio įvertinimasŽmogus

    Programų inventorius, priklausomybių ir duomenų srautų žemėlapis bei sprendimas kiekvienai programai: atsisakyti, palikti, perkelti į kitą infrastruktūrą, perkelti į kitą platformą, perkurti ar pakeisti. Sričių žemėlapis parodo vietas, kuriose sistemą galima skaidyti dalimis.

    Žmogaus patikra

    Jūsų architektūros taryba patvirtina tikslinę architektūrą ir dalių eiliškumą.

  2. 2 žingsnis: Verslo taisyklių atkūrimasDI agentas

    DI padedama kodo analizė skaito COBOL, PL/I, JCL, Oracle Forms ir senesnį Java ar .NET kodą ir parengia dokumentacijos, iškvietimų grafų ir verslo taisyklių katalogo juodraščius.

    Žmogaus patikra

    Inžinieriai ir srities ekspertai patikrina kiekvieną išgautą taisyklę, prieš ją naudojant kaip specifikaciją. Nepatikrintos taisyklės taip ir pažymimos.

  3. 3 žingsnis: Apsaugos tinklo kūrimasSistema

    Charakterizavimo testai generuojami iš nuasmenintų gamybinės aplinkos įvesčių ir išvesčių, todėl dabartinis elgesys, įskaitant jo keistenybes, užfiksuojamas dar prieš ką nors keičiant.

  4. 4 žingsnis: Dalies perkūrimas už fasadoSistema

    Prieš senąją sistemą įdedamas maršrutizavimo fasadas arba API sluoksnis. Viena funkcija perkuriama kaip nauja paslauga, jos duomenys perkeliami ir sinchronizuojami.

  5. 5 žingsnis: Lygiagretus vykdymas ir sutikrinimasSistema

    Senoji ir naujoji sistemos apdoroja tas pačias operacijas. Rezultatai ir duomenys palyginami automatiškai, o kiekvienas skirtumas pateikiamas pagal taisyklę ir įrašą.

  6. 6 žingsnis: Skirtumų analizėŽmogus

    Inžinieriai ir srities ekspertai sprendžia, ar kiekvienas skirtumas yra naujosios paslaugos klaida, senosios sistemos klaida ar numatytas pakeitimas, ir grąžina dalį perdaryti.

    Išimties kelias: Rezultatai skiriasi· Grįžtama į 4 žingsnį

  7. 7 žingsnis: Perjungimas ir išjungimasŽmogus

    Funkcijos srautas per fasadą nukreipiamas į naująją paslaugą. Po stabilaus laikotarpio senasis kodo kelias ir jo duomenys išjungiami ir archyvuojami.

    Žmogaus patikra

    Kiekvieną perjungimą, remdamasis sutikrinimo rezultatais, patvirtina verslo savininkas. Grąžinimas per fasadą išlieka galimas iki išjungimo.

Komponentai

Ką sukurtume

  1. Portfelio ir priklausomybių žemėlapis

    Inventorius, sąsajų ir duomenų srautų žemėlapis ir sričių modelis, rodantis, kur sistemą galima skaidyti dalimis.

    Kas įgyvendinaArchitektūra ir konsultavimas

  2. Kodo analizės priemonės

    DI padedama senojo kodo analizė, iš kurios gaunama dokumentacija, iškvietimų grafai ir patikrintas verslo taisyklių katalogas.

    Kas įgyvendinaDI inžinerija ir generatyvinis DI

  3. Charakterizavimo testų aplinka

    Testai, sukurti pagal nuasmenintą gamybinės aplinkos elgesį ir vykdomi su senuoju ir naujuoju įgyvendinimu.

    Kas įgyvendinaĮmonių programinė įranga ir SaaS

  4. Fasadas ir naujos paslaugos

    Maršrutizavimo sluoksnis, API ir naujos srities paslaugos, sukurtos ir dokumentuotos taip, kad jas galėtų perimti Jūsų komanda.

    Kas įgyvendinaĮmonių programinė įranga ir SaaS

  5. Duomenų perkėlimas ir sutikrinimas

    Duomenų perkėlimo srautai su įrašų lygio sutikrinimo ataskaitomis lygiagretaus vykdymo metu.

    Kas įgyvendinaIntegracijos ir API

  6. Tikslinė platforma

    Landing zone, CI/CD ir stebėsena naujoms paslaugoms Jūsų pasirinktoje debesijoje ar duomenų centre.

    Kas įgyvendinaDebesija ir platformų inžinerija

Integracijos

Įvestys ir integracijos

Įvestys ir kanalai

  • Išeitinis kodas ir užduočių valdymas (COBOL, PL/I, JCL)
  • Oracle Forms ir duomenų bazių schemos
  • Paketinių užduočių grafikai ir sąsajų failai
  • Nuasmenintos gamybinės aplinkos operacijos
  • Esama dokumentacija ir užklausos
  • Pokalbiai su srities ekspertais

Sprendimo branduolys

Senųjų sistemų modernizavimas

Sistemos, su kuriomis jis veikia

  • Mainframe ir vidutinės klasės platformos
  • SAP ECC perkėlimas į S/4HANAPlatformaSAP
  • Salesforce kaip nauja klientų aptarnavimo sistemaPlatformaSalesforce
  • Integracijų platforma ir API šliuzas
  • Tikslinė debesija ar duomenų centras

Kontrolės priemonės

Nuo pradžių numatytos kontrolės priemonės

Prieigos ribos

Kodo analizė vykdoma Jūsų kontroliuojamoje aplinkoje, o išeitinis kodas nesiunčiamas į paslaugas, kurių nepatvirtinote. Testams naudojami gamybiniai duomenys nuasmeninami, prieš jiems paliekant gamybinę zoną.

Žmogaus peržiūra

Atkurtas taisykles patikrina inžinieriai ir srities ekspertai, prieš joms tampant specifikacijomis. Kiekvieną perjungimą, remdamasis sutikrinimo rezultatais, patvirtina verslo savininkas, o grąžinimas išlieka galimas.

Atsekamumas

Kiekviena katalogo taisyklė atsekama iki kodo, iš kurio ji gauta, ir iki ją patikrinusio žmogaus. Sutikrinimo ataskaitos saugomos kaip kiekvieno perjungimo įrodymas.

Duomenų apsauga

Duomenų perkėlimas vyksta pagal dokumentuotą susiejimą su įrašų skaičiais ir kontrolinėmis sumomis, o asmens duomenų kiekis testų rinkiniuose mažinamas. Saugojimo taisyklės keliauja kartu su duomenimis.

DI skaidrumas

Kai DI rengia dokumentacijos ar kodo juodraščius, rezultatas pažymimas, peržiūrimas ir versijuojamas kaip bet kuris kitas inžinerinis artefaktas.

Rodikliai

Ką matuotume

Šiuos rodiklius sutariame su Jumis įvertinimo metu ir stebime kiekvienai daliai, o ne tik visai programai.

Ką matuotume
RodiklisKodėl tai svarbuKaip tai matuotume
Pakeitimo įgyvendinimo trukmėKodėl tai svarbuAiškiausias ženklas, kad sistemą keisti darosi lengviau.Kaip tai matuotumeLaikas nuo patvirtinto pakeitimo prašymo iki gamybinės aplinkos, atskirai senosioms ir modernizuotoms dalims.
Sutikrinimo būsenaKodėl tai svarbuParodo, ar naujoji paslauga ten, kur turi, tikrai elgiasi kaip senoji.Kaip tai matuotumeLygiagretaus vykdymo metu sutampančių operacijų ir įrašų dalis bei neišspręsti skirtumai pagal priežastį.
Taisyklių aprėptisKodėl tai svarbuNežinomos taisyklės yra pagrindinė bet kokio pakeitimo rizika.Kaip tai matuotumeAtkurtų verslo taisyklių, kurias patikrino srities ekspertai ir kurias apima testai, dalis.
Senųjų komponentų apimtisKodėl tai svarbuModernizavimas atsiperka tada, kai senieji komponentai iš tikrųjų išjungiami.Kaip tai matuotumeIšjungtos funkcijos, kodo keliai, paketinės užduotys ir licencijos, stebimos kiekvienai daliai.

Kol nėra pradinio lygio, tikslinių reikšmių nenustatome.

Diegimas

Kaip diegtume

  1. 01 etapas

    Įvertinimas

    Portfelis, priklausomybės, sritys ir rizikos. Pasirenkame pirmąją dalį, kuri svarbi verslui, bet kurią galima atšaukti.

    Etapo užbaigimo kriterijai

    • Patvirtinta tikslinė architektūra
    • Sutartas dalių eiliškumas
    • Suderinta prieiga prie testų ir duomenų
  2. 02 etapas

    Pirmoji dalis

    Taisyklių atkūrimas, apsaugos tinklas, fasadas ir viena perkurta funkcija, vykdoma lygiagrečiai su senąja sistema.

    Etapo užbaigimo kriterijai

    • Sutikrinimo rezultatai neviršija sutarto nuokrypio
    • Verslo savininkas patvirtina perjungimą
    • Išbandytas grąžinimas
  3. 03 etapas

    Dalis po dalies

    Kitos funkcijos eina tuo pačiu keliu, kiekviena su savo lygiagrečiu vykdymu ir perjungimo sprendimu.

    Etapo užbaigimo kriterijai

    • Kiekviena dalis sutikrinta ir perjungta
    • Žinios perduotos Jūsų komandai
  4. 04 etapas

    Išjungimas

    Senieji kodo keliai, paketinės užduotys ir duomenų saugyklos archyvuojami ir išjungiami.

    Etapo užbaigimo kriterijai

    • Sutarti archyvavimas ir saugojimas
    • Senoji platforma išjungta

Kur tai taikoma

  • Viešasis sektorius

    Valstybės informacinės sistemos ir savivaldybių paslaugų sistemos, kuriose teisės aktų reikalavimai užkoduoti dešimtmečių senumo kode, o pakeitimai vis ateina.

  • Finansinės paslaugos

    Pagrindinės draudimo sutarčių ir mokėjimų sistemos mainframe aplinkoje, modernizuojamos už API, kol apskaita lieka sutikrinta.

  • Gamyba ir pramonė

    Individualūs ERP plėtiniai ir gamyklų sistemos, perkeliami kartu su SAP S/4HANA diegimu.

Iliustracinis pavyzdys

Draudimo sutarčių sistema draudimo bendrovėje

Situacija
Draudikas sutartis, įmokas ir žalas tvarko dešimtmečių senumo sistemoje su individualiu kodu. Laukia keli reguliavimo ir produktų pakeitimai, o du kodą išmanantys programuotojai netrukus išeina į pensiją.
Sistema
Taisyklės atkuriamos ir patikrinamos kiekvienai produktų grupei. Fasadas pirmiausia nukreipia vienos produktų grupės įmokų skaičiavimą į naują paslaugą, kuri veikia lygiagrečiai su senąja sistema, kol rezultatai sutampa.
Žmogaus kontrolė
Kiekvienos produktų grupės ekspertai patikrina savo taisykles. Perjungimą patvirtina tos grupės verslo savininkas, o grąžinimas per fasadą išlieka galimas.
Ką matuotume
Sutikrinimo būsena kiekvienai produktų grupei, taisyklių aprėptis ir kito reguliavimo pakeitimo įgyvendinimo trukmė.

Lietuva

Modernizavimas pagal Lietuvos ir ES taisykles

Kai senojoje sistemoje užkoduoti Lietuvos teisės aktų reikalavimai, o pakeitimų eilė ilgėja, kiekvienas pakeitimas tampa rizika. Modernizavimą planuojame dalimis: kiekviena funkcija perkeliama atskirai, o senoji ir naujoji sistemos sutikrinamos prieš ką nors išjungiant.

Modernizuotos paslaugos perkeliamos į platformas, suprojektuotas atsižvelgiant į Kibernetinio saugumo įstatymo reikalavimus. Šio įstatymo pakeitimai, kuriais perkelta TIS 2 direktyva (NIS2), įsigaliojo 2024 m. spalio 18 d., o jo įgyvendinimą prižiūri Nacionalinis kibernetinio saugumo centras (NKSC). Europos Sąjungos Duomenų akto taisyklės dėl perėjimo tarp duomenų tvarkymo paslaugų yra priežastis duomenis nuo pirmosios dalies laikyti perkeliamus. Kai įrašuose yra asmens duomenų, perkėlimo susiejimai ir testiniai duomenys tvarkomi pagal BDAR.

Klausimai apie senųjų sistemų modernizavimą

Kodėl nepakeitus visos sistemos iš karto?

Nes vienas perjungimas visą riziką sutelkia į vieną datą, o verslas metų metus laukia bet kokios naudos. Perkeliant funkciją po funkcijos, kiekvienos dalies tinkamumas patikrinamas lygiagrečiai vykdant, pradedama naudoti atskirai ir prireikus gali būti atšaukta.

Ar DI gali išversti mūsų COBOL kodą į Java?

Vertimas eilutė po eilutės paprastai sukuria kodą, kurį keisti taip pat sunku kaip originalą. DI naudojame senajam kodui skaityti ir dokumentuoti bei taisyklių ir testų juodraščiams rengti, o naujas paslaugas projektuojame iš naujo. Kiekvieną atkurtą taisyklę prieš naudojant patikrina žmonės.

Mūsų ekspertai išeina į pensiją. Kaip išsaugote jų žinias?

Per struktūruotas sesijas, kuriose ekspertai peržiūri atkurtas taisykles ir charakterizavimo testus. Jų žinios lieka dokumentacijoje ir testuose, kurie priklauso Jūsų komandai, o ne mūsų galvose.

Ar tai taikoma ir SAP ECC?

Taip. Tie patys principai taikomi individualaus kodo tvarkymui ir perėjimui prie SAP S/4HANA: įvertinti, kas dar naudojama, atkurti ir ištestuoti tai, kas svarbu, ir judėti kontroliuojamais žingsniais.

Kiek laiko senoji ir naujoji sistemos veikia greta?

Kol sutikrinimo rezultatai atitinka su verslo savininku sutartą nuokrypį, ir pakankamai ilgai, kad būtų apimti periodiniai procesai, pavyzdžiui, mėnesio ar metų uždarymas.

Nuo ko pradėti?

Nuo portfelio įvertinimo ir vienos kandidatės dalies. Daugiau rasite puslapiuose Architektūra ir konsultavimas ir Kaip dirbame.

Aptarkime Jūsų senąsias sistemas

Papasakokite, kuri sistema Jus stabdo ir kas nuo jos priklauso. Pasiūlysime pirmąją dalį ir būdą saugiai įrodyti, kad ji veikia.