Eseguire il rehosting di un database IMS e delle comunicazioni di dati IMS in Azure usando Raincode IMSql

Set di scalabilità di macchine virtuali di Azure
App per la logica di azure
Istanza gestita di SQL di Azure
Rete virtuale di Azure
Azure ExpressRoute

Idee per soluzioni

In questo articolo viene descritta un'idea di soluzione. Il cloud architect può usare queste linee guida per visualizzare i componenti principali di un'implementazione tipica di questa architettura. Usa questo articolo come punto di partenza per progettare una soluzione ben architettata in linea con i requisiti specifici del tuo carico di lavoro.

Questa architettura descrive come implementare un carico di lavoro dell'applicazione mainframe (IMS) di Information Management System in Azure usando Raincode IMSql. È più complesso eseguire la migrazione di un'applicazione database IMS (DB) a una soluzione nativa del cloud rispetto alla migrazione di un'applicazione di database relazionale. Questo articolo descrive come eseguire il rehosting di un carico di lavoro IMS mainframe con funzionalità e funzionalità di IMS critiche per Azure. Non è necessario tradurre o modificare l'applicazione esistente.

Architettura dei carichi di lavoro pre-migrazione di IMS DB e IMS Data Communications

Diagramma che mostra l'architettura del carico di lavoro di gestione delle comunicazioni dati e del database IMS di premigration.

Flusso di dati

Il flusso di dati seguente corrisponde al diagramma precedente:

  1. Gli utenti si connettono al mainframe su TCP/IP usando protocolli mainframe standard come TN3270 e HTTPS.

  2. I gestori transazioni interagiscono con gli utenti e richiamano l'applicazione per soddisfare le richieste degli utenti.

  3. Gli utenti interagiscono con schermate o pagine Web IMS nel front-end del livello applicazione.

  4. Il codice dell'applicazione sfrutta le capacità di memorizzazione del livello dati back-end di IMS DB gerarchico.

  5. I processi batch eseguono operazioni offline su grandi moli di dati.

  6. Oltre all'elaborazione delle transazioni, altri servizi forniscono autenticazione, sicurezza, gestione, monitoraggio e reportistica. Questi servizi interagiscono con altri servizi di sistema.

Architettura IMSql in Azure

Diagramma che mostra l'architettura IMSql in Azure.

Scaricare un file di Visio di questa architettura.

Flusso di lavoro

Il flusso di lavoro seguente corrisponde al diagramma precedente:

  1. Server terminal IMSql

    Tradizionalmente, gli utenti locali accedono all'interfaccia z/OS del mainframe usando un terminale interno IBM o usando il software di emulazione del terminale. Un'applicazione con una rete geograficamente dispersa con migliaia di utenti si connette al mainframe usando un terminale. Se si esegue il rehosting di un'applicazione IMS Data Communications (DC) in un sistema distribuito basato sul cloud, è necessario ospitare centralmente l'applicazione e la risorsa e pubblicarle per i dispositivi client remoti. Per ospitare e pubblicare l'applicazione e la risorsa in Azure, usare i server terminal IMSql.

  2. Gestore di servizi SQL Server

    Nel mainframe, IMS DC trasmette ed elabora i messaggi in un'area di controllo per orchestrare il livello di comunicazione tra i terminali utente e i programmi dell'applicazione. Dopo il rehost, il Service Broker di SQL Server orchestra il livello di comunicazione asincrona. Questo broker di servizi supporta la comunicazione tramite la propria infrastruttura di recapito dei messaggi e distribuisce i messaggi su server di elaborazione separati, agli utenti attivi e alla relativa elaborazione delle transazioni.

  3. Server di elaborazione IMSql

    Il server di elaborazione esegue codice ricompilato Raincode per i programmi IMS in .NET Framework o .NET. Il server contiene l'infrastruttura sottostante in modo che i programmi ricompilati vengano eseguiti in modo efficace e con equivalenza funzionale corretta. Il server di elaborazione IMSql può generare query dinamiche e richiamare stored procedure in SQL Server che vengono create durante la ricompilazione della chiamata di Data Language/One (DL/I).

  4. SQL Server come archivio dati gerarchico

    I dati vengono archiviati gerarchicamente in IMS. IMSql utilizza lo stesso modello in SQL Server. Questo modello usa database relazionali a prestazioni elevate per implementare logicamente segmenti gerarchici da IMS. Il modello supporta la scalabilità indipendente con segmenti. I dati dei segmenti vengono archiviati in formato EBCDIC non elaborato in modo che non richiedano la conversione per l'applicazione. Usando la piattaforma SQL distribuita come servizio (PaaS), IMSql può sfruttare le funzionalità di disponibilità elevata e ripristino di emergenza sottostanti fornite da Azure.

  5. API di chiamata DL/I

    L'API IMSql traduce le chiamate COBOL IMS DL/I in query SQL equivalenti. L'API recupera i dati e lo restituisce al programma dell'applicazione nel formato previsto. IMSql tiene traccia della posizione del programma nel record di tabella per eseguire operazioni di creazione, lettura, aggiornamento ed eliminazione, ad esempio il database gerarchico. Per rispondere alle chiamate DL/I a elevato utilizzo di prestazioni, IMSql può creare stored procedure in SQL Server durante la compilazione.

  6. Raincode JCL

    Raincode Job Control Language (JCL) è un interprete compatibile con z/OS JCL. Raincode JCL uniforma la transizione dalla logica di business complessa incorporata in JCL alle piattaforme Azure e .NET. Raincode JCL esegue il codice compilato dai compilatori Raincode COBOL, PL/I e ASM370. Raincode JCL esegue i passaggi scritti nella maggior parte dei linguaggi. Implementare codice scritto dall'utente per configurarlo e adattarlo per la pianificazione batch su misura.

  7. Visualizzazione dati IMSql

    IMSql definisce le viste SQL relazionali basate su copybook o layout di record, in modo che i servizi Azure e le nuove applicazioni possano accedere ai segmenti IMS usando istruzioni SQL semplici. Le viste IMSql sono scrivibili, quindi le applicazioni moderne possono leggere e scrivere in IMS tramite SQL Server.

Migrazione dei dati tramite IMSql

Diagramma che mostra la migrazione dei dati tramite IMSql.

Migrazione di oggetti di database

  • IMSql estrae e trasferisce la descrizione originale del database IMS (DBD) dal mainframe. IMSql usa informazioni DBD per produrre script SQL per generare un database e tabelle di destinazione in Azure SQL.

  • Ogni segmento in un DBD IMS viene convertito come tabella in Azure.

  • Le tabelle includono un campo chiave, i campi di ricerca e i dati del segmento IMS rappresentati in EBCDIC.

  • Azure SQL tabelle mantengono la struttura ad albero dei segmenti IMS e le relazioni di chiave primaria ed esterna.

Caricamento iniziale dei dati

  • I dati del DB IMS vengono estratti tramite un job mainframe e utilità di download come DFSRRC00 e DFSURGL0.

  • È possibile trasferire file binari estratti in Azure usando connettori Azure Data Factory, ad esempio FTP e FTP sicuro (SFTP) e una soluzione basata su Java eseguita su Servizi sottosistemi Unix.

  • IMSql dispone di un'utilità di caricamento incorporata per completare i caricamenti iniziali dei dati. Questo strumento utilizza l'utilità BCP (Bulk Copy Program) di SQL Server. Lo strumento garantisce l'esecuzione di bcp e verifica che l'integrità referenziale tra le tabelle corrisponda alla struttura gerarchica prevista.

  • Questa migrazione risolve un caricamento dei dati monouso dal database IMS, ma non risolve la coesistenza e la sincronizzazione dei dati associata.

Flusso di dati

Il flusso di dati seguente corrisponde al diagramma precedente:

  1. IMS DB contiene il DBD e i dati dei segmenti.

  2. Le utilità IBM estraggono e scaricano le informazioni del database IMS.

  3. Il file DBD e i file di dati binari corrispondenti vengono generati separatamente.

  4. I passaggi seguenti descrivono il processo di inserimento dati:

    1. Il connettore FTP di Azure Data Factory copia i set di dati IMS mainframe nell'archiviazione dati di Azure.

    2. I file di dati IMS mainframe vengono copiati nell'Archivio BLOB di Azure tramite SFTP.

    3. JCL mainframe esegue una soluzione di Java personalizzata che sposta i dati tra il sistema mainframe e il gestione rete virtuale di Azure SFTP.

  5. IMSql crea il database e le tabelle di destinazione e mantiene l'integrità referenziale usando il file DBD.

  6. IMSql carica gli oggetti dati creati nelle tabelle corrispondenti in ordine sequenziale.

  7. Istanza gestita di SQL di Azure ospita i dati IMS migrati.

  8. Il database dell'applicazione contiene i dati di segmento non elaborati usati per l'elaborazione online di IMS e l'elaborazione batch.

  9. Le visualizzazioni di lettura e scrittura di IMS contengono dati di segmento che si espandono in base al layout del copybook.

Migrazione dei dati DB IMS utilizzando Raincode zBridge

Raincode zBridge facilita l'accesso ai dati non relazionali del mainframe su Azure, inclusi i dati dei segmenti di DATABASE IMS. È possibile accedere a questi dati nei database di Azure SQL per le applicazioni distribuite e per la creazione di report e analisi.

Importare i file di dati del segmento IMS in zBridge utilizzando un copybook COBOL corrispondente o un file include PL/I. I dati vengono visualizzati come righe SQL che convertono i tipi numerici mainframe in tipi SQL e che convertono le stringhe in ASCII, se necessario. zBridge supporta anche strutture di dati complesse.

