Reconstrucción rápida de un Sistema de Misión Crítica de liquidación de divisas
Con el avance de la transformación digital y los rápidos cambios en el entorno social, ha cobrado relevancia un enfoque que permite la creación ágil y la mejora continua de los sistemas de TI. En este contexto, las herramientas de desarrollo de software Low-Code, que permiten la internalización utilizando recursos cercanos en un corto período de tiempo, están ganando atención.
Mizuho Research & Technologies adoptó GeneXus para reconstruir el sistema de liquidación de divisas operado por Mizuho Bank. Al automatizar y mejorar la eficiencia en el desarrollo de pantallas, aplicaciones, bases de datos y procesos de prueba, lograron construir el sistema en un tiempo reducido.
A continuación, presentamos una entrevista con Masaharu Hagiwara, gerente del Departamento 2 de la División de TI en Mizuho Research & Technologies sobre el impacto de las plataformas de desarrollo de software Low-Code en la construcción de Sistemas de Misión Crítica.
Existen plataformas Low-Code enfocadas en soluciones que respaldan sistemas críticos de gran escala. Estas plataformas no solo cubren el desarrollo, sino también la entrega, operación, prueba y depuración de aplicaciones, abarcando todo el ciclo de vida del sistema.
Un buen ejemplo es el proyecto de reconstrucción del sistema de liquidación de divisas en Mizuho Bank, finalizado en abril de 2022. Este sistema gestiona la liquidación centralizada de fondos en yenes cuando los bancos, incluidos los megabancos, realizan transacciones de divisas. Dado que el sistema administra la liquidación de divisas en yenes 24/7 y es uno de los sistemas de misión crítica de la organización, su operación estable es esencial debido al impacto social que podría generar una falla.
Por otro lado, el sistema de liquidación de divisas de Mizuho Bank había estado en funcionamiento durante aproximadamente 30 años desde su creación, utilizando una arquitectura antigua que incluía PL/I, servidores distribuidos y aplicaciones terminales. Esto representaba un desafío para asegurar técnicos capaces de desarrollar un nuevo sistema acorde con los cambios tecnológicos. Además, debido a años de integración del sistema, los módulos se habían expandido, dificultando el mantenimiento del programa y alargando los tiempos de desarrollo.
Decidimos que era el momento de construir un nuevo sistema sin estar limitados por arquitecturas o métodos de desarrollo convencionales.”
El antiguo sistema se basaba en un mainframe contable, lo que duplicaba los costos operativos y de mantenimiento al estar vinculado con el sistema distribuido construido en Java. El número de ingenieros con experiencia en PL/I disminuía cada año, y la dependencia de un proveedor de desarrollo fijo aumentaba aún más los costos.
Se hizo hincapié en la adopción de tecnologías abiertas que garantizaran la estabilidad operativa y la reducción de costos; otra palabra clave fue la "internalización".
“El sistema antiguo dependía en gran medida de proveedores para el desarrollo, la operación y el mantenimiento. Con el nuevo sistema, queríamos participar en el desarrollo y la operación para acumular conocimientos. La solución que surgió fue el uso de herramientas de desarrollo de software Low-Code”, afirma el Sr. Hagiwara.
Durante el proceso de selección de herramientas, se compararon varias soluciones. Los dos puntos clave fueron si podían satisfacer los requisitos funcionales del sistema existente y si realmente reducirían el esfuerzo de trabajo.
GeneXus recibió la mejor evaluación en este proceso. Es una plataforma de desarrollo Low-Code que genera automáticamente aplicaciones y bases de datos según los requisitos definidos por el desarrollador mediante su propio motor de inferencia.
La política inicial de aumentar la participación del equipo interno en el desarrollo y la operación se cumplió según lo previsto mediante la redefinición de roles con los socios externos.
“Logramos el objetivo inicial gracias a un equipo de desarrollo que trabajó como una sola unidad, entendiendo y tomando decisiones sobre el contenido del sistema mientras colaborábamos con socios externos. Los ingenieros de Java se familiarizaron rápidamente con GeneXus, permitiéndonos asegurar hasta 200 miembros de distintos socios, lo cual fue de gran ayuda”, afirma el Sr. Hagiwara.
En el desarrollo de los componentes del sistema de liquidación de divisas, como "procesamiento administrativo", "interfaces (IF)", "contabilidad" y "funciones comunes", la generación automática de programas redujo significativamente la necesidad de codificación manual. También se minimizaron los errores humanos y se mejoró considerablemente la productividad.
A pesar de ser un proyecto masivo de reconstrucción de un sistema central, la cantidad de código de lógica empresarial se redujo al 20% en comparación con el desarrollo tradicional desde cero, y en algunos casos, la reducción fue aún mayor, alcanzando sólo unos pocos porcentajes del total del sistema.
A continuación, presentamos una entrevista con Masaharu Hagiwara, gerente del Departamento 2 de la División de TI en Mizuho Research & Technologies sobre el impacto de las plataformas de desarrollo de software Low-Code en la construcción de Sistemas de Misión Crítica.
Construcción de un sistema sin las limitaciones de los métodos de desarrollo convencionales
Se suele creer que las herramientas de desarrollo de software Low-Code solo se utilizan para el desarrollo de aplicaciones a pequeña escala, pero esto es un error.Existen plataformas Low-Code enfocadas en soluciones que respaldan sistemas críticos de gran escala. Estas plataformas no solo cubren el desarrollo, sino también la entrega, operación, prueba y depuración de aplicaciones, abarcando todo el ciclo de vida del sistema.
Un buen ejemplo es el proyecto de reconstrucción del sistema de liquidación de divisas en Mizuho Bank, finalizado en abril de 2022. Este sistema gestiona la liquidación centralizada de fondos en yenes cuando los bancos, incluidos los megabancos, realizan transacciones de divisas. Dado que el sistema administra la liquidación de divisas en yenes 24/7 y es uno de los sistemas de misión crítica de la organización, su operación estable es esencial debido al impacto social que podría generar una falla.
¿Por qué fue necesario reconstruir el sistema de liquidación de divisas?
“Cuando comenzamos a considerar este proyecto en 2016, en el ámbito de la liquidación de divisas, la red de mensajería de pagos internacionales SWIFT anunció una reforma importante en la que el formato de mensaje tradicional (MT) se convertiría gradualmente al estándar ISO 20022 (MX). Además, con el auge de las fintech, se estaban explorando nuevos métodos de pago basados en tecnologías emergentes. Anticipamos que los cambios en el entorno externo continuarían creciendo significativamente.Por otro lado, el sistema de liquidación de divisas de Mizuho Bank había estado en funcionamiento durante aproximadamente 30 años desde su creación, utilizando una arquitectura antigua que incluía PL/I, servidores distribuidos y aplicaciones terminales. Esto representaba un desafío para asegurar técnicos capaces de desarrollar un nuevo sistema acorde con los cambios tecnológicos. Además, debido a años de integración del sistema, los módulos se habían expandido, dificultando el mantenimiento del programa y alargando los tiempos de desarrollo.
Decidimos que era el momento de construir un nuevo sistema sin estar limitados por arquitecturas o métodos de desarrollo convencionales.”
El antiguo sistema se basaba en un mainframe contable, lo que duplicaba los costos operativos y de mantenimiento al estar vinculado con el sistema distribuido construido en Java. El número de ingenieros con experiencia en PL/I disminuía cada año, y la dependencia de un proveedor de desarrollo fijo aumentaba aún más los costos.
Adopción de GeneXus para mejorar la productividad
Para resolver estos problemas, Mizuho Bank decidió reconstruir el sistema de liquidación de divisas. A partir de abril de 2016, junto con Mizuho Research & Technologies comenzaron a considerar la nueva arquitectura, definir los requisitos y seleccionar nuevos métodos de desarrollo.Se hizo hincapié en la adopción de tecnologías abiertas que garantizaran la estabilidad operativa y la reducción de costos; otra palabra clave fue la "internalización".
“El sistema antiguo dependía en gran medida de proveedores para el desarrollo, la operación y el mantenimiento. Con el nuevo sistema, queríamos participar en el desarrollo y la operación para acumular conocimientos. La solución que surgió fue el uso de herramientas de desarrollo de software Low-Code”, afirma el Sr. Hagiwara.
Durante el proceso de selección de herramientas, se compararon varias soluciones. Los dos puntos clave fueron si podían satisfacer los requisitos funcionales del sistema existente y si realmente reducirían el esfuerzo de trabajo.
GeneXus recibió la mejor evaluación en este proceso. Es una plataforma de desarrollo Low-Code que genera automáticamente aplicaciones y bases de datos según los requisitos definidos por el desarrollador mediante su propio motor de inferencia.
Logrando estabilidad operativa en un Sistema de Misión Crítica
Como se mencionó al inicio, la estabilidad operativa era crucial para un sistema cuyo fallo podría tener un gran impacto social. “Lo importante es evitar fallos del sistema y errores humanos. Además, la facilidad para realizar cambios en el sistema también era un punto clave. GeneXus cumplía con estos elementos”, revela el Sr. Hagiwara.La política inicial de aumentar la participación del equipo interno en el desarrollo y la operación se cumplió según lo previsto mediante la redefinición de roles con los socios externos.
“Logramos el objetivo inicial gracias a un equipo de desarrollo que trabajó como una sola unidad, entendiendo y tomando decisiones sobre el contenido del sistema mientras colaborábamos con socios externos. Los ingenieros de Java se familiarizaron rápidamente con GeneXus, permitiéndonos asegurar hasta 200 miembros de distintos socios, lo cual fue de gran ayuda”, afirma el Sr. Hagiwara.
En el desarrollo de los componentes del sistema de liquidación de divisas, como "procesamiento administrativo", "interfaces (IF)", "contabilidad" y "funciones comunes", la generación automática de programas redujo significativamente la necesidad de codificación manual. También se minimizaron los errores humanos y se mejoró considerablemente la productividad.
A pesar de ser un proyecto masivo de reconstrucción de un sistema central, la cantidad de código de lógica empresarial se redujo al 20% en comparación con el desarrollo tradicional desde cero, y en algunos casos, la reducción fue aún mayor, alcanzando sólo unos pocos porcentajes del total del sistema.