Blog de Amazon Web Services (AWS)
Habilitación de la creación e implementación automatizada de código de mainframe para Instituciones Financieras que utilizan servicios AWS y soluciones Micro Focus
Por João Paulo Aragão Pereira, Arquitecto de Soluciones Especialista en la Industria de Servicios Financieros y modernización de mainframe, AWS LATAM
Por Luiz Henrique Gomes, Arquitecto de Soluciones y experto en DevOps, AWS Brasil
Las Instituciones Financieras utilizan los mainframes para aplicaciones críticas, procesamiento de datos por lotes, procesamiento de transacciones en línea y cargas de trabajo simultáneas mixtas. Los mainframes tienen requisitos no funcionales como el rendimiento, la seguridad y la disponibilidad de recursos para procesar todas las cargas de trabajo. Sin embargo, una posible reducción de recursos y paralelismo puede ocurrir durante el desarrollo de nuevos programas y pruebas posteriores.
Por lo tanto, la idea de este blog es presentar una solución al problema de disponibilidad de recursos en el proceso de desarrollo de COBOL, utilizando los servicios de Integración Continua/Implementación Continua (CI/CD) desde AWS conectado a un IDE como Eclipse o Visual Studio. En la misma línea de desarrollo, puede conectar la solución Micro Focus llamada Enterprise Developer, para el paso de compilar y ejecutar pruebas unitarias y funcionales.
Micro Focus es un Partner de Tecnología Avanzada en la Red de socios de AWS. Por lo tanto, con las soluciones de AWS y Micro Focus, las instituciones financieras pueden migrar las cargas de trabajo de mainframe a AWS o implementar la cartera de soluciones en la nube con Micro Focus.
Beneficios para Instituciones Financieras
Aquí hay algunos beneficios interesantes para las Instituciones Financieras a través del enfoque de asociación de AWS y Micro Focus para un desarrollo ágil, incluso con lenguajes de programación legados como COBOL:codedepv
1) Posibilidad de crear un pipeline CI/CD fuera del entorno mainframe legado para cada proyecto.
2) Las instancias de EC2 pueden ejecutarse como Instancias de Spot o como Reserva de Capacidad Bajo Demanda para reducir costos.
3) Mayor autonomía para el desarrollo paralelo de nuevos programas y recursos, evitando la reducción potencial de recursos y el paralelismo.
4) Mejora de la productividad del desarrollador.
5) Posibilidad de escalar horizontalmente el número de equipos de desarrollo.
6) Reducción de una cantidad significativa de MIPS utilizada, reduciendo los costos de infraestructura de mainframe.
7) Automatización de pruebas: posibilidad de pruebas funcionales y unitarias fuera del entorno de mainframe.
8) Revisión de código automatizado y impacto utilizando Micro Focus Analyzer.
9) Time-to-Market (TTM) de fácil acceso con desarrollo ágil.
DevOps y CI/CD utilizando servicios AWS
AWS ofrece un conjunto de servicios flexibles diseñados para permitir a las instituciones financieras crear y distribuir productos de manera más rápida y segura utilizando las mejores prácticas y DevOps. Estos servicios simplifican el aprovisionamiento y la administración de la infraestructura, la implementación del código de la aplicación, la automatización de los procesos de lanzamiento de software y el monitoreo del rendimiento de su aplicación e infraestructura.
DevOps es la combinación de filosofías culturales, prácticas y herramientas que mejoran la capacidad de una institución financiera para entregar aplicaciones y servicios a alta velocidad: optimizando y mejorando productos a un ritmo más rápido que otros que utilizan procesos de desarrollo de software tradicionales y gestión de infraestructura. Esta velocidad permite a las instituciones financieras servir mejor a sus clientes y competir más efectivamente en el mercado.
Las Herramientas para desarrolladores de AWSAWS developers tools ayudan a almacenar y controlar de forma segura el código fuente de su aplicación, y a crear, probar e implementar aplicaciones en AWS automáticamente. La Figura 1 muestra los pasos de lanzamiento del software que utilizamos en nuestra solución.
Figura 1 – Pasos de lanzamiento del software
1- AWS CodeCommit es un servicio de control de código fuente totalmente administrado que aloja repositorios basados en Git protegidos. Permite a los desarrolladores, por ejemplo, el lenguaje procesal COBOL, colaborar fácilmente en el código en un ecosistema seguro y altamente escalable. AWS CodeCommit elimina la necesidad de operar su propio sistema de control de código fuente o preocuparse por la escalabilidad de la infraestructura. Con el servicio AWS CodeCommit, los desarrolladores de COBOL pueden almacenar de forma segura cualquier cosa, desde el código fuente hasta los archivos binarios. Otra facilidad es usar Eclipse o Visual Studio IDEs para realizar cambios de código en un repositorio de AWS CodeCommit. La integración con estos kits de herramientas está diseñada para funcionar con credenciales de Git y un usuario de Identity & Access Management (IAM).
2- AWS CodeBuild es un servicio totalmente administrado que compila código fuente, ejecuta pruebas y produce paquetes de software listos para implementar. Con AWS CodeBuild, el desarrollador COBOL no tiene que aprovisionar, administrar y escalar sus propios servidores de compilación. AWS CodeBuild se escala continuamente y procesa varias compilaciones al mismo tiempo, evitando que esperen en la cola. Opcionalmente, durante el proceso de build, el usuario puede incluir herramientas de terceros para probar la calidad del código, como SonarQube. Esta opción evita la compilación innecesaria de códigos no aprobados.
3- AWS CodeDeploy automatiza las implementaciones de código para cualquier instancia, incluidas las instancias de Amazon EC2 y los servidores locales. AWS CodeDeploy facilita el lanzamiento rápido de nuevas funciones, lo ayuda a evitar el tiempo de inactividad durante la implementación de la aplicación COBOL y se ocupa de la complejidad de actualizarlas.
4- AWS CodePipeline es un servicio de integración continua y entrega continua para actualizaciones rápidas y confiables de aplicaciones e infraestructura. CodePipeline crea, prueba e implementa código cada vez que se produce un cambio de código, de acuerdo con las plantillas de proceso de lanzamiento definidas. Esto le permite hacer que las funciones y actualizaciones estén disponibles de forma rápida y confiable.
5- Amazon CloudWatch es un servicio de monitoreo y observación creado para ingenieros y desarrolladores de DevOps. CloudWatch proporciona datos prácticos e información para monitorear aplicaciones, responder a cambios en el rendimiento de todo el sistema, optimizar la utilización de recursos y obtener una visión unificada de la integridad operativa, durante todo el proceso de desarrollo de nuevos programas, módulos o funciones utilizando el lenguaje de programación COBOL.
Micro Focus Enterprise Developer
Micro Focus Enterprise Developer proporciona un conjunto de desarrollo contemporáneo para el desarrollo y mantenimiento de aplicaciones de mainframe, independientemente de si la implementación de destino está dentro o fuera del mainframe. Con esta arquitectura, ofrece el desarrollo de programas COBOL fuera del mainframe, con el objetivo de generar autonomía para los desarrolladores de COBOL y reducir el consumo de MIPS/MSU.
Micro Focus Enterprise Developer es para instituciones financieras que buscan desarrollar y modernizar aplicaciones de mainframe en un entorno de desarrollo productivo basado en Windows, como Amazon EC2. Los desarrolladores pueden elegir entre Visual Studio o IDE basado en Eclipse, y se proporcionan herramientas de desarrollo y prueba para todos los entornos de destino actualmente compatibles con Micro Focus.
Los beneficios del producto Micro Focus incluyen:
1- Soporte completo del ciclo de vida del desarrollo de aplicaciones: desde el diseño inicial de la aplicación hasta el análisis de la unidad, desarrollo, compilación, prueba y depuración, y soporte para COBOL y PL/1 (Programming Language 1).
2 – Análisis de Código y Verificación de Patrones: integrado directamente en el IDE (figura 2) en el punto de cambio, los desarrolladores pueden realizar cambios en los programas existentes con mayor confianza.
Figura 2 – IDEs compatibles (Eclipse y Visual Studio)
3- Integración de control de fuente de mainframe: incluyendo Micro Focus ChangeMan ZMF. Los desarrolladores tienen acceso completo a herramientas y proyectos dentro y fuera del mainframe desde un único entorno de desarrollo.
4- Trabajo en equipo efectivo y colaboración: la agrupación de trabajo de aplicaciones permite a los desarrolladores compartan el código fuente, los datos y los ejecutables del programa. Esto garantiza una gestión segura y centralizada de equipos y aplicaciones, y simplifica enormemente la tarea de configurar un entorno de desarrollo compartido para múltiples usuarios.
5- Compatibilidad integral de mainframe: permite que las aplicaciones de mainframe se desarrollen y prueben en el sistema operativo Windows sin depender del mainframe. Se proporciona soporte para varios dialectos COBOL de mainframe de IBM, incluido el soporte para Enterprise COBOL 6.2.
6- Amplio soporte para datos de mainframe: para editar, acceder y transformar diferentes tipos de datos de mainframe. Los desarrolladores pueden acceder localmente a sus propios conjuntos de datos, como QSAM y VSAM, Grupos de datos de generación (GDG), IMSDB y emuladores de bases de datos DB2 para realizar pruebas.
7- Modernización eficiente de aplicaciones: herramientas y procesos para soportar la modernización de aplicaciones, si son capaces de extender aplicaciones a través de J2EE, COM, Servicios Web y SOA.
Resumen de la solución
El usuário puede descargar el Toolkit for Eclipse para conectarse al repositorio de AWS CodeCommit. Use su clave de acceso y la contraseña de su usuario registrado de AWS IAM. Una vez instalado y configurado, el desarrollador puede clonar un repositorio CodeCommit en Eclipse o crear un repositorio CodeCommit desde Eclipse (figura 3) a través de la pestaña AWS Explorer.
Figura 3: Repositorio CodeCommit creado a través de Eclipse IDE
El proceso de compilación automatizado utiliza un servidor EC2 como su entorno, para ejecutarse y para que ese servidor se configure automáticamente, el proceso utiliza la funcionalidad de las plantillas de lanzamiento. Las plantillas de lanzamiento le permiten almacenar parámetros de ejecución para que no tenga que especificarlos cada vez que ejecuta una instancia. Por ejemplo, una plantilla de ejecución puede contener el sistema operativo, el tipo de instancia, los permisos y la configuración de red que normalmente usa para ejecutar instancias. La Figura 4 muestra un ejemplo de este modelo utilizado en nuestro proceso. Un ejemplo de buildspec para este proceso de compilación automatizado está disponible aquí (buildspec.yaml).
Figura 4 – Modelo de ejecución de instancia
Utilizando la plantilla de ejecución descrita anteriormente, el proceso crea una instancia EC2 de acuerdo con la figura 5, que se utilizará en el proceso de compilación de código y también en la emulación del entorno de mainframe. Esta instancia EC2 tiene instalado Micro Focus Enterprise Developer, que contiene el compilador COBOL y Enterprise Server para realizar las pruebas requeridas (funcional y unitario). Se adjuntan a esta publicación de blog los principales comandos utilizados para compilar el código COBOL.
Figura 5 – Instancia EC2 creada con plantilla de ejecución
El proceso inicia la instancia EC2 utilizando la plantilla de ejecución y espera hasta que esta nueva instancia se conecte a la plataforma de administración AWS System Manager. Cuando se completa la conexión con la plataforma de administración, el proceso utiliza la funcionalidad de Ejecutar comandos de forma remota para comenzar la fase de validación y compilación del código COBOL. La Figura 6 muestra el registro de este proceso en Amazon CloudWatch, que se realiza utilizando un código que se ejecuta en la plataforma AWS serverless, denominada AWS Lambda. Un ejemplo de este código Lambda está disponible aquí (lambda_ssm.py).
Figura 6 – Registro de ejecución de instancia EC2
La ejecución remota de comandos, utilizada para realizar el proceso de validación y compilación de código COBOL, puede enviar registros a la plataforma de administración de eventos de AWS, manteniendo así los registros de ejecución del proceso en la misma plataforma, unificando y simplificando el proceso de monitoreo y solución de problemas como se muestra en la figura 7. Un ejemplo para automatizar este proceso usando un archivo por lotes está disponible aquí (build_ssm.bat).
Figura 7 – Registro de ejecución de comando dentro de la instancia EC2
Cuando finaliza el proceso, el script envía los archivos compilados y los registros de procesamiento al bucket de Amazon Simples Storage Service (Amazon S3). De esa manera, otros procesos pueden usar esta información para el procesamiento. Estos archivos se enumeran en la figura 8.
Figura 8 – Bucket S3 con artefactos resultantes del proceso
El siguiente paso en el proceso es esperar a que el usuario realice sus pruebas unitarias y funcionales, con Micro Focus Enterprise Developer accediendo a la instancia EC2 que ya se está ejecutando y configurando el entorno de emulación, incluida la versión de la aplicación. recién compilado Para que esto sea posible, el desarrollador recibe un anuncio por correo electrónico (Figura 9) enviado por la plataforma Amazon Simple Notification System (SNS) junto con el Amazon Simple Email System (SES).
Figura 9 – Crear e implementar notificación de finalización de proceso
Una de las características que proporciona CodePipeline es pausar la ejecución del pipeline en espera de la aprobación del usuario (Figura 10). Una vez que el usuario lo aprueba, el pipeline continúa realizando los siguientes pasos.
Figura 10 – Pipeline en espera de aprobación del usuario
Todos los pasos del pipeline así como su estado y tiempos de ejecución, están disponibles para consulta y seguimiento en la consola de CodePipeline (figura 11).
Figura 11 – Pasos de Pipeline con estado de ejecución
En la Figura 12, tenemos cada servicio de AWS de la arquitectura propuesta. El desarrollador puede usar IDE compatibles con Git, como Eclipse o Visual Studio, para realizar cambios en el código COBOL. Como alternativa a los desktops locales, un desarrollador puede usar instancias de Amazon EC2 con el sistema operativo deseado o Amazon WorkSpaces (Desktop como servicio), que es un servicio administrado por AWS. En este caso, cada desarrollador puede tener su propio desktop seguro, escalable y elástico para instalar sus IDE de desarrollo COBOL preferidos.
Figura 12 – Arquitectura de Solución Propuesta
A continuación se presenta un resumen del flujo de ejecución:
1- El usuario se conecta y confirma los cambios en el repositorio de AWS CodeCommit.
2- AWS CodePipeline inicia la canalización de compilación.
3- AWS CodeBuild envía instrucciones de compilación para una función AWS Lambda (anexo).
4- AWS Lambda almacena el código fuente en un bucket de Amazon S3.
5- AWS Lambda inicia una instancia de Amazon EC2.
6- AWS Lambda envía instrucciones de compilación a AWS Systems Manager (anexo).
7- AWS System Manager envía las instrucciones de compilación de la instancia de Amazon EC2 (anexo).
8- La instancia de Amazon EC2 descarga el código fuente del bucket de Amazon S3.
9- La instancia de Amazon EC2 construye artefactos en el bucket de Amazon S3.
10- La instancia de Amazon EC2 envía el estado de compilación a AWS CodeBuild.
11- AWS CodePipeline envía un correo electrónico a través de Amazon SNS para informar al desarrollador que la compilación está completa y la IP de la instancia EC2 para conectarse.
12- AWS CodePipeline comienza el proceso de implementación.
13- AWS CodeDeploy envía el código fuente aprobado al bucket S3.
Con el código fuente aprobado, el desarrollador puede ser enviado de regreso al mainframe para realizar la recompilación final a través de la conexión con Micro Focus Changeman ZMF, por ejemplo. Otra alternativa es usar Micro Focus Enterprise Test Server para pruebas de integración entre programas antes de enviarlos de regreso al mainframe.
¿Por qué usar AWS para CI/CD en el desarrollo de COBOL?
Como pilar el desarrollo moderno de aplicaciones, la Entrega Continua expande la Integración Continua mediante la implementación de todos los cambios de código en un entorno de prueba y / o un entorno de producción después de la etapa de construcción. Cuando se implementan correctamente, los desarrolladores siempre tienen un artefacto de compilación listo para la implementación que ha pasado por un proceso de prueba estandarizado.
Al ejecutarse en AWS, la Entrega Continua permite a los desarrolladores de COBOL automatizar las pruebas, así como solo ejecutar pruebas unitarias, para que puedan verificar las actualizaciones de la aplicación en varias dimensiones antes de implementarlas en producción. Con AWS, es fácil y rentable automatizar la creación y replicación de múltiples entornos de prueba que anteriormente eran difíciles de hacer localmente.
Las principales ventajas de desarrollar aplicaciones COBOL en AWS son:
1. Actualice aplicaciones y programas rápidamente;
2. Reducir el impacto en los cambios de código;
3. Estandarizar y automatizar las operaciones de entrega;
4. Simplificar la gestión de la infraestructura de gestión;
5. Operar y administrar su infraestructura y procesos de desarrollo a escala;
6. Crear equipos más efectivos bajo un modelo cultural DevOps que enfatice valores como la propiedad y la responsabilidad;
7. Muévase rápido, haciendo un seguimiento y preservando el cumplimiento. Puede adoptar un modelo DevOps sin sacrificar la seguridad mediante el uso de políticas de cumplimiento automatizadas, controles refinados y técnicas de administración de configuración.
Por lo tanto, la AWS Well-Architected Framework está diseñado para ayudar a los arquitectos de la nube a construir una infraestructura con los niveles más altos de seguridad, rendimiento, resistencia y eficiencia posibles para sus aplicaciones, en base a 5 pilares (Tabla 1): Excelencia Operativa, Seguridad, Confiabilidad, Eficiencia de Rendimiento y Optimización de Costos.
AWS Well-Architected Framework proporciona un enfoque consistente para que las instituciones financieras evalúen arquitecturas e implementen diseños que se escalarán con el tiempo, con la capacidad de superar las necesidades de las aplicaciones de mainframe más exigentes, en producción o entorno de desarrollo.
Tabla 1 – Los pilares del AWS Well-Architected Framework
Nombre | Descripción |
Excelencia Operativa | La capacidad de ejecutar y monitorear sistemas para agregar valor comercial y mejorar continuamente los procesos y procedimientos de soporte. |
Seguridad | La capacidad de proteger la información, los sistemas y los activos al tiempo que agrega valor comercial a través de evaluaciones de riesgos y estrategias de mitigación. |
Fiabilidad | La capacidad de un sistema para recuperarse de interrupciones de infraestructura o servicio, adquirir dinámicamente recursos informáticos para satisfacer la demanda y mitigar interrupciones. |
Eficiencia de Rendimiento | La capacidad de utilizar eficientemente los recursos informáticos para cumplir con los requisitos del sistema y mantener esa eficiencia a medida que la demanda cambia y las tecnologías evolucionan. |
Optimización de Costos | La capacidad de ejecutar sistemas para entregar valor comercial al precio más bajo. |
Excelencia Operativa
De los seis principios de diseño para la excelencia operativa en AWS, se utilizaron al menos tres en la solución propuesta:
1) Realizar operaciones como código: ejecutándose en el entorno de desarrollo COBOL para mainframe em AWS, el usuario puede aplicar la misma disciplina de ingeniería utilizada para el código de aplicación en todo el entorno. El desarrollador de COBOL puede escribir sus procedimientos de operaciones y automatizar su ejecución activándolos en respuesta a eventos. Para las canalizaciones de automatización, Infraestructura como Código y CI/CD, AWS CloudFormation describe y proporciona características, o Amazon Machine Images (AMI) puede preconfigurar Enterprise Developer en instancias de AWS.
2) Realice cambios frecuentes, pequeños y reversibles: diseñe cargas de trabajo de desarrollo para permitir que los componentes se actualicen regularmente para aumentar el flujo de cambios beneficiosos. Realice cambios en pequeños incrementos que se puedan revertir si no ayudan a identificar y resolver los problemas introducidos en su entorno de desarrollo COBOL.
3) Anticípese a la falla: com el pipeline completo que se ejecuta en AWS agregada a las soluciones de Micro Focus, el desarrollador de COBOL puede probar sus escenarios de falla y validar su comprensión de su impacto. Pruebe sus procedimientos de respuesta para asegurarse de que sean efectivos y que los equipos estén familiarizados con su ejecución.
Seguridad
La seguridad es la principal prioridad de AWS, y una de las ventajas de la nube de AWS es que las instituciones financieras heredan las políticas de mejores prácticas y los procesos operativos diseñados para cumplir con los requisitos de seguridad de las Instituciones Financieras.
El desarrollador de COBOL, en lugar de centrarse únicamente en proteger una sola capa externa, aplica un enfoque de defensa profunda con otros controles de seguridad como Amazon Virtual Private Cloud (VPC), subredes y listas de control de acceso a la red (ACL).
Para resaltar la integración del desarrollador empresarial con la nube de AWS a través de AWS IAM, el usuario puede implementar el principio de menor privilegio y exigir la separación de tareas con la autorización adecuada para cada interacción con las características de AWS. Además, puede disfrutar de auditorías y notificaciones completas de AWS CloudTrail con Amazon CloudWatch Alarms.
Fiabilidad
Un entorno de desarrollo que es casi lo mismo que un entorno de producción debe tener fiabilidad. Para lograr esto, el entorno debe tener una base y un monitoreo bien diseñados, con mecanismos para hacer frente a los cambios en la demanda o los requisitos. El sistema debe estar diseñado para detectar fallas y regresar automáticamente.
Para la gestión de cambios, AWS CloudTrail registra las llamadas de la API de AWS a su cuenta y proporciona archivos de registro para la auditoria. AWS Auto Scaling es un servicio que proporcionará una gestión automatizada de la demanda para una carga de trabajo implementada. Amazon CloudWatch ofrece la capacidad de alertarlo sobre métricas, incluidas métricas personalizadas. Amazon CloudWatch también tiene una función de registro que se puede usar para agregar archivos de registro de sus recursos.
Al configurar una pipeline de Integración Continua y Entrega Continua (CI/CD) COBOL en AWS, el usuario puede dejar de adivinar la capacidad, que es una causa común de falla del sistema local debido al desbordamiento de recursos. Por lo tanto, al ejecutar AWS, el usuario puede monitorear la demanda y la utilización del sistema y automatizar la adición o eliminación de recursos para mantener el nivel óptimo para satisfacer la demanda sin exceso o bajo aprovisionamiento.
Eficiencia de Rendimiento
De los cinco principios de diseño para la eficiencia de rendimiento en AWS, el desarrollador de COBOL puede aprovechar al menos tres principios:
1) Democratizar las tecnologías avanzadas: las tecnologías difíciles de implementar pueden volverse más fáciles de consumir, llevando este conocimiento y complejidad al dominio del proveedor de la nube. En AWS, estas tecnologías se convierten en servicios que el equipo de desarrolladores puede consumir. Esto permite que su equipo se concentre en el desarrollo de productos, no en el aprovisionamiento y la gestión de recursos.
2) Globalícese en minutos: implemente fácilmente el pipeline para para el desarrollo en múltiples Regiones de AWS en todo el mundo con solo unos pocos clics. Esto le permite proporcionar una latencia más baja y una mejor experiencia de desarrollador a un costo mínimo.
3) Pruébelo con más frecuencia: con funciones virtuales y automatizadas, puede realizar rápidamente evaluaciones comparativas utilizando diferentes tipos de instancias o configuraciones.
Optimización de Costos
Usar las instancias y recursos apropiados para su carga de trabajo es esencial para ahorrar costos. AWS ofrece a pedido, prepago, lo que le permite obtener el mejor retorno de su inversión para cada caso de desarrollo específico. Los servicios AWS no tiene dependencias complejas ni requisitos de licencia, por lo que puede obtener exactamente lo que necesita para crear soluciones innovadoras y rentables utilizando la última tecnología.
Amazon EC2 y Amazon S3 son servicios conocidos como bloques de construcción de AWS, mientras que AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy y AWS CodePipeline son servicios administrados. El desarrollador de COBOL, al seleccionar los bloques de construcción apropiados y los servicios administrados, puede optimizar la carga de trabajo de desarrollo para reducir los costos. En la arquitectura propuesta, utilizando servicios administrados de CI/CD, es posible reducir o eliminar gran parte de los gastos administrativos y operativos, liberando al desarrollador para trabajar en el desarrollo de nuevas aplicaciones.
Otra posibilidad para reducir costos es etiquetar los recursos de AWS (como instancias EC2 o buckets S3). AWS genera un informe de costo y uso con su uso y sus etiquetas. Puede aplicar etiquetas que representen categorías de organización (como centros de costos, programas, proyectos, nombres de cargas de trabajo o propietarios) para organizar sus costos en varios servicios.
Recursos
- Todas las características de AWS de la arquitectura demostrada (figura 12) están disponibles en GitHub, incluido el archivos de código Lambda, el script Batch y buildpsec utilizados en el proceso automatizado de compilación e implementación.
- Solicite también una licencia de Micro Focus Enterprise Developer para compilar y ejecutar todas las pruebas unitarias y funcionales. Para las pruebas de integración entre programas, puede usar el Micro Focus Enterprise Test Server.
Micro Focus – APN Partner Spotlight
Micro Focus es un Partner de Competencia de AWS. Permiten a las Instituciones Financieras utilizar nuevas soluciones tecnológicas al tiempo que maximizan el valor de sus inversiones en infraestructura de TI crítica y aplicaciones comerciales.
Contactar Micro Focus | Resumen de la Solución
*¿Ya trabajaste con Micro Focus? Califica a este Partner
###ANEXO###
INSTRUCCIONES DE COMPILACIÓN DE COBOL:
Los siguientes son los comandos que el desarrollador puede usar para compilar programas COBOL a través de la línea de comandos usando Micro Focus Enterprise Developer. Todos los comandos se han ingresado en el script de build de CodeBuild:
Para Windows:
> cobol <nome-programa>.cbl,,, preprocess(EXCI) USE(diretivas_compilacao.dir);
El comando anterior hace referencia al archivo llamado «diretivas_compilacao.dir«. Este archivo debe tener las directivas de compilación necesarias para los programas COBOL/CICS, por ejemplo, del servidor BANKDEMO.
A continuación se muestra el contenido del archivo diretivas_compilacao.dir:
Si usa Windows, el desarrollador necesita ejecutar el comando cobol en el directorio donde está el código fuente. El desarrollador necesita copiar en el mismo directorio los cuadernos utilizados por estos programas (archivos de extensión .cpy), o señalar el directorio que contiene los cuadernos a través de la variable de entorno COBCPY.
El script de compilación contiene las variables de entorno necesarias para ejecutar el servidor BANKDEMO:
Para algunos programas que no son COBOL/CICS, como UDATECNV.CBL y SSSECUREP.CBL de BANKDEMO, simplemente ejecute los comandos sin la directiva «preprocess (EXCI)». Esta directiva es responsable de llamar al precompilador CICS.
COMANDOS PARA GENERAR ARCHIVOS DLL:
El desarrollador debe ejecutar el comando «cbllink» para producir un archivo de biblioteca de links dinámicos de programas. Ejemplo:
C:\>cbllink -d name_pgm.obj
El parámetro «-d» indica que se genera un archivo .DLL. El resultado de la compilación “name_pgm.obj” e utilizará como entrada para el link.
Después de eso, el desarrollador necesita copiarlos en el directorio de destino (… \ loadlib) solo el resultado del link, es decir, el archivo name_pgm.DLL.
COMANDOS PARA INICIAR SERVICIOS DE MICRO FOCUS:
Después de compilar los archivos, puede iniciar los servicios de Micro Focus y el servidor BANKDEMO en la instancia EC2 para ejecutar las pruebas porque Micro Focus Enterprise Developer ya contiene el Enterprise Server.
Se deben iniciar los servicios de Micro Focus CES daemon y Directory Server:
Ingresamos las líneas de comando para activar el servidor, por ejemplo BANKDEMO, en el script de compilación. El comando es básicamente: > casstart /r <name-of-server>. En el caso del ejemplo BANKDEMO, el comando utilizado es: > casstart /rBANKDEMO
Los siguientes son enlaces a documentación que brinda más detalles sobre las líneas de comando (https://www.microfocus.com/documentation/enterprise-developer/ed50pu2/ED-Eclipse/HRCMRHCOML01.html).
Compruebe que el servidor BANKDEMO se haya iniciado en el navegador (https://localhost:86).
Configure la estructura del directorio con los campos “Transaction Path” y “Map Path” para programas CICS y el campo “JES Program path” para programas Batch. En estos campos, el desarrollador debe apuntar a los directorios donde copió los archivos .DLL de los programas.
Sobre los Autores
João Paulo Aragão Pereira es un Arquitecto de Soluciones de AWS centrado en la Industria de Servicios Financieros y la modernización de sistemas legados. He estado trabajando con la arquitectura bancaria y de seguros, el almacenamiento de datos y la inteligencia artificial desde 2009.
Luiz Henrique Gomes es un Arquitecto de Soluciones de AWS, enfocado en el segmento Empresarial, que trabaja con clientes en el mercado financiero. Con más de 20 años de experiencia en arquitectura y desarrollo de soluciones en sistemas empresariales y de misión crítica.