Atruvia AG ofrece soluciones de banca como servicio y servicios de desarrollo de aplicaciones a los bancos cooperativos alemanes. Más de 800 bancos confían en el proceso bancario central agree21 de Atruvia y en otras aplicaciones, junto con su red de más de 30.000 cajeros automáticos y terminales de autoservicio en todo el país.
Con unos 81 millones de cuentas de clientes, los bancos clientes generan un enorme volumen de transacciones, lo que requiere una infraestructura informática potente, resistente y rica en seguridad. Atruvia lo consigue con ocho sistemas IBM® z15 repartidos en cuatro centros de datos que procesan 80.000 millones de transacciones bancarias básicas al año, con picos de 12.000 transacciones por segundo. El IBM Information Management System (IMS) gestiona las transacciones y los datos se almacenan en la base de datos de IBM Db2® for z/OS.
En el lado distribuido, las aplicaciones de compromiso con el cliente se implementan en Java®, ya sea de forma clásica o como microservicios, alojados en sistemas x86 Linux® en la plataforma contenedora Red Hat® OpenShift®. Alrededor de 1.200 microservicios dan soporte a una plataforma de ventas y otros procesos, que consumen servicios bancarios básicos a través de una capa API propia.
Hasta ahora, Atruvia implementaba las transacciones empresariales básicas con Java/HTML5 en el front-end conectado a una capa intermedia en Java plano e IMS COBOL en el back-end. Dado que muchos programadores de COBOL se jubilaban y que los clientes bancarios esperaban una entrega rápida de los nuevos servicios omnicanal, los ejecutivos de Atruvia decidieron adoptar un enfoque creativo para la modernización de las aplicaciones que mantuviera la seguridad y el rendimiento de IMS al tiempo que ofrecía las ventajas de un lenguaje de programación popular.
En lugar de una estrategia "lift and shift" costosa y de alto riesgo, su solución fue refactorizar in situ de forma selectiva. Introducirían la última versión de Java en el tiempo de ejecución IMS/COBOL existente en la plataforma IBM® zSystems para una modernización incremental de las aplicaciones.
"Nuestras aplicaciones bancarias centrales están en constante evolución", explica Pascal Meyer, arquitecto empresarial senior de Atruvia. "Para las solicitudes que no justifican una reimplementación completa, queríamos introducir Java en el entorno IMS COBOL. Un objetivo clave era hacer que nuestras aplicaciones bancarias estuvieran disponibles de una forma que resultara más familiar a la última generación de desarrolladores".
Gracias a la capacidad de Java en IMS en IBM zSystems, Atruvia ha habilitado para Java el 85% de las transacciones bancarias centrales
La colocación de algunas aplicaciones Java distribuidas con uso intensivo de datos con IBM zSystems da como resultado un rendimiento 3 veces más rápido
Java, junto con COBOL en IMS, aumenta la productividad de los desarrolladores de aplicaciones
Añadir Java a IMS junto con COBOL también podría reducir la complejidad de las aplicaciones. La arquitectura clásica de Atruvia hace necesario incluir lógica de "compensación" dentro de cada componente para garantizar que las operaciones distribuidas en los diversos componentes se puedan revertir al último estado consistente si se produce un error o interrupción. Introducir el código Java en el entorno IMS haría superflua la lógica adicional, reduciendo así la complejidad, los costes y los retrasos.
"En términos de arquitectura de aplicaciones, Java abre la posibilidad de utilizar una gama más amplia de marcos y protocolos", añade Thomas Bauer, líder de equipo y arquitecto de TI en Atruvia. “Por ejemplo, los servicios web RESTful son más naturales en Java que en COBOL, y ciertas funciones que son difíciles de implementar en un entorno COBOL puro están disponibles como artefactos preconstruidos en Java. Queríamos reducir el tiempo de comercialización mediante la implementación de componentes de software modernos y reutilizables y, al mismo tiempo, proteger nuestra inversión en la lógica empresarial existente habilitándola para Java”.
Dado que Java ya era una plataforma estratégica en Atruvia, la organización estaba muy interesada en permitir una mayor portabilidad de su código tanto en plataformas distribuidas como en IBM zSystems, cualquiera que ofreciera la mejor relación calidad-precio. Este enfoque también puede facilitar la transición al cloud computing. Dado que OpenShift se ejecuta en todas las plataformas, Atruvia puede trasladar las cargas de trabajo a la nube cuando tenga sentido.
Además, Java en IBM zSystems junto con COBOL permitiría a los desarrolladores enriquecer la funcionalidad bancaria básica de una forma fluida y de bajo riesgo, sustituyendo subrutinas COBOL por Java sin tener que reescribir grandes programas, y sería más fácil para los arquitectos de software dentro del entorno distribuido llamar a los servicios de transacciones centrales directamente desde las aplicaciones IMS.
"A largo plazo, nuestro objetivo es ser más independientes de la plataforma disponiendo de bloques de construcción Java que puedan ejecutarse en cualquier lugar", afirma Meyer. Además de reducir la complejidad arquitectónica, mezclar COBOL y Java dentro de IMS nos permitiría crear nuevos componentes de aplicación estrechamente integrados con los componentes existentes". De este modo, podemos obtener las ventajas de una aplicación híbrida moderna (es decir, plazos de comercialización más cortos, mayor flexibilidad y mayor facilidad de desarrollo) sin perder las ventajas de rendimiento de IMS donde realmente importa, en las transacciones bancarias centrales".
El personal de Atruvia trabajó estrechamente con los desarrolladores de IBM Systems en un proyecto de varios años para optimizar un tiempo de ejecución común para las construcciones Java dentro de los entornos de producción de IMS, antes de que el tiempo de ejecución común estuviera disponible de forma general. Basado en IBM Semeru Runtime Certified Edition for z/OS, versión 11, el tiempo de ejecución común es ahora estándar en la última versión de IMS. IBM y Atruvia están comprometidos a admitir la última versión de Java.
El tiempo de ejecución común ha permitido a Atruvia avanzar hacia un futuro de 64 bits al permitir que las aplicaciones COBOL de 31 bits se comuniquen con las aplicaciones Java de 64 bits. Con Java y COBOL interoperables dentro de IMS, la empresa puede modernizar y revitalizar sus aplicaciones bancarias centrales sin que ello afecte al rendimiento o la fiabilidad.
En términos prácticos, Atruvia se centra en dos objetivos para Java en la plataforma IBM zSystems. En primer lugar, los desarrolladores están creando aplicaciones híbridas Java-COBOL para procesamiento IMS clásico y cargas de trabajo por lotes que invocan IBM MQ para z/OS y se conectan con IBM Db2 para z/OS a través de Java Database Connectivity (JDBC). En segundo lugar, los desarrolladores están migrando el código Java nativo del entorno distribuido a IBM zSystems cuando procede.
"Muchos de nuestros trabajos por lotes estaban repartidos entre varias plataformas tanto en IBM zSystems como en el entorno distribuido, con diferentes programadores que necesitábamos coordinar", afirma Meyer. "Este enfoque también requería intercambiar y/o compartir datos. Hoy en día, al ejecutar trabajos Java directamente en IBM zSystems sólo necesitamos un único planificador, por lo que la complejidad es menor. También conseguimos un mayor rendimiento porque no hay necesidad de mover o convertir datos, y porque el código Java se sitúa justo al lado de sus datos en lugar de tener que acceder a ellos a través de una red".
Atruvia también está creando un conjunto de servicios Java genéricos que pueden exponerse como API a los desarrolladores de aplicaciones frontales que se ejecuten en su entorno distribuido. Por ejemplo, un desarrollador podría utilizar una API para consultar el saldo actual de la cuenta corriente de un cliente y mostrarlo en una aplicación móvil. Además, la incorporación de Java a la plataforma IBM zSystems facilita la presentación de nuevos servicios basados en la funcionalidad existente.
"Los desarrolladores del mundo distribuido no sabrán si están llamando a servicios Java o a transacciones IMS originales", afirma Meyer. "Se accederá a todo de la misma manera fácil y coherente, lo que agilizará y simplificará la creación de nuevas aplicaciones front-end que llamen a las sólidas transacciones subyacentes en IBM zSystems". Esto apoya a nuestros clientes bancarios en su intento de llegar a sus empleados y clientes con servicios innovadores prestados a través de la web, el móvil y cualquier nuevo canal que pueda surgir en el futuro."
Java dentro de IMS también ofrece a Atruvia la opción de migrar código COBOL antiguo, aunque los desarrolladores lo hacen de forma selectiva; por ejemplo, al crear nueva lógica empresarial. "No hay necesidad de modernizarse por modernizarse", explica Bauer. "Seguimos valorando el rendimiento y la solidez de COBOL e IMS en el back-end, y seguimos incorporando esas tecnologías a front-ends gráficos que se ejecutan en sistemas distribuidos."
De este modo, la plataforma IBM zSystems que ejecuta IMS sigue siendo el eje central de la lógica empresarial. Se alimenta directamente de una variedad de canales para el consumo de esa lógica, como aplicaciones de cajero, sistemas de cajeros automáticos, aplicaciones web orientadas al cliente y aplicaciones móviles.
Gracias a la colaboración pionera entre IBM y Atruvia, Java es ahora un componente establecido y listo para la producción de la caja de herramientas de IBM zSystems. De este modo, se renueva significativamente el entorno IMS, conservando sus cualidades tradicionales de rendimiento y solidez, al tiempo que permite un desarrollo más rápido utilizando conocimientos de programación más disponibles y sostenibles. También permite a los desarrolladores enriquecer las funciones bancarias centrales existentes de una manera eficiente y de bajo riesgo.
"Consideramos que Java en IBM zSystems constituye una tecnología clave para impulsar la ventaja competitiva de nuestros clientes", afirma Meyer. "Con un desarrollo más sencillo y la reutilización de los componentes existentes, nos permite ofrecer nuevas funcionalidades a una mayor velocidad y un menor coste, apoyando a nuestros clientes bancarios en su intento de lanzar nuevos servicios al mercado con mayor rapidez."
De hecho, Atruvia ya ha habilitado Java para alrededor del 85% de sus transacciones IMS bancarias básicas, lo que supone unos 400 millones de transacciones Java al día, con un rendimiento máximo que alcanza las 12.000 transacciones por segundo. Doce sistemas IMS con aproximadamente 200 millones de instrucciones por segundo de procesador (MIPS) soportan estas transacciones críticas para el negocio.
Al reducir la complejidad del entorno de aplicación, Java dentro de IMS ha aumentado la eficacia y el rendimiento de las transacciones comerciales de extremo a extremo. Antes, el procesamiento por lotes de las empresas se realizaba a través de múltiples plataformas. Ahora, todo el procesamiento, independientemente del lenguaje, puede integrarse sencillamente en un único paso por lotes combinando COBOL y Java.
Además, los desarrolladores de Atruvia pueden portar fácilmente código Java a través de sus entornos distribuidos e IBM zSystems, cualquiera que sea la plataforma que ofrezca la mejor relación calidad-precio. Por ejemplo, Atruvia ha reducido la latencia colocando algunas cargas de trabajo Java distribuidas en la plataforma IBM zSystems. "Al fin y al cabo, lo mejor E/S la ausencia de E/S", bromea Meyer. Según sus informes, el rendimiento se triplica con la colocación de algunas aplicaciones de uso intensivo de datos en lugar de su ejecución a través de la red. Está claro que la migración total a la nube no es el único camino para la modernización de las aplicaciones.
Además, existen incentivos económicos para trasladar las cargas de trabajo Java de los procesadores generales (GP) a los procesadores de información integrados IBM Z (zIIP), en los que las tasas de licencia son más bajas. Aunque los MIPS necesarios aumentan, debido a que Java consume más recursos que COBOL, los costes totales se reducen.
Otras eficiencias proceden de las ricas bibliotecas Java que permiten a los programadores evitar la escritura de código personalizado para funciones comunes como la compresión y descompresión de datos. Del mismo modo, Atruvia puede integrar software Java de terceros en su entorno IBM zSystems, evitando potencialmente el desarrollo interno por completo. Y a medida que la plataforma disponga de nuevas funciones criptográficas, de compresión o de red basadas en hardware, Java para IBM zSystems ofrecerá a las aplicaciones un acceso transparente a las nuevas capacidades.
"Como proveedor de sistemas bancarios centrales a más de 800 bancos con decenas de millones de usuarios finales, no podemos permitirnos comprometer el rendimiento y la fiabilidad, ni introducir riesgos en nuestras prácticas de desarrollo", afirma Meyer. "La plataforma IBM zSystems que ejecuta IMS sigue siendo nuestra elección estratégica porque es la más segura y fiable que conocemos, y porque ofrece un rendimiento excepcional para nuestros sistemas bancarios centrales". Con Java en IMS, tenemos lo mejor de ambos mundos."
Formada por la fusión en 2015 de Fudicia IT AG y GAD eG, Atruvia (enlace externo a ibm.com) es el socio de digitalización de los 820 bancos cooperativos de Alemania. Sus soluciones y servicios informáticos bancarios abarcan desde el funcionamiento del centro de datos y el proceso de banca como servicio agree21 hasta el desarrollo y soporte de aplicaciones. Con sedes administrativas en Karlsruhe y Münster y sucursales en Múnich, Fráncfort y Berlín, Atruvia emplea a casi 8.400 personas y registró unas ventas del grupo de unos 1.770 millones de euros en 2020.
© Copyright IBM Corporation 2022 IBM Corporation, Hybrid Cloud, New Orchard Road, Armonk, NY 10504
Producido en los Estados Unidos, Mayo de 2022.
IBM, el logotipo de IBM, ibm.com, Db2, IBM zSystems, z/OS y z14 son marcas comerciales de International Business Machines Corp., registradas en muchas jurisdicciones de todo el mundo. Los demás nombres de productos y servicios pueden ser marcas registradas de IBM u otras empresas. La lista actual de las marcas comerciales de IBM está disponible en la web en "Información sobre derechos de autor y marcas comerciales" en ibm.com/legal/copyright-trademark.
Java y todas las marcas y logotipos basados en Java son marcas comerciales o marcas registradas de Oracle y/o sus filiales.
Red Hat® y OpenShift® son marcas comerciales o marcas registradas de Red Hat, Inc. o sus subsidiarios en los Estados Unidos y otros países.
La información contenida en este documento es la vigente en la fecha de su publicación original y está sujeta a cambios por parte de IBM. No todas las ofertas mencionadas en este documento están disponibles en todos los países en los que IBM está presente.
Los datos de rendimiento y ejemplos de clientes mencionados se presentan únicamente con fines ilustrativos. Los datos reales de rendimiento pueden variar en función de las configuraciones y condiciones de funcionamiento específicas. LA INFORMACIÓN DE ESTE DOCUMENTO SE OFRECE "TAL CUAL ESTÁ" SIN NINGUNA GARANTÍA, NI EXPLÍCITA NI IMPLÍCITA, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIALIZACIÓN, ADECUACIÓN A UN FIN CONCRETO Y CUALQUIER GARANTÍA O CONDICIÓN DE INEXISTENCIA DE INFRACCIÓN. Los productos de IBM están sujetos a garantía según los términos y condiciones de los acuerdos bajo los que se proporcionan.