Componenti

  • App per la logica di Azure è una piattaforma cloud per soluzioni di integrazione avanzate. Gli utenti di mainframe che hanno familiarità con i terminali 3270 e la connettività on-premises possono usare il connettore IBM 3270 di Logic Apps per accedere alle applicazioni IBM su mainframe ed eseguirle. In questa architettura, Logic Apps consente l'interazione con il mainframe da parte delle applicazioni migrate in Azure tramite la rete Internet pubblica oppure una connessione privata Azure ExpressRoute che utilizza Microsoft Entra ID per l'autenticazione.

  • I set di scalabilità di macchine virtuali di Azure sono un servizio di calcolo che offre scalabilità automatica e con bilanciamento del carico delle macchine virtuali che semplifica la gestione delle applicazioni e aumenta la disponibilità. In questa architettura, set di scalabilità di macchine virtuali fornisce macchine virtuali sufficienti per le esigenze cruciali per l'elaborazione online e batch del carico di lavoro IMSql.

  • Rete virtuale di Azure supporta la comunicazione sicura tra risorse Azure, ad esempio Azure macchine virtuali e con le reti Internet e locali. Rete virtuale è come una rete tradizionale che si opera nel proprio data center, ma offre scalabilità, disponibilità e isolamento dell'infrastruttura Azure. In questa architettura, Rete virtuale fornisce una base di rete sicura per una comunicazione efficace tra i componenti IMSql.

  • ExpressRoute è un servizio di connettività che estende le reti locali all'Microsoft Cloud tramite una connessione privata facilitata da un provider di connettività. È possibile usare ExpressRoute per stabilire connessioni ai servizi cloud Microsoft come Azure e Microsoft 365. In questa architettura ExpressRoute offre connettività sicura e a larghezza di banda elevata tra gli ambienti mainframe locali e le applicazioni IMS migrate eseguite in Azure.

  • Microsoft Entra ID è un servizio di gestione delle identità e degli accessi aziendali basato sul cloud. In questa architettura, Microsoft Entra ID protegge dagli attacchi alla sicurezza informatica e fornisce l'autenticazione single sign-on e a più fattori per consentire agli utenti di accedere alle risorse e accedervi.

  • Istanza gestita di SQL fornisce un'istanza di SQL Server completamente gestita in Azure. In questa architettura, Istanza gestita di SQL fornisce la piattaforma di database relazionale per le strutture di dati di database IMS gerarchiche convertite con disponibilità elevata e integrazione del servizio Azure.

Le alternative

  • È possibile usare SQL Server in una macchina virtuale Azure anziché in Istanza gestita di SQL. È consigliabile Istanza gestita di SQL a causa della disponibilità elevata, dell'integrazione con i servizi Azure e della gestione delle patch di sicurezza e della manutenzione.

  • È possibile usare un'architettura a macchina virtuale singola Azure anziché set di scalabilità di macchine virtuali. Prendere in considerazione le singole macchine virtuali per i carichi di lavoro con esigenze di carico e prestazioni costanti e non richiedono il ridimensionamento. Questa architettura usa set di scalabilità di macchine virtuali per gestire i carichi di lavoro IMS tipici.

Dettagli dello scenario

I sistemi OLTP (Mainframe Online Transaction Processing) possono elaborare milioni di transazioni per molti utenti. IBM IMS è un gestore di transazioni mainframe classico per OLTP. IBM IMS comprende IMS DC, il gestore delle transazioni e IMS DB, il sistema di gestione di database gerarchico sottostante (DBMS).

IMSql offre l'hosting di carichi di lavoro basati su IMS in Azure e in locale, implementazioni distribuite basate su SQL Server. IMSql offre una soluzione olistica per i carichi di lavoro IMS, inclusi i componenti app, dati e middleware. IMSql può inserire strutture di dati di database IMS gerarchiche in un modello di dati relazionale in SQL Server, SQL Server in Macchine virtuali di Azure e Istanza gestita di SQL. Include API predefinite per le chiamate DL/I del programma di applicazioni IMS ed estende il livello dati oltre i carichi di lavoro gerarchici alle app native del cloud per i dati relazionali.

Questa soluzione:

  • Modernizza l'infrastruttura e riduce i costi elevati, le limitazioni e la rigidità dei carichi di lavoro IMS monolitici su mainframe.

  • Implementa soluzioni native del cloud e DevOps per ridurre il debito tecnico.

  • Invia i dati del database IMS alle applicazioni basate sul cloud che non usano mainframe, incluse le applicazioni di intelligenza artificiale e analisi.

Casi d'uso potenziali

Questa soluzione può essere utile per:

  • Settori bancario, finanziario, assicurativo, governativo e della vendita al dettaglio che utilizzano Mainframe IMS. Molte di queste organizzazioni eseguono le principali applicazioni OLTP e batch in IMS DB e IMS DC.

  • Clienti mainframe IBM zSeries che devono eseguire la migrazione di applicazioni critiche per l'azienda. Questi clienti spesso vogliono mantenere la continuità con altre applicazioni locali e per evitare gli effetti di una riqualifica completa.

Contributori

Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.

Autori principali:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi