Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Lösungsmöglichkeiten
In diesem Artikel wird eine Lösungsidee beschrieben. Ihr Cloudarchitekt kann diesen Leitfaden verwenden, um die Hauptkomponenten einer typischen Implementierung dieser Architektur zu visualisieren. Verwenden Sie diesen Artikel als Ausgangspunkt, um eine gut durchdachte Lösung zu entwerfen, die den spezifischen Anforderungen Ihrer Workload entspricht.
Diese Architektur beschreibt, wie Sie mithilfe von Raincode IMSql eine IMS-Mainframeanwendungs-Workload auf Azure implementieren. Es ist komplexer, eine IMS-Datenbankanwendung (IMS Database, DB) zu einer cloudeigenen Lösung zu migrieren, als eine relationale Datenbankanwendung zu migrieren. In diesem Artikel wird beschrieben, wie Sie einen IMS-Workload auf einem Mainframe, der über wichtige IMS-Merkmale und -Funktionen verfügt, erneut auf Azure hosten. Sie müssen Ihre vorhandene Anwendung nicht übersetzen oder ändern.
Architektur der Arbeitsauslastung von Premigration IMS DB und IMS Data Communications
Datenfluss
Der folgende Datenfluss entspricht dem vorherigen Diagramm:
Benutzer stellen eine Verbindung mit dem Großrechner über TCP/IP her, indem Standard-Mainframeprotokolle wie TN3270 und HTTPS verwendet werden.
Transaktionsmanager interagieren mit Benutzern und rufen die Anwendung auf, um Benutzeranforderungen zu erfüllen.
Benutzer interagieren mit IMS-Bildschirmen oder Webseiten im Front-End der Anwendungsschicht.
Der Anwendungscode verwendet die Speicherfunktionen der hierarchischen IMS DB-Back-End-Datenschicht.
Batchaufträge führen Offline-Big Data-Vorgänge aus.
Neben der Transaktionsverarbeitung bieten andere Dienste Authentifizierung, Sicherheit, Verwaltung, Überwachung und Berichterstellung. Diese Dienste interagieren mit anderen Systemdiensten.
IMSql-Architektur in Azure
Laden Sie eine Visio-Datei dieser Architektur herunter.
Arbeitsablauf
Der folgende Workflow entspricht dem vorherigen Diagramm:
IMSql-Terminalserver
Traditionell greifen lokale Benutzer auf die Mainframe-Z/OS-Schnittstelle über ein IBM-Internes Terminal oder mithilfe der Terminalemulationssoftware zu. Eine Anwendung, die über ein geografisch verteiltes Netzwerk mit Tausenden von Benutzern verfügt, verbindet sich mit einem Terminal mit dem Mainframe. Wenn Sie eine IMS Data Communications (DC)-Anwendung auf einem verteilten cloudbasierten System neu hosten, müssen Sie die Anwendung und die Ressource zentral hosten und für die Remoteclientgeräte veröffentlichen. Verwenden Sie IMSql-Terminalserver, um die Anwendung und die Ressource auf Azure zu hosten und zu veröffentlichen.
SQL Server-Dienstbroker
Im Großrechner überträgt und verarbeitet IMS DC Nachrichten in einem Kontrollbereich, um die Kommunikationsschicht zwischen Benutzerterminals und Anwendungsprogrammen zu koordinieren. Nach dem erneuten Hosten orchestriert der SQL Server Service Broker diese asynchrone Kommunikationsschicht. Dieser Servicebroker unterstützt die Kommunikation über das Nachrichtenübermittlungsframework und skaliert Nachrichten auf separate Verarbeitungsserver, aktuelle Benutzer und deren Transaktionsverarbeitung.
IMSql-Verarbeitungsserver
Der Verarbeitungsserver führt Raincode-rekompilierten Code für IMS-Programme in .NET Framework oder .NET aus. Der Server enthält die zugrunde liegende Infrastruktur, sodass rekompilierte Programme effektiv und mit korrekter funktionaler Äquivalenz ausgeführt werden. Der IMSql-Verarbeitungsserver kann dynamische Abfragen generieren und in SQL Server Stored Procedures aufrufen, die bei der Neukompilierung von Data Language/One (DL/I)-Aufrufen erstellt werden.
SQL Server als hierarchischer Datenspeicher
Daten werden hierarchisch in IMS gespeichert. IMSql verwendet das gleiche Modell in SQL Server. In diesem Modell werden relationale Datenbanken mit hoher Leistung verwendet, um hierarchische Segmente aus IMS logisch zu implementieren. Das Modell unterstützt die unabhängige Skalierung mit Segmenten. Segmentdaten werden im unformatierten EBCDIC-Format gespeichert, sodass keine Konvertierung für die Anwendung erforderlich ist. Durch die Verwendung von SQL-PaaS (Platform-as-a-Service) kann IMSql die zugrunde liegenden Hochverfügbarkeits- und Notfallwiederherstellungsfunktionen von Azure nutzen.
DL/I-Aufruf-API
Die IMSql-API übersetzt COBOL IMS DL/I-Aufrufe in entsprechende SQL-Abfragen. Die API ruft Daten ab und gibt sie im erwarteten Format an das Anwendungsprogramm zurück. IMSql verfolgt die Programmposition im Tabellendatensatz nach, um Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge wie die hierarchische Datenbank auszuführen. Um auf leistungsintensive DL/I-Aufrufe zu reagieren, kann IMSql gespeicherte Prozeduren in SQL Server während der Kompilierung erstellen.
Raincode JCL
Raincode Job Control Language (JCL) ist ein z/OS JCL-kompatibler Dolmetscher. Raincode JCL glättet den Übergang von der komplexen Geschäftslogik, die in JCL eingebettet ist, zu Azure und .NET Plattformen. Raincode JCL führt Code aus, der von Raincode COBOL-, PL/I- und ASM370-Compilern kompiliert wird. Raincode JCL führt Schritte aus, die in den meisten Sprachen geschrieben wurden. Implementieren Sie vom Benutzer geschriebenen Code, um ihn für die maßgeschneiderte Batchplanung zu konfigurieren und anzupassen.
IMSql-Datenansicht
IMSql definiert relationale SQL-Ansichten basierend auf Kopierbüchern oder Datensatzlayouts, sodass Azure Dienste und neue Anwendungen mithilfe von einfachen SQL-Anweisungen auf IMS-Segmente zugreifen können. IMSql-Ansichten sind schreibbar, sodass moderne Anwendungen sowohl über SQL Server in IMS lesen als auch schreiben können.
Datenmigration über IMSql
Migration von Datenbankobjekten
IMSql extrahiert und überträgt die ursprüngliche IMS-Datenbankbeschreibung (DBD) vom Mainframe. IMSql verwendet DBD-Informationen, um SQL-Skripts zu erstellen, um eine Zieldatenbank und Tabellen in Azure SQL zu generieren.
Jedes Segment in einer IMS-DBD wird in Azure als Tabelle übersetzt.
Tabellen enthalten ein Schlüsselfeld, Suchfelder und IMS-Segmentdaten, die in EBCDIC dargestellt werden.
Azure SQL Tabellen behalten die STRUKTUR der IMS-Segmentstruktur und die Beziehungen zwischen Primär- und Fremdschlüsseln bei.
Erstes Laden von Daten
Daten aus der IMS DB werden mithilfe eines Mainframe-Jobs und von Download-Dienstprogrammen wie DFSRRC00 und DFSURGL0 extrahiert.
Sie können extrahierte Binärdateien in Azure übertragen, indem Sie Azure Data Factory Connectors wie FTP und Secure FTP (SFTP) und eine Java-basierte Lösung verwenden, die auf Unix Subsystem Services ausgeführt wird.
IMSql verfügt über ein integriertes Ladedienstprogramm zum Abschließen der ersten Datenladevorgänge. Dieses Tool verwendet das SQL Server Bulk Copy Program (bcp)-Hilfsprogramm. Das Tool stellt sicher, dass bcp ausgeführt wird und überprüft, ob die referenzielle Integrität zwischen den Tabellen der erwarteten hierarchischen Struktur entspricht.
Bei dieser Migration wird eine einmalige Datenlast aus dem IMS DB behandelt, die Koexistenz und die zugeordnete Datensynchronisierung werden jedoch nicht behandelt.
Datenfluss
Der folgende Datenfluss entspricht dem vorherigen Diagramm:
IMS DB enthält die DBD und die Segmentdaten.
IBM Utilities extrahieren und entladen IMS DB-Informationen.
Die DBD-Datei und die entsprechenden Binärdatendateien werden separat generiert.
Die folgenden Schritte beschreiben den Datenaufnahmeprozess:
Der Azure Data Factory-FTP-Connector kopiert Mainframe-IMS-Datasets in den Azure-Datenspeicher.
Mainframe-IMS-Datendateien werden über SFTP in Azure Blob Storage kopiert.
Mainframe JCL führt eine benutzerdefinierte Java Lösung aus, die Daten zwischen dem Mainframesystem und dem SFTP-Blob Storage verschiebt.
IMSql erstellt die Zieldatenbank und -tabellen und verwaltet die referenzielle Integrität mithilfe der DBD-Datei.
IMSql lädt die erstellten Datenobjekte in sequenzieller Reihenfolge in die entsprechenden Tabellen.
Azure SQL Managed Instance beherbergt migrierte IMS-Daten.
Die Anwendungsdatenbank enthält die rohen Segmentdaten, die für die Online-IMS-Verarbeitung und Batchverarbeitung verwendet werden.
Die IMS-Lese- und Schreibansichten enthalten Segmentdaten, die sich gemäß dem Copybook-Layout erweitern.
Migrieren von IMS-DB-Daten mit Raincode zBridge
Raincode zBridge erleichtert den Zugriff auf nichtrelationale Mainframe-Daten in Azure, einschließlich Daten aus IMS DB-Segmenten. Sie können auf diese Daten in Azure SQL Datenbanken für verteilte Anwendungen und für Berichterstellungs- und Analysezwecke zugreifen.
Importieren Sie IMS-Segmentdatendateien in zBridge, indem Sie ein übereinstimmendes COBOL-Copybook oder PL/I-Include verwenden. Die Daten werden als SQL-Zeilen angezeigt, die numerische Großrechnertypen in SQL-Typen konvertieren und bei Bedarf Zeichenfolgen in ASCII konvertieren. zBridge unterstützt auch komplexe Datenstrukturen.
Komponenten
Azure Logic Apps ist eine Cloudplattform für leistungsstarke Integrationslösungen. Mainframebenutzer, die mit 3270-Terminals und On-Premises-Konnektivität vertraut sind, können den Logic Apps IBM 3270-Connector verwenden, um auf IBM-Mainframe-Apps zuzugreifen und sie auszuführen. In dieser Architektur unterstützt Logic Apps die Mainframeinteraktion mit migrierten Azure Anwendungen mithilfe des öffentlichen Internets oder einer Azure ExpressRoute privaten Verbindung, die Microsoft Entra ID für die Authentifizierung verwendet.
Azure Virtual Machine Scale Sets ist ein Computedienst, der automatisierte Skalierung und lastenausgleichende virtuelle Maschinen (VMs) bereitstellt, die die Anwendungsverwaltung vereinfachen und die Verfügbarkeit erhöhen. In dieser Architektur bietet Virtual Machine Scale Sets genügend VMs für die unternehmenskritischen Online- und Batchverarbeitungsanforderungen der IMSql-Workload.
Azure Virtual Network unterstützt die sichere Kommunikation zwischen Azure Ressourcen wie Azure virtuellen Computern und mit dem Internet und lokalen Netzwerken. Virtual Network ist wie ein herkömmliches Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben, bietet aber die Skalierung, Verfügbarkeit und Isolation von Azure Infrastruktur. In dieser Architektur bietet Virtual Network eine sichere Netzwerkgrundlegung für eine effektive Kommunikation zwischen IMSql-Komponenten.
ExpressRoute ist ein Konnektivitätsdienst, der Ihre lokalen Netzwerke über eine private Verbindung, die von einem Verbindungsanbieter erleichtert wird, in den Microsoft Cloud erweitert. Sie können ExpressRoute verwenden, um Verbindungen mit Microsoft Cloud-Diensten wie Azure und Microsoft 365 herzustellen. In dieser Architektur bietet ExpressRoute sichere Verbindungen mit hoher Bandbreite zwischen lokalen Mainframeumgebungen und den migrierten IMS-Anwendungen, die auf Azure ausgeführt werden.
Microsoft Entra ID ist ein cloudbasierter Identitäts- und Zugriffsverwaltungsdienst für Unternehmen. In dieser Architektur schützt Microsoft Entra ID vor Cybersicherheitsangriffen und bietet einmaliges Anmelden und mehrstufige Authentifizierung, um Benutzern bei der Anmeldung und beim Zugriff auf Ressourcen zu helfen.
SQL Managed Instance stellt eine vollständig verwaltete SQL Server Instanz in Azure bereit. In dieser Architektur stellt SQL Managed Instance die relationale Datenbankplattform für konvertierte hierarchische IMS DB-Datenstrukturen mit hoher Verfügbarkeit und Azure Dienstintegration bereit.
Alternativen
Sie können SQL Server in einer Azure VM anstelle von SQL Managed Instance verwenden. Wir empfehlen SQL Managed Instance aufgrund ihrer hohen Verfügbarkeit, Integration in Azure Dienste und verwaltung von Sicherheitspatches und Wartung.
Sie können anstelle von Virtual Machine Scale Sets eine Azure-Architektur mit einem einzelnen virtuellen Computer verwenden. Erwägen Sie einzelne VMs für Arbeitslasten mit konstanten Auslastungs- und Leistungsanforderungen und erfordern keine Skalierung. In dieser Architektur wird Virtual Machine Scale Sets für typische IMS-Workloads verwendet.
Szenariodetails
Systeme zur Onlinetransaktionsverarbeitung (Online Transaction Processing, OLTP) können Millionen von Transaktionen für viele Benutzer verarbeiten. IBM IMS ist ein klassischer Mainframetransaktionsmanager für OLTP. IBM IMS umfasst IMS DC, den Transaktionsmanager und IMS DB, das zugrunde liegende hierarchische Datenbankmanagementsystem (DBMS).
IMSql bietet IMS-basiertes Hosting von Workloads auf Azure sowie in lokalen, SQL Server-basierten, verteilten Implementierungen. IMSql bietet eine ganzheitliche Lösung für IMS-Workloads, einschließlich der App-, Daten- und Middleware-Komponenten. IMSql kann hierarchische IMS DB-Datenstrukturen in ein relationales Datenmodell in SQL Server, SQL Server auf virtuellen Azure-Computern und SQL Managed Instance aufnehmen. Es verfügt über integrierte APIs für IMS-Anwendungsprogramm DL/I-Aufrufe und erweitert die Datenschicht über hierarchische Workloads hinaus auf cloudneigene Apps für relationale Daten.
Diese Lösung:
Modernisiert die Infrastruktur und reduziert die hohen Kosten, Beschränkungen und die Unflexibilität monolithischer IMS-Workloads.
Implementiert cloudeigene Lösungen und DevOps, um technische Schulden zu reduzieren.
Sendet IMS DB-Daten an cloudbasierte Anwendungen, die keine Mainframes verwenden, einschließlich KI- und Analyseanwendungen.
Potenzielle Anwendungsfälle
Diese Lösung kann nützlich sein für:
Banken, Finanzen, Versicherungen, Behörden und Einzelhandel, die Mainframe IMS verwenden. Viele dieser Organisationen führen ihre primären OLTP- und Batchanwendungen auf IMS DB und IMS DC aus.
IBM zSeries-Großrechnerkunden, die geschäftskritische Anwendungen migrieren müssen. Diese Kunden möchten häufig die Kontinuität mit anderen lokalen Anwendungen beibehalten und die Auswirkungen einer vollständigen Neuentwicklung vermeiden.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautoren:
- Nithish Aruldoss | Ingenieurarchitekt
- Amethyst Salomo | Leitender Ingenieur Architekt
Um nichtöffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.
Nächste Schritte
- Kopieren von Dateien aus dem Mainframe in Azure Data Factory mithilfe des FTP-Connectors
- Übertragen von Mainframedateien in Blob Storage mithilfe von SFTP
- Was ist virtuelles Netzwerk?
- Was ist ExpressRoute?
- Microsoft Fabric-Dokumentation