Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Oplossingsideeën
In dit artikel wordt een oplossingsidee beschreven. Uw cloudarchitect kan deze richtlijnen gebruiken om de belangrijkste onderdelen te visualiseren voor een typische implementatie van deze architectuur. Gebruik dit artikel als uitgangspunt om een goed ontworpen oplossing te ontwerpen die overeenkomt met de specifieke vereisten van uw workload.
In deze architectuur wordt beschreven hoe u een mainframetoepassingsworkload (Information Management System) implementeert op Azure met behulp van Raincode IMSql. Het is complexer om een IMS Database-toepassing (DB) te migreren naar een cloudeigen oplossing dan om een relationele databasetoepassing te migreren. In dit artikel wordt beschreven hoe u een mainframe-IMS-workload met essentiële IMS-functies en -mogelijkheden opnieuw host voor Azure. U hoeft uw bestaande toepassing niet te vertalen of te wijzigen.
Workloadarchitectuur vóór de migratie van IMS DB en IMS Data Communications
Gegevensstroom
De volgende gegevensstroom komt overeen met het vorige diagram:
Gebruikers maken verbinding met het mainframe via TCP/IP met behulp van standaard-mainframeprotocollen zoals TN3270 en HTTPS.
Transactiemanagers communiceren met gebruikers en roepen de applicatie aan om aan verzoeken van gebruikers te voldoen.
Gebruikers communiceren met IMS-schermen of webpagina's in de front-end van de toepassingslaag.
Toepassingscode maakt gebruik van de opslagmogelijkheden van de hiërarchische back-end-gegevenslaag van IMS DB.
Batchtaken voeren offline big data-bewerkingen uit.
Naast transactieverwerking bieden andere services authenticatie, beveiliging, beheer, monitoring en rapportage. Deze services communiceren met andere systeemservices.
IMSql-architectuur op Azure
Een Visio-bestand van deze architectuur downloaden.
Werkproces
De volgende werkstroom komt overeen met het vorige diagram:
IMSql-terminalserver
Normaal gesproken hebben on-premises gebruikers toegang tot de mainframe z/OS-interface met behulp van een IBM-terminal in-house of met behulp van terminalemulatiesoftware. Een toepassing met een geografisch verspreid netwerk met duizenden gebruikers maakt verbinding met het mainframe met behulp van een terminal. Als u een IMS Data Communications-toepassing (DC) opnieuw host op een gedistribueerd cloudsysteem, moet u de toepassing en de resource centraal hosten en publiceren voor de externe clientapparaten. Als u de toepassing en de resource op Azure wilt hosten en publiceren, gebruikt u IMSql-terminalservers.
SQL Server-servicemakelaar
In het mainframe verzendt en verwerkt IMS DC berichten in een besturingsregio om de communicatielaag tussen gebruikersterminals en toepassingsprogramma's te organiseren. Na het opnieuw hosten orkestreert de SQL Server-servicebroker deze asynchrone communicatielaag. Deze servicebroker ondersteunt communicatie via het framework voor berichtbezorging en schaalt berichten uit tot afzonderlijke verwerkingsservers, huidige gebruikers en hun transactieverwerking.
IMSql-verwerkingsserver
De verwerkingsserver voert Raincode-recompiled code uit voor IMS-programma's in .NET Framework of .NET. De server bevat de onderliggende infrastructuur, zodat opnieuw gecompileerde programma's effectief en met de juiste functionele gelijkwaardigheid worden uitgevoerd. De IMSql-verwerkingsserver kan dynamische query's en opgeslagen procedures voor aanroepen genereren in SQL Server die zijn gemaakt tijdens hercompilatie van dll-oproepen (Data Language/One).
SQL Server als hiërarchisch gegevensarchief
Gegevens worden hiërarchisch opgeslagen in IMS. IMSql gebruikt hetzelfde model op SQL Server. Dit model maakt gebruik van relationele databases met hoge prestaties om hiërarchische segmenten logisch te implementeren vanuit IMS. Het model ondersteunt onafhankelijke schaling per segment. Segmentgegevens worden opgeslagen in onbewerkte EBCDIC-indeling, zodat er geen conversie voor de toepassing nodig is. Door SQL Platform as a Service (PaaS) te gebruiken, kan IMSql profiteren van de onderliggende mogelijkheden voor hoge beschikbaarheid en herstel na noodgevallen die Azure biedt.
DL/I-aanroep-API
De IMSql-API vertaalt COBOL IMS DL/I-aanroepen naar gelijkwaardige SQL-query's. De API haalt gegevens op en retourneert deze in de verwachte indeling naar het toepassingsprogramma. IMSql houdt de programmapositie in de tabelrecord bij om bewerkingen voor maken, lezen, bijwerken en verwijderen uit te voeren, zoals de hiërarchische database. IMSql kan tijdens de compilatie opgeslagen procedures in SQL Server maken om prestatie-intensieve DL/I-aanroepen af te handelen.
Regencode JCL
Raincode job control language (JCL) is een Z/OS JCL-compatibele interpreter. Raincode JCL verzacht de overgang van de complexe bedrijfslogica die is ingesloten in JCL naar Azure en .NET platforms. Raincode JCL voert code uit die is gecompileerd door Raincode COBOL-, PL/I- en ASM370-compilers. Raincode JCL voert stappen uit die in de meeste talen zijn geschreven. Implementeer door de gebruiker geschreven code om deze te configureren en aan te passen voor op maat gemaakte batchplanning.
IMSql-gegevensweergave
IMSql definieert relationele SQL-weergaven op basis van copybooks of recordindelingen, zodat Azure services en nieuwe toepassingen toegang hebben tot IMS-segmenten met behulp van gewone SQL-instructies. IMSql-weergaven zijn beschrijfbaar, zodat moderne toepassingen kunnen lezen en schrijven naar IMS via SQL Server.
Gegevensmigratie via IMSql
Migratie van databaseobjecten
IMSql extraheert en draagt de oorspronkelijke IMS-databasebeschrijving (DBD) over vanaf het mainframe. IMSql gebruikt DBD-gegevens om SQL-scripts te produceren voor het genereren van een doeldatabase en tabellen in Azure SQL.
Elk segment in een IMS-DBD wordt vertaald als een tabel in Azure.
Tabellen bevatten een sleutelveld, zoekvelden en IMS-segmentgegevens die worden weergegeven in EBCDIC.
Azure SQL-tabellen behouden de structuur van de IMS-segmentboom en de relaties tussen primaire en refererende sleutels.
Eerste gegevensbelasting
Gegevens uit de IMS DB worden via een mainframetaak en downloadutilities zoals DFSRRC00 en DFSURGL0 opgehaald.
U kunt geëxtraheerde binaire bestanden overbrengen naar Azure met behulp van Azure Data Factory-connectors, zoals FTP en Secure FTP (SFTP), en een Java-oplossing die wordt uitgevoerd op Unix Subsystem Services.
IMSql heeft een ingebouwd hulpprogramma voor het laden van de eerste gegevens. Dit hulpprogramma maakt gebruik van het hulpprogramma SQL Server Bulk Copy Program (bcp). Het hulpprogramma zorgt ervoor dat bcp wordt uitgevoerd en controleert of de referentiële integriteit tussen de tabellen overeenkomt met de verwachte hiërarchische structuur.
Met deze migratie wordt een eenmalige gegevensbelasting vanuit de IMS-database opgelost, maar er wordt geen sprake van co-existentie en bijbehorende gegevenssynchronisatie.
Gegevensstroom
De volgende gegevensstroom komt overeen met het vorige diagram:
IMS DB bevat de DBD en de segmentgegevens.
IBM-hulpprogramma's extraheren en ontladen IMS DB-gegevens.
Het DBD-bestand en de bijbehorende binaire gegevensbestanden worden afzonderlijk gegenereerd.
In de volgende stappen wordt het proces voor gegevensopname beschreven:
De Azure Data Factory FTP-connector kopieert mainframe IMS-gegevenssets naar Azure-gegevensopslag.
Mainframe IMS-gegevensbestanden worden via SFTP gekopieerd naar Azure Blob Storage.
Mainframe JCL voert een aangepaste Java oplossing uit waarmee gegevens worden verplaatst tussen het mainframesysteem en de SFTP-Blob Storage.
IMSql maakt de doeldatabase en tabellen en onderhoudt referentiële integriteit met behulp van het DBD-bestand.
IMSql laadt de gemaakte gegevensobjecten in de bijbehorende tabellen in opeenvolgende volgorde.
Azure SQL Managed Instance bevat gemigreerde IMS-gegevens.
De toepassingsdatabase bevat de onbewerkte segmentgegevens die worden gebruikt voor online IMS-verwerking en batchverwerking.
De lees- en schrijfweergaven van IMS bevatten segmentgegevens die worden uitgebreid op basis van de indeling van het copybook.
Migreer IMS DB-gegevens met behulp van Raincode zBridge
Raincode zBridge vereenvoudigt de toegang tot niet-relationele mainframe-gegevens op Azure, inclusief gegevens uit IMS DB-segmenten. U hebt toegang tot deze gegevens in Azure SQL databases voor gedistribueerde toepassingen en voor rapportage- en analytische doeleinden.
Importeer IMS-segmentgegevensbestanden in zBridge met behulp van een overeenkomend COBOL-kopieerboek of PL/I-bestand. De gegevens worden weergegeven als SQL-rijen die mainframe-numerieke typen converteren naar SQL-typen en die indien nodig tekenreeksen converteren naar ASCII. zBridge ondersteunt ook complexe datastructuren.
Onderdeel
Azure Logic Apps is een cloudplatform voor krachtige integratieoplossingen. Mainframe-gebruikers die bekend zijn met 3270 terminals en on-premises connectiviteit, kunnen de Logic Apps IBM 3270-connector gebruiken om toegang te krijgen tot IBM mainframe-apps en deze uit te voeren. In deze architectuur ondersteunt Logic Apps mainframeinteractie met gemigreerde Azure toepassingen met behulp van het openbare internet of een Azure ExpressRoute privéverbinding die gebruikmaakt van Microsoft Entra ID voor verificatie.
Virtuele-machineschaalsets van Azure is een rekenservice die automatisch schalen van virtuele machines (VM's) met gelijke taakverdeling biedt die het beheer van toepassingen vereenvoudigt en de beschikbaarheid verhoogt. In deze architectuur biedt Virtual Machine Scale Sets voldoende VM's voor de essentiële online- en batchverwerkingsbehoeften van de IMSql-workload.
Azure Virtual Network ondersteunt beveiligde communicatie tussen Azure resources, zoals Azure VM's, en met internet- en on-premises netwerken. Virtual Network is net als een traditioneel netwerk dat u in uw eigen datacenter uitvoert, maar het biedt de schaal, beschikbaarheid en isolatie van Azure infrastructuur. In deze architectuur biedt Virtual Network een veilige netwerkbasis voor effectieve communicatie tussen IMSql-onderdelen.
ExpressRoute is een connectiviteitsservice die uw on-premises netwerken uitbreidt naar de Microsoft Cloud via een privéverbinding die wordt gefaciliteerd door een connectiviteitsprovider. U kunt ExpressRoute gebruiken om verbindingen tot stand te brengen met Microsoft Cloud-services zoals Azure en Microsoft 365. In deze architectuur biedt ExpressRoute veilige connectiviteit met hoge bandbreedte tussen on-premises mainframe-omgevingen en de gemigreerde IMS-toepassingen die worden uitgevoerd in Azure.
Microsoft Entra ID is een cloudgebaseerde service voor identiteits- en toegangsbeheer voor ondernemingen. In deze architectuur beschermt Microsoft Entra ID zich tegen cyberbeveiligingsaanvallen en biedt eenmalige aanmelding en meervoudige verificatie om gebruikers te helpen zich aan te melden en toegang te krijgen tot resources.
SQL Managed Instance biedt een volledig beheerd SQL Server exemplaar in Azure. In deze architectuur biedt SQL Managed Instance het relationele databaseplatform voor geconverteerde hiërarchische IMS DB-gegevensstructuren met hoge beschikbaarheid en Azure service-integratie.
Alternatieven
U kunt SQL Server gebruiken in een Azure VM in plaats van SQL Managed Instance. We raden SQL Managed Instance aan vanwege de hoge beschikbaarheid, integratie met Azure services en het beheer van beveiligingspatches en -onderhoud.
U kunt een Azure architectuur met één VM gebruiken in plaats van Virtual Machine Scale Sets. Overweeg afzonderlijke VM's voor workloads met constante belasting- en prestatievereisten en waarvoor geen schaalaanpassing is vereist. Deze architectuur maakt gebruik van Virtuele-machineschaalsets voor het verwerken van typische IMS-workloads.
Scenario-details
OLTP-systemen (Mainframe Online Transaction Processing) kunnen miljoenen transacties verwerken voor veel gebruikers. IBM IMS is een klassieke mainframe transaction manager voor OLTP. IBM IMS omvat IMS DC, transaction manager en IMS DB, het onderliggende hiërarchische databasebeheersysteem (DBMS).
IMSql biedt hosting van workloads op basis van IMS op Azure en on-premises, op SQL Server gebaseerde, gedistribueerde implementaties. IMSql biedt een holistische oplossing voor IMS-workloads, waaronder de app, gegevens en middleware-onderdelen. IMSql kan hiërarchische IMS DB-gegevensstructuren opnemen in een relationeel gegevensmodel in SQL Server, SQL Server op virtuele machines in Azure en SQL Managed Instance. Het bevat ingebouwde API's voor DL/I-aanroepen van IMS-toepassingen en breidt de gegevenslaag uit buiten hiërarchische workloads naar cloudeigen apps voor relationele gegevens.
Deze oplossing:
Moderniseert de infrastructuur en vermindert de hoge kosten, beperkingen en inflexibiliteit van monolithische mainframe IMS-workloads.
Implementeert cloudeigen oplossingen en DevOps om technische schulden te verminderen.
Verzendt IMS DB-gegevens naar cloudtoepassingen die geen mainframes gebruiken, waaronder AI- en analysetoepassingen.
Mogelijke gebruiksvoorbeelden
Deze oplossing kan nuttig zijn voor:
Banken, financiële instellingen, verzekeringen, overheden en detailhandelssectoren die gebruikmaken van mainframe-IMS. Veel van deze organisaties voeren hun primaire OLTP- en batchtoepassingen uit op IMS DB en IMS DC.
IBM zSeries mainframe-klanten die bedrijfskritieke toepassingen moeten migreren. Deze klanten willen vaak continuïteit behouden met andere on-premises toepassingen en om de gevolgen van een volledige herontwikkeling te voorkomen.
Bijdragers
Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.
Hoofdauteurs:
- Nithish Aruldoss | Ingenieur Architect
- Amethist Salomo | Senior Engineering Architect
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.
Volgende stappen
- Kopieer bestanden van het mainframe naar Azure Data Factory met behulp van de FTP-connector
- Breng mainframebestanden over naar Blob Storage met behulp van SFTP
- Wat is een virtueel netwerk?
- Wat is ExpressRoute?
- Documentatie voor Microsoft Fabric