Diensten / Mainframe-modernisering
05 / 08
Mainframe-modernisering · COBOL, DB2, JCL, CICS en IMS

Weten wat de mainframe doet. En hem dan verhuizen, stuk voor stuk.

A4IT leest COBOL-, DB2-, JCL-, CICS- en IMS-applicaties, schrijft uit wat ze echt doen en verhuist ze naar Java of .NET op PostgreSQL of SQL Server, één functie per keer. Reverse engineering komt eerst: een inventaris, de datastromen en de bedrijfsregels, in documenten die uw eigen mensen kunnen controleren. Het oude systeem blijft draaien tot het nieuwe dezelfde resultaten geeft. U werkt rechtstreeks met Tim De Smedt, zonder tussenpersonen.

Wat u krijgt, wat van u blijft, waar het ophoudt

Gezegd vóór het eerste gesprek
U krijgt
  • Een inventaris van programma's, jobs, copybooks, tabellen en bestanden, met wat wat aanroept
  • Bedrijfsregels in gewone taal, elk herleid tot de code waaruit ze komen
  • Een migratieplan in stappen, elk met een eigen scope, raming en weg terug
  • Nieuwe code in versiebeheer, met tests die oude en nieuwe resultaten vergelijken
Blijft van u
  • De broncode, oud en nieuw, en elk document dat we schrijven
  • Uw data en uw omgevingen: we werken met de toegang die u verleent
  • De beslissing per onderdeel: behouden, inkapselen, herschrijven of uitfaseren
  • De vrijheid om verder te gaan met uw eigen team of een andere leverancier
Grenzen
  • Geen bigbangoverschakeling: oud en nieuw draaien naast elkaar tot de resultaten overeenkomen
  • Geen machinaal geconverteerde code die als resultaat wordt opgeleverd: elk programma wordt gelezen en getest
  • Geen mainframe-exploitatie of systeemprogrammering
  • Geen beloofde besparing of einddatum voordat de inventaris klaar is

Wat we leveren

Zeven bouwstenen · neem er één of allemaal
01 · Begrijpen

Inventaris en beoordeling

Voordat er iets verhuist: wat er is, wat nog wordt gebruikt en wat waarvan afhangt.

Programma's en jobs
COBOL-programma's, copybooks, JCL-jobs en -procedures, CICS-transacties en IMS-componenten, opgelijst met hun omvang en laatste wijziging.
Afhankelijkheden
Welk programma welk aanroept, welke job na welke loopt, en welke tabellen en bestanden elk ervan leest of schrijft.
Dode en dubbele code
Programma's die door geen enkele job of transactie nog worden gestart, en kopieën die uit elkaar zijn gegroeid. Wat niet wordt gebruikt, hoeft niet te worden gemigreerd.
Risico en inspanning
Een schriftelijk beeld per onderdeel: behouden, inkapselen, herschrijven of uitfaseren, met de redenen en een ruwe omvang.
02 · Begrijpen

Reverse engineering en documentatie

De kennis zit in de code en in enkele hoofden. We zetten ze op papier zolang beide nog beschikbaar zijn.

Bedrijfsregels
Berekeningen, validaties en uitzonderingen uit de code gehaald en in gewone taal uitgeschreven, met een verwijzing naar het programma en de paragraaf.
Datamodel
DB2-tabellen, VSAM-bestanden en recordlay-outs uit copybooks beschreven als één datamodel, inclusief de velden waarvan de betekenis in de loop der jaren is veranderd.
Batchstromen
JCL-jobstromen getekend als flows: wat wanneer start, met welke input, welke output het oplevert, en wat er gebeurt wanneer een stap mislukt.
Gecontroleerd met uw mensen
Elk document wordt nagelezen door iemand die het bedrijf kent. Waar code en geheugen elkaar tegenspreken, wordt dat genoteerd en beslist.
03 · Begrijpen

AI-ondersteunde analyse

Taalmodellen lezen COBOL sneller dan mensen. Ze vergissen zich ook, dus elk resultaat wordt gecontroleerd tegen de code.

