Modernización del código

Con una modernización inteligente del código y una arquitectura de destino adecuada, una empresa puede poner en marcha incluso proyectos de transformación complejos de forma relativamente sencilla, rápida y optimizando los costes. Las tareas para los clientes SAP existentes están claramente definidas: Por un lado, deben migrar a Hana y S/4; por otro, deben utilizar simultáneamente nuevas tecnologías y arquitecturas para impulsar de forma coherente la modernización como parte de la transformación digital, por ejemplo, en lo que respecta a la introducción rápida y flexible de nuevos modelos de negocio.
El código personalizado de Abap en los sistemas heredados, en particular, plantea un reto importante durante la migración. Las empresas que llevan mucho tiempo utilizando sistemas SAP tienen una gran cantidad de código personalizado que se ha desarrollado a lo largo del tiempo para dar soporte al crecimiento y a los requisitos empresariales en constante cambio.
También se trata de código para procesos empresariales estratégicos que las empresas han implantado para obtener una ventaja competitiva. Gran parte de este código puede quedar obsoleto con el tiempo, ya que no se ha diseñado teniendo en cuenta los requisitos actuales, por ejemplo en términos de seguridad, rendimiento o facilidad de mantenimiento. Además, el código a menudo ya no es ejecutable en los nuevos entornos S/4. Por lo tanto, el código personalizado Abap obstaculiza la innovación al entorpecer los proyectos de modernización y las actualizaciones.
Contenedores
En general, el proceso de modernización en el contexto SAP tiene por objeto contenerizar y modificar las aplicaciones con vistas a mejorar las funciones y proporcionar soporte de actualización. El código personalizado plantea dificultades a este respecto, ya que suele estar estrechamente vinculado al enfoque monolítico de los sistemas SAP ERP/ECC 6.0 tradicionales. Una migración de igual a igual difícilmente puede trazarse y no ofrece ningún valor añadido. Por lo tanto, las tareas consisten primero en hacer balance del código personalizado, identificar las dependencias ambiguas y proporcionar interfaces entre los componentes de la aplicación. El resultado de estas actividades es una mayor transparencia, un mantenimiento más sencillo y la eliminación de regresiones.
Modernización del código personalizado
La modernización del código personalizado se desarrolla básicamente en cuatro fases: análisis, descomposición, integración y diseño de la arquitectura de destino. El primer paso consiste en analizar el código e identificar las partes de las aplicaciones de sistemas existentes que son adecuadas para la transformación en microservicios y una arquitectura basada en contenedores. El análisis también suele revelar que hay código en los sistemas SAP que ya no se utiliza y que, por tanto, puede eliminarse tras una revisión; este código no utilizado puede suponer hasta el 60% de todo el código existente en un sistema. El análisis identifica posibles candidatos que pueden desacoplarse revelando las dependencias entre objetos. Además, se identifican las infracciones del código fuente para que los procesos empresariales sean ejecutables en un entorno S/4.
Segundo paso: En la fase de descomposición tiene lugar una concepción iterativa de componentes que renuevan la base de código existente y sirven de bloques de construcción para nuevos desarrollos. Los componentes admiten la comunicación de protocolos modernos sin estado, los llamados microservicios.
El tercer paso consiste en la integración con una conexión de los componentes para el intercambio de datos y procesos en tiempo real. Para ello debe utilizarse una plataforma que permita un acoplamiento flexible y utilice conectores API, programación basada en eventos y sincronización asíncrona para mejorar la tolerancia a fallos.
El último paso se refiere al diseño de la arquitectura de destino real, que idealmente se basa en contenedores. En concreto, se trata, por ejemplo, de cubrir las necesidades de escalado o de apoyo a los procesos mediante la automatización de las actualizaciones, la supervisión o las pruebas.
Plataforma de nube híbrida
Además de la metodología utilizada, la arquitectura de destino también es de vital importancia para el éxito de la migración. Y ahora ha cristalizado una plataforma de destino ideal. Si una empresa quiere abordar temas de innovación, está claro que no hay forma de evitar el uso de nuevas plataformas, marcos, aplicaciones y tecnologías en relación con la arquitectura de destino: Las plataformas híbridas multi-nube integradas, las aplicaciones nativas de la nube, los contenedores, los microservicios y las API son los componentes clave en este caso.
El desarrollo también está claramente trazado en el área de SAP: Las plataformas de nube híbrida y el desarrollo de aplicaciones nativas de la nube tendrán un impacto duradero en el futuro. El ecosistema SAP se está modernizando en la dirección de la arquitectura de nube híbrida y los clientes actuales de SAP utilizarán cada vez más en el futuro una combinación de servicios locales, privados y de nube pública, no solo para cargas de trabajo SAP, sino también para cargas de trabajo no SAP.
Además, los entornos de ejecución nativos de la nube se convertirán en el patrón de despliegue dominante, ya que son el motor más dinámico de la innovación. La comunicación basada en API adquirirá un significado especial en el mundo SAP del futuro. Las API abiertas son la base técnica para conectar en red datos, aplicaciones y dispositivos y, por tanto, también para implementar innovaciones sin crear nuevos silos de TI.
API abiertas
El uso de API abiertas es casi indispensable, especialmente en lo que respecta al concepto de extensibilidad side-by-side de SAP. Su objetivo es conectar los datos, procesos e interfaces de usuario de SAP con entornos de programación modernos, integración continua y entrega continua, así como métodos DevOps. Las llamadas "extensiones side-by-side" para sistemas S/4 permiten la implementación sencilla de procesos de extremo a extremo en contraste con los desarrollos internos clásicos basados en Abap y, por lo tanto, también integran el entorno SAP con sistemas que no son de SAP. Este concepto puede realizarse cómodamente sobre la base de la plataforma empresarial Kubernetes de Red Hat OpenShift. Esto ofrece a los usuarios libertad de elección en términos de infraestructura y la opción de utilización de nubes múltiples o híbridas.
Se necesitan soluciones de integración y gestión para implantar el concepto de ampliación side-by-side de forma rápida y sencilla. Las soluciones modernas de gestión de API, como las disponibles con la versión empresarial 3scale API Management, son modulares, altamente escalables y se verifican con las API de la nube de SAP y con muchos sistemas de TI de terceros. Además, se necesita una solución de integración ágil con la que los desarrolladores puedan establecer una comunicación bidireccional con Hana y las aplicaciones. El marco de código abierto Apache Camel o Red Hat Fuse son especialmente adecuados en este caso.
Uno al lado del otro
Si se implementa un concepto side-by-side, también es posible utilizar cómodamente soluciones de automatización como Ansible. Ansible ayuda a los usuarios de SAP, por ejemplo, con las implementaciones de nube híbrida, es decir, el suministro y la gestión automatizados de cargas de trabajo SAP tradicionales y nuevas en contenedores, así como de aplicaciones que no son SAP en entornos de nube híbrida. Ansible también ofrece automatización DevOps en el área SAP, es decir, soporte para el desarrollo, despliegue, producción y gestión automatizados de plataformas SAP.
En general, una nueva y moderna arquitectura de sistema de nube híbrida ofrece a los usuarios de SAP numerosas ventajas. Estas incluyen, entre otras:
- la aplicación sencilla y rápida de nuevos requisitos,
- la reducción de las fuentes de error manual mediante un alto grado de automatización,
- la rápida integración de nuevos procesos,
- el establecimiento de una metodología de desarrollo ágil,
- Uso de DevOps desacoplando los procesos de extremo a extremo del núcleo de SAP.
Con la metodología adecuada, que incluye la automatización inteligente, y la plataforma de destino apropiada, los usuarios de SAP pueden llevar a cabo las transformaciones con rapidez y optimizando los riesgos y los costes. La automatización debe incluir servicios flexibles de análisis, optimización del rendimiento, conversión de código y consolidación. Y a la hora de seleccionar la plataforma, es importante asegurarse de que admite el desarrollo y la implementación de aplicaciones nativas de la nube estandarizadas en cualquier infraestructura, desde entornos multicloud hasta implementaciones locales. Muchos usuarios de SAP confían en la plataforma empresarial Kubernetes de Red Hat OpenShift, y grandes empresas, como las del sector de la automoción, ya han implementado este concepto exactamente igual.
Automatización de la
Modernización del código
El complejo proceso de migración y modernización de SAP requiere un enfoque metódico orientado a la máxima automatización. Dicha automatización, facilitada por SmartShift sobre la base de su plataforma de automatización inteligente, debe incluir los siguientes componentes y pasos de la solución en relación con el análisis y la transformación del código SAP:
- La extracción automática de información técnica como programas, definiciones de datos y datos de uso del sistema fuente; la concepción de un metamodelo independiente del lenguaje a partir del código del sistema fuente.
- Un motor de reglas que identifica todos los problemas de código en el metamodelo con respecto a la versión de destino y los corrige automáticamente.
- Un análisis de dependencias para comprender las relaciones recíprocas entre objetos y determinar las interfaces entre dominios.
- Suministro de API residuales para los grupos de objetos identificados e integración en la plataforma de destino.
- Creación de un código simplificado, modernizado y de fácil mantenimiento.
- Carga automática del código modernizado y simplificado en el sistema de destino.