Nuevos caminos en el desarrollo de Abap con Git y la nube
Tanto si se trata de una gran casa de desarrollo como de una empresa mediana con sólo unos pocos desarrolladores, aquí es donde se pone de manifiesto todo el potencial de la interacción entre SAP y las conocidas herramientas de código abierto.
Casi todos los desarrolladores conocen las ventajas de las herramientas de código abierto en torno a Git: procedimientos automatizados en el proceso de desarrollo con integración continua y despliegue continuo, trabajo descentralizado de los equipos en un software, diversas posibilidades de aseguramiento de la calidad mediante modernos procesos de lanzamiento y gestión integrada de versiones son sólo algunas de las piedras angulares. Pero, ¿cómo puede integrarse Git de forma significativa en el desarrollo de SAP?
Para ello existe el proyecto abapGit del danés Lars Hvam, también conocido bajo su sinónimo larshp. El software se instala mediante la transacción SE38 o SE80 ejecutando las 75.000 líneas completas del código fuente.
A continuación, las actualizaciones funcionan directamente desde el informe. Después de la instalación, es posible clonar proyectos de software Abap desde prácticamente cualquier Git al sistema Abap local. Por cierto, no importa qué Git se utiliza aquí. No importa si es público o local en su propio centro de datos o en uno subcontratado.
Pero, ¿dónde está ahora la gran ventaja de conectarse a un servidor Git en un sistema SAP que ya cuenta con sofisticados mecanismos de desarrollo?
Un valor añadido puede ser que, en la nube, cada desarrollador disponga de su propio sistema de desarrollo fuera de la estructura normal de transporte y así cada desarrollo pueda avanzar de forma independiente.
Como estos sistemas sólo se necesitan cuando se están desarrollando, pueden funcionar prácticamente en cualquier nube. Para ahorrar costes, los sistemas que no se utilizan simplemente se apagan durante los tiempos de inactividad.
El ahorro que se consigue de este modo no puede lograrse con una instalación in situ, ya que el hardware debe mantenerse siempre disponible. Sobre todo los profesionales jóvenes e imaginativos pueden tener la oportunidad de trabajar sin impacto directo en el sistema de desarrollo y poner en práctica ideas sin riesgo.
A la inversa, por supuesto también es posible desarrollar de forma centralizada a la manera clásica y poner a disposición un estado estable del software de forma totalmente automatizada en un sistema de control de calidad desde la nube. Allí, el software se prueba automáticamente o por un grupo de usuarios de prueba.
Después, el sistema se puede eliminar o poner en pausa. Tanto la automatización como la documentación de estos procesos se realizan en Git. La primera puede ampliarse a cualquier nivel y no tiene por qué limitarse a las pruebas funcionales.
Por ejemplo, también se pueden realizar más pruebas de seguridad. Con abaplint también es posible realizar comprobaciones automatizadas del código después de cada commit. El ejemplo del desarrollo del propio abapGit, que se ejecuta públicamente a través de Github con la ayuda de abapGit, muestra lo bien que puede funcionar esto.
Otra ventaja se deriva de los desarrollos realizados por los socios de software de SAP. En el caso del software individual, es cierto que funciones similares se escriben una y otra vez y la rueda se reinventa una y otra vez.
Siguen apareciendo nuevos errores o faltan funciones útiles. Esto hace que el esfuerzo de evaluación, prueba y mantenimiento sea muy elevado. Si utilizas un Git central, puedes mantener una reserva de herramientas maduras a las que recurrir cuando sea necesario.
Esto puede hacerse internamente o compartirse con la comunidad de código abierto. En https://dotabap.org/ ya existe una plataforma con una colección de proyectos Abap en el ámbito del código abierto.
En la comunidad de desarrolladores de SAP, la idea del software de código abierto aún no está muy extendida. Sin embargo, con el cambio generacional de los desarrolladores, cabe suponer que cada vez más empresas o desarrolladores participarán con pequeños o grandes programas en su tiempo libre.
Al solicitar un empleo o redactar un CV, es casi obligatorio incluir tus desarrollos en un enlace de Github o Gitlab.