Programma's uitleggen
Een model vat samen wat een programma of paragraaf doet, als eerste versie voor de analist. Zie AI-consulting.
Regels en verbanden vinden
Waar een veld wordt gezet, een regel wordt toegepast of een tabel wordt bijgewerkt, gezocht over de hele codebase in plaats van programma per programma.
Gecontroleerd door een mens
Niets van wat een model oplevert, komt in de documentatie of de nieuwe code zonder een review en een test.
Uw code blijft waar u beslist
Een lokaal model of een dienst die u hebt goedgekeurd, samen met u gekozen. De analyse kan ook zonder taalmodellen gebeuren.
04 · Koppelen

Interfaces rond de mainframe

Vaak is de eerste stap niet iets vervangen, maar nieuwe software laten bereiken wat er al is.

API's vóór transacties
Een REST API vóór bestaande CICS- of IMS-transacties, zodat een webapplicatie of een partner ze kan gebruiken zonder terminalscherm.
Bestandsuitwisseling
Sequentiële bestanden en VSAM-extracten betrouwbaar geconverteerd: EBCDIC, packed decimals en records met vaste lengte naar formaten die andere systemen lezen.
Toegang tot DB2
Leestoegang tot DB2 voor rapportering en nieuwe applicaties, of een kopie die gelijk blijft lopen waar de mainframe geen extra belasting mag dragen. Zie automatisering & data.
Beschreven en geversioneerd
Elke interface heeft een OpenAPI-contract of een bestandsspecificatie onder versiebeheer, zodat niemand een copybook moet lezen om ze te gebruiken.
05 · Moderniseren

Herschrijven naar Java of .NET

Eén functie per keer verhuist naar een platform waarvoor ontwikkelaars makkelijk te vinden zijn. Zie softwareontwikkeling.

Herschreven, niet omgezet
De nieuwe code wordt ontworpen vanuit de gedocumenteerde regels, in gewone Java of C#. Niet COBOL regel per regel in een andere syntaxis.
Batch
JCL-jobstromen worden geplande batchjobs op Spring Boot of .NET die kunnen worden herstart en dezelfde controletotalen rapporteren.
Online
CICS- en IMS-schermen worden webschermen of API's op Spring Boot of ASP.NET Core. Bediening met het toetsenbord blijft voor de gebruikers die er snel mee zijn.
Volgorde van het werk
We starten met een deel dat duidelijke grenzen en een laag risico heeft. Elke stap gaat in productie voordat de volgende start.
06 · Migreren

DB2- en datamigratie

Van DB2 naar PostgreSQL of SQL Server, met het bewijs dat er niets verloren ging of ongemerkt veranderde.

Schema
Tabellen, sleutels, indexen en constraints gemapt naar de doeldatabase in geversioneerde migraties. Decimale precisie, datums en tekensets worden expliciet beslist.
Embedded SQL
De SQL in de COBOL-programma's en de stored procedures wordt opgelijst en herschreven voor de doeldatabase, DB2-specifieke constructies inbegrepen.
VSAM en bestanden
Bestanden die als database dienen, worden echte tabellen. Recordlay-outs met REDEFINES en OCCURS worden uitgepakt tot een duidelijke structuur.
Proefdraaien en aansluiting
Herhaalde volledige migraties op een kopie, met rijaantallen en totalen vergeleken, tot de echte routine is.
07 · Bewijzen

Parallel draaien en overschakeling

Een migratie is af wanneer het nieuwe systeem dezelfde antwoorden geeft, niet wanneer de code compileert.

Resultaten vergeleken
Dezelfde input gaat door oud en nieuw. Outputbestanden en tabelinhoud worden automatisch vergeleken; elk verschil wordt verklaard of hersteld.
Parallel draaien
Oud en nieuw draaien naast elkaar gedurende een afgesproken periode, inclusief een periodeafsluiting waar de applicatie er een heeft.
Overschakeling met een weg terug
Een schriftelijk overschakelingsplan met een generale repetitie, een beslissingsmoment en een weg terug naar het oude systeem.
Uitschakelen
Een onderdeel wordt pas uitgefaseerd wanneer niets het nog aanroept. De programma's, jobs en data ervan worden gearchiveerd zoals afgesproken.

Hoe een traject verloopt

Kleine stappen · na elke stap een beslissing
  1. Intake
    Een gesprek van dertig minuten: uw systeem, uw reden om te veranderen, uw beperkingen.
    30 minuten
  2. Inventaris
    Programma's, jobs en data opgelijst, met afhankelijkheden, risico's en een plan in stappen.
    Inventaris + plan
  3. Reverse engineering
    Regels, datamodel en stromen gedocumenteerd en gecontroleerd met uw mensen.
    Schriftelijke documentatie
  4. Migreren in stappen
    Eén functie per keer, elk vergeleken met de resultaten van het oude systeem.
    Parallel draaien
  5. Overschakelen en uitfaseren
    Overschakelen met een weg terug, daarna het oude deel uitschakelen.
    In productie

Technologie

Gekozen per geval · niets is verplicht
MainframeCOBOL, JCL, CICS, IMS
DataDB2, VSAM, sequentiële bestanden, copybooks
DoelJava, Spring Boot, .NET Core, C#, PostgreSQL, SQL Server
InterfacesREST API's, OpenAPI, XML & XSLT, bestandsuitwisseling
AnalyseTaalmodellen (lokaal of goedgekeurde dienst), BPMN, Confluence
OpleveringGit, Jenkins, JIRA, geautomatiseerde vergelijkingstests

Goede match, en geen match

Bespaart ons allebei een vergadering
Een goede match als
  • Een COBOL-applicatie het bedrijf nog steeds draaiende houdt en de mensen die ze kennen vertrekken
  • Niemand met zekerheid kan zeggen wat het systeem in elk geval doet
  • U de mainframe in stappen wilt verlaten, of hem eerst wilt openstellen
  • Iemand die het bedrijf kent documenten kan nalezen en vragen kan beantwoorden
Geen match als
  • Alles in één weekend moet worden vervangen
  • De broncode weg is en alleen gecompileerde programma's overblijven
  • U een tool zoekt die alles automatisch converteert
  • U mainframe-exploitatie nodig hebt, of volgende week een groot team ter plaatse

Vragen over mainframe-modernisering

Alle vragen →
01Moeten we de mainframe verlaten?

Nee. Soms is het systeem documenteren en er interfaces rond zetten het juiste resultaat. De inventaris toont wat het waard is om te verhuizen; de beslissing is aan u, per onderdeel.

02Hoe lang duurt een migratie?

Dat hangt af van de omvang, van hoe de delen van elkaar afhangen en van hoeveel tijd uw mensen hebben om na te lezen. Na de inventaris krijgt u een plan in stappen met een raming per stap. Daarvoor noemen we geen duur.

03Gebruikt u automatische codeconverters?

Tools helpen bij de inventaris en de analyse. De nieuwe code wordt door ontwikkelaars geschreven vanuit de gedocumenteerde regels, omdat geconverteerde code meestal COBOL in een andere syntaxis is die niemand wil onderhouden.

04Wordt onze broncode naar een AI-dienst gestuurd?

Alleen als u dat goedkeurt. De analyse kan draaien op een lokaal model, op een dienst die u hebt goedgekeurd, of helemaal zonder taalmodellen. Zie AI-consulting.

05Onze COBOL-mensen gaan binnenkort met pensioen. Wat komt eerst?

Reverse engineering, zolang zij het resultaat nog kunnen controleren. Documentatie die zij hebben nagelezen, is meer waard dan elke reconstructie achteraf.

06Wie doet het werk, en hoe volgen we het?

Tim De Smedt en het vaste ontwikkelteam, rechtstreeks. U volgt het via de documenten, regelmatige demo's en een issuelijst die u op elk moment kunt openen. Zie hoe we werken en projectmanagement & analyse.

Vertel ons wat er op uw mainframe draait. Wij zeggen u waar we zouden beginnen.

Antwoord binnen drie werkdagen.Bespreek uw systeem →Hoe we werken