Realojar una base de datos IMS y las comunicaciones de datos de IMS en Azure usando Raincode IMSql

Azure Virtual Machine Scale Sets
Azure Logic Apps
Instancia administrada de Azure SQL
Azure Virtual Network
Azure ExpressRoute

Ideas de soluciones

En este artículo se describe una idea de solución. Su arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Utilice este artículo como punto de partida para diseñar una solución bien arquitectada que se alinee con los requisitos específicos de su carga de trabajo.

En esta arquitectura se describe cómo implementar una carga de trabajo de aplicación del sistema central de Information Management System (IMS) en Azure mediante Raincode IMSql. Es más complejo migrar una aplicación de base de datos IMS (DB) a una solución nativa de nube que migrar una aplicación de base de datos relacional. En este artículo se describe cómo rehospedar una carga de trabajo de IMS del sistema central que tiene características y funcionalidades críticas de IMS para Azure. No es necesario traducir ni modificar la aplicación existente.

Arquitectura de la carga de trabajo de IMS DB y de IMS Data Communications anterior a la migración

Diagrama que muestra la arquitectura de la carga de trabajo de IMS DB y de comunicaciones de datos anterior a la migración.

Flujo de datos

El siguiente flujo de datos corresponde al diagrama anterior:

  1. Los usuarios se conectan al sistema central a través de TCP/IP mediante protocolos de sistema central estándar como TN3270 y HTTPS.

  2. Los administradores de transacciones interactúan con los usuarios e invocan la aplicación para satisfacer las solicitudes de los usuarios.

  3. Los usuarios interactúan con pantallas o páginas web de IMS en el front-end de la capa de aplicación.

  4. El código de aplicación usa las funcionalidades jerárquicas de almacenamiento de la capa de datos back-end de IMS DB.

  5. Los trabajos por lotes realizan operaciones de big data sin conexión.

  6. Junto con el procesamiento de transacciones, otros servicios proporcionan autenticación, seguridad, administración, monitoreo e informes. Estos servicios interactúan con otros servicios del sistema.

Arquitectura de IMSql en Azure

Diagrama que muestra la arquitectura de IMSql en Azure.

Descargue un archivo de Visio de esta arquitectura.

Flujo de trabajo

El siguiente flujo de trabajo corresponde al diagrama anterior:

  1. Servidor de terminal IMSql

    Tradicionalmente, los usuarios locales acceden a la interfaz z/OS del sistema central mediante un terminal interno de IBM o mediante el software de emulación de terminal. Una aplicación que tiene una red dispersa geográficamente con miles de usuarios se conecta al sistema central mediante un terminal. Si vuelve a hospedar una aplicación de comunicaciones de datos de IMS (DC) en un sistema distribuido basado en la nube, debe hospedar centralmente la aplicación y el recurso y publicarlas para los dispositivos cliente remotos. Para hospedar y publicar la aplicación y el recurso en Azure, use servidores de terminal IMSql.

  2. Agente de servicios de SQL Server

    En el sistema central, IMS DC transmite y procesa mensajes en una región de control para orquestar la capa de comunicación entre los terminales de usuario y los programas de aplicación. Después del rehospedaje, el agente de servicio de SQL Server orquesta esta capa de comunicación asincrónica. Este agente de servicios admite la comunicación a través de su marco de entrega de mensajes y distribuye los mensajes a servidores de procesamiento independientes, a los usuarios actuales y a sus procesos de transacciones.

  3. Servidor de procesamiento IMSql

    El servidor de procesamiento ejecuta código recompilado de Raincode para programas IMS en .NET Framework o .NET. El servidor contiene la infraestructura subyacente para que los programas recompilados se ejecuten de forma eficaz y con la equivalencia funcional correcta. El servidor de procesamiento imSql puede generar consultas dinámicas y llamar a procedimientos almacenados en SQL Server que se crean durante la recompilación de llamadas de Data Language/One (DL/I).

  4. SQL Server como almacén de datos jerárquico

    Los datos se almacenan jerárquicamente en IMS. IMSql usa el mismo modelo en SQL Server. Este modelo usa bases de datos relacionales de alto rendimiento para implementar lógicamente segmentos jerárquicos de IMS. El modelo admite el escalado independiente con segmentos. Los datos de segmento se almacenan en formato EBCDIC sin procesar para que no requiera la conversión para la aplicación. Mediante el uso de la plataforma SQL como servicio (PaaS), IMSql puede aprovechar las funcionalidades subyacentes de alta disponibilidad y recuperación ante desastres que proporciona Azure.

  5. API de llamada DL/I

    La API de IMSql traduce las llamadas IMS DL/I de COBOL en consultas SQL equivalentes. La API captura los datos y los devuelve al programa de aplicación en el formato esperado. IMSql realiza un seguimiento de la posición del programa en el registro de tabla para realizar operaciones de creación, lectura, actualización y eliminación, como la base de datos jerárquica. Para responder a llamadas DL/I intensivas en el rendimiento, IMSql puede crear procedimientos almacenados en SQL Server durante la compilación.

  6. Raincode JCL

    El lenguaje de control de trabajos de Raincode (JCL) es un intérprete compatible con JCL z/OS. Raincode JCL suaviza la transición de la lógica de negocios compleja insertada en JCL a Azure y plataformas de .NET. Raincode JCL ejecuta código compilado por los compiladores Raincode COBOL, PL/I y ASM370. Raincode JCL ejecuta los pasos escritos en la mayoría de los lenguajes. Implemente código escrito por el usuario para configurarlo y adaptarlo para la programación por lotes a medida.

  7. Vista de datos de IMSql

    IMSql define vistas SQL relacionales basadas en copybooks o diseños de registro para que los servicios de Azure y las nuevas aplicaciones puedan acceder a los segmentos de IMS mediante sentencias SQL estándar. Las vistas IMSql se pueden escribir, por lo que las aplicaciones modernas pueden leer y escribir en IMS a través de SQL Server.

Migración de datos a través de IMSql

Diagrama que muestra la migración de datos a través de IMSql.

Migración de objetos de base de datos

  • IMSql extrae y transfiere la descripción de la base de datos IMS original (DBD) del sistema central. IMSql usa información de DBD para generar scripts SQL para generar una base de datos de destino y tablas en Azure SQL.

  • Cada segmento de un DBD de IMS se traduce como una tabla en Azure.

  • Las tablas incluyen un campo clave, campos de búsqueda y datos de segmento IMS representados en EBCDIC.

  • Azure SQL tablas conservan la estructura del árbol de segmentos IMS y las relaciones de clave principal y externa.

Carga inicial de datos

  • Los datos de la base de datos IMS se extraen mediante un trabajo de mainframe y utilidades de descarga como DFSRRC00 y DFSURGL0.

  • Puede transferir archivos binarios extraídos a Azure mediante conectores Azure Data Factory, como FTP y FTP seguro (SFTP) y una solución basada en Java que se ejecuta en servicios de subsistema de Unix.

  • IMSql tiene una utilidad de carga incorporada para completar las cargas de datos iniciales. Esta herramienta utiliza la utilidad del programa de copia masiva (bcp) de SQL Server. La herramienta garantiza que bcp se ejecuta y comprueba que la integridad referencial entre las tablas coincide con la estructura jerárquica esperada.

  • Esta migración aborda una carga de datos única desde la base de datos de IMS, pero no aborda la coexistencia ni la sincronización de datos asociada.

Flujo de datos

El siguiente flujo de datos corresponde al diagrama anterior:

  1. IMS DB contiene el DBD y los datos del segmento.

  2. Las utilidades de IBM extraen y descargan información de IMS DB.

  3. El archivo DBD y los archivos de datos binarios correspondientes se generan por separado.

  4. En los pasos siguientes se describe el proceso de ingesta de datos:

    1. El conector FTP de Azure Data Factory copia los conjuntos de datos de IMS del sistema central en el almacenamiento de datos de Azure.

    2. Los archivos de datos IMS del sistema central se copian en Azure Blob Storage a través de SFTP.

    3. JCL del sistema central ejecuta una solución de Java personalizada que mueve los datos entre el sistema central y el Blob Storage SFTP.

  5. IMSql crea la base de datos de destino y las tablas y mantiene la integridad referencial mediante el archivo DBD.

  6. IMSql carga los objetos de datos creados en las tablas correspondientes en orden secuencial.

  7. Azure SQL Managed Instance hospeda los datos de IMS migrados.

  8. La base de datos de la aplicación contiene los datos brutos del segmento que se utilizan para el procesamiento de IMS en línea y el procesamiento por lotes.

  9. Las vistas de lectura y escritura de IMS contienen datos de segmentos que se amplían en función del diseño del copybook.

Migración de datos de IMS DB mediante Raincode zBridge

Raincode zBridge facilita el acceso a los datos no rerelationales del sistema central en Azure, incluidos los datos de segmentos de base de datos IMS. Puede acceder a estos datos en Azure SQL bases de datos para aplicaciones distribuidas y con fines analíticos y de informes.

Importe los archivos de datos de segmentos IMS a zBridge utilizando un copybook de COBOL o un include de PL/I que coincida. Los datos aparecen como filas SQL que convierten tipos numéricos del sistema central en tipos SQL y que convierten cadenas en ASCII si es necesario. zBridge también admite estructuras de datos complejas.

Componentes

  • Azure Logic Apps es una plataforma en la nube para soluciones de integración eficaces. Los usuarios del sistema central familiarizados con los terminales 3270 y la conectividad local pueden usar el conector IBM 3270 de Logic Apps para acceder y ejecutar aplicaciones del sistema central de IBM. En esta arquitectura, Logic Apps admite la interacción del sistema central con aplicaciones de Azure migradas mediante la red pública de Internet o una conexión privada Azure ExpressRoute que usa Microsoft Entra ID para la autenticación.

  • Azure Virtual Machine Scale Sets es un servicio de proceso que proporciona escalado de máquinas virtuales (VM) automatizado y con equilibrio de carga que simplifica la administración de aplicaciones y aumenta la disponibilidad. En esta arquitectura, Virtual Machine Scale Sets proporciona suficientes máquinas virtuales para las necesidades críticas de procesamiento por lotes y en línea de la carga de trabajo de IMSql.

  • Azure Virtual Network admite la comunicación segura entre los recursos de Azure, como las máquinas virtuales de Azure y con Internet y las redes locales. Virtual Network es como una red tradicional que opera en su propio centro de datos, pero proporciona la escala, disponibilidad y aislamiento de la infraestructura de Azure. En esta arquitectura, Virtual Network proporciona una base de red segura para una comunicación eficaz entre los componentes de IMSql.

  • ExpressRoute es un servicio de conectividad que extiende las redes locales a la Microsoft Cloud a través de una conexión privada que facilita un proveedor de conectividad. Puede usar ExpressRoute para establecer conexiones con los servicios en la nube de Microsoft, como Azure y Microsoft 365. En esta arquitectura, ExpressRoute proporciona conectividad segura y de alto ancho de banda entre entornos del sistema central local y las aplicaciones IMS migradas que se ejecutan en Azure.

  • Microsoft Entra ID es un servicio de administración de acceso e identidad empresarial basado en la nube. En esta arquitectura, Microsoft Entra ID protege contra ataques de ciberseguridad y proporciona autenticación de inicio de sesión único y multifactor para ayudar a los usuarios a iniciar sesión y acceder a los recursos.

  • SQL Managed Instance proporciona una instancia de SQL Server totalmente administrada en Azure. En esta arquitectura, SQL Managed Instance proporciona la plataforma de base de datos relacional para estructuras de datos jerárquicas de IMS db convertidas con alta disponibilidad e integración del servicio Azure.

Alternativas

  • Puede usar SQL Server en una máquina virtual de Azure en lugar de SQL Managed Instance. Se recomienda SQL Managed Instance debido a su alta disponibilidad, integración con servicios Azure y administración de revisiones y mantenimiento de seguridad.

  • Puede usar una arquitectura de máquina virtual única Azure en lugar de Virtual Machine Scale Sets. Considere la posibilidad de usar máquinas virtuales únicas para cargas de trabajo que tienen demandas constantes de carga y rendimiento y no requieren escalado. Esta arquitectura usa conjuntos de escalado de máquinas virtuales para controlar las cargas de trabajo típicas de IMS.

Detalles del escenario

Los sistemas de procesamiento de transacciones en línea del sistema central (OLTP) pueden procesar millones de transacciones para muchos usuarios. IBM IMS es un administrador de transacciones del sistema central clásico para OLTP. IBM IMS consta de IMS DC, el administrador de transacciones y IMS DB, el sistema de administración jerárquico de bases de datos (DBMS) subyacente.

IMSql proporciona hospedaje de cargas de trabajo basadas en IMS en implementaciones distribuidas Azure y locales, basadas en SQL Server. IMSql proporciona una solución holística para cargas de trabajo de IMS, incluidos los componentes de aplicación, datos y middleware. IMSql puede incorporar estructuras de datos jerárquicas de IMS DB a un modelo de datos relacional en SQL Server, SQL Server en Azure Virtual Machines y SQL Managed Instance. Tiene API integradas para llamadas DL/I del programa de aplicaciones IMS y amplía la capa de datos más allá de las cargas de trabajo jerárquicas a aplicaciones nativas de la nube para datos relacionales.

Esta solución:

  • Moderniza la infraestructura y reduce los altos costos, limitaciones e inflexibilidad de las cargas de trabajo monolíticas de IMS del sistema central.

  • Implementa soluciones nativas de nube y DevOps para reducir la deuda técnica.

  • Envía datos de base de datos de IMS a aplicaciones basadas en la nube que no usan sistemas centrales, incluidas las aplicaciones de inteligencia artificial y análisis.

Casos de uso potenciales

Esta solución puede ser útil para:

  • Sectores bancarios, financieros, de seguros, gubernamentales y minoristas que utilizan Mainframe IMS. Muchas de estas organizaciones ejecutan sus principales aplicaciones OLTP y batch en IMS DB e IMS DC.

  • Clientes del sistema central de IBM zSeries que necesitan migrar aplicaciones críticas para la empresa. Estos clientes suelen querer mantener la continuidad con otras aplicaciones locales y evitar los efectos de un nuevo desarrollo completo.

Colaboradores

Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.

Autores principales:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes