// //

El futuro de la programación SAP

A continuación les dejo el artículo que envió Sebastian Freilinger-Huber, empleado de SAP.  Me ha gustado muchísimo y quiero compartirlo con la comunidad de Consultoria-SAP.


Sebastian Freilinger-Huber Sebastian Freilinger-Huber



El futuro de la programación SAP

(Según el TechEd 2018)

Hola desarrolladores ABAP,

El mes pasado tuve la suerte de poder asistir a SAP TechED Barcelona. Creo que hubo muchas actualizaciones teniendo en cuenta la forma en que implementa sus aplicaciones en el futuro; por lo tanto, me gustaría compartir mis conocimientos ahora en Consultoria-SAP. Como quiero evitar perder su tiempo, me centraré en las cuestiones técnicas y dejaré de lado toda experiencia personal teniendo en cuenta el viaje, la ubicación, la conferencia y las interminables discusiones en el bar del hotel (cerveza implicada).

Como me considero principalmente "desarrollador" (en parte diría arquitecto), mi enfoque en los temas fue el desarrollo de aplicaciones, principalmente en el área de ABAP. Por lo tanto, este artículo contendrá tres bloques principales de información: 
  • Visión general y distinción de los tres principales modelos de programación de vanguardia, que parecen ser muy relevantes para el futuro de ABAP y de cada desarrollador de ABAP.
  • Vista previa de las próximas funciones de WebIDE (a saber, el Editor Visual SAPUI5) para simplificar la implementación de los Elementos FIORI, especialmente cuando se trata de anotaciones.
  • Una guía rápida, lo que puede hacer en este momento, para prepararse para el gran cambio en el desarrollo de SAP (ABAP) (que ya comenzó, en caso de que aún no lo haya notado).

Modelos de programación de última generación

Como te habrás dado cuenta, SAP introdujo S4HANA hace unos años para simplificar el modelo de datos con el fin de aprovechar las capacidades de SAP HANA. 

Obviamente, esto también tiene un gran impacto en el desarrollo de aplicaciones y como la tecnología evoluciona muy rápido hoy en día (como la introducción de FIORI y SAPUI5), la forma en que debe crear sus aplicaciones ya no es PBO/PAI.

Desde mi punto de vista, hay tres modelos de programación destacados en TechEd, que son relevantes:
  • Modelo de programación ABAP para SAP FIORI
  • Modelo de programación RESTful ABAP (RAP)
  • Modelo de programación de aplicaciones para SAP Cloud Platform

Modelo de programación ABAP para SAP FIORI

La siguiente imagen muestra cómo se usa el estado de la técnica teniendo en cuenta el desarrollo de ABAP:

Modelo de programación ABAP - Consultoria-SAP


El área amarilla es el llamado Modelo de Programación ABAP para SAP FIORI y así es como estamos desarrollando actualmente nuestras aplicaciones en S4HANA. 

Como estamos convencidos de este modelo en mi empresa, incluso adoptamos este enfoque de manera productiva en varios proyectos de clientes, aunque la pila de tecnología es "solo" NW 7.50 (es decir, Business Suite en HANA). 

El modelo se basa en BOPF (generación por CDS), SAP Gateway y CDS en el Back-End. En la parte de frontend, nos centramos en los elementos de FIORI, pero, por supuesto, no exclusivamente, ya que a menudo existe la necesidad de interfaces de usuario de estilo libre basadas en SAPUI5. 

En caso de que comience un nuevo proyecto en ABAP hoy (y su versión de NetWeaver lo permita), esta es la forma en que debe implementar el proyecto desde mi punto de vista.

Modelo de programación RESTful ABAP (RAP)

Este modelo se anunció en TechEd 2017 y ahora lo implementa SAP.  Eso es lo que le informan las diapositivas y los anuncios de SAP. 
Generalmente está disponible, eso es correcto, pero solo en un ámbito muy limitado en este momento. ABAP en la nube (denominado ABAP PaaS, que está disponible desde hace algunas semanas) se basa en este modelo, por lo que generalmente está disponible allí, pero solo allí, no en la versión actual de On-Premise. 

El plan (SAP) es implementarlo en la nube ahora, mejorarlo y estabilizarlo continuamente en los próximos lanzamientos y llevarlo (con suerte) a la versión In-Premise con el próximo lanzamiento en septiembre de 2019. 

Sin embargo, el estado actual de la implementación es correcto ahora es menor al 50% del modelo. Por lo tanto, incluso si se lanzará en septiembre de 2019, probablemente tomará algún tiempo poner en contacto con su equipo de desarrollo y usarlo de manera productiva. 

Este es el modelo, que será el más moderno cuando llegue el final del mantenimiento de Business Suite en 2025 y, desde mi punto de vista, se ve muy bien (por lo que ya se puede ver en ABAP Paas). 
Además, a medida que SAP invierte un esfuerzo significativamente alto en el desarrollo del modelo en este momento, parece que durará mucho más que 2025. 

Probablemente te preguntes por qué existe este modelo, cuando ya existe el primer modelo, y está disponible. La razón principal es que el primer modelo carece de algunas cosas, que se han investigado en los últimos años y SAP quiere mejorar en esos puntos. 

Además de algunos problemas generales, como la interacción parcialmente ineficiente entre los componentes del modelo o las API desagradables con el marco BOPF, el problema principal es la falta de soporte en los casos en que la codificación de la aplicación ya está disponible y desea integrarla. 

El modelo RAP lleva el concepto de objeto de negocio del primer modelo un paso más allá y le permite integrar su implementación actual a RAP en 2020 en las instalaciones (así que no tenga miedo de comenzar un nuevo proyecto hoy en día basado en el primer modelo). 

Presenta nuevos elementos de desarrollo como los nuevos artefactos de palabras clave de ABAP y CDS, definición de comportamiento y servicios de negocios y admite tres casos de uso principales identificados (actualmente, solo el primero se implementa en la versión actual de Paas de ABAP):

SAP BO: Status Overview - Consultoria-SAP



El lado izquierdo de la imagen muestra otra mejora agradable del modelo mediante una clara orquestación de puntos en el tiempo, que se puede implementar mediante la redefinición de los métodos ABAP typeados(!) 

Con los nombres concretos de los puntos en el tiempo (como por ejemplo, finalize() or read()). Para obtener más información sobre el modelo de programación RESTful, ya hay documentación disponible en help.sap.com; para obtener información muy completa y bien explicada sobre el modelo, consulte TechEd Sessions CNA215 y CNA216 de Marcel Hermanns, si tiene acceso a ellos.

Modelo de programación de aplicaciones para SAP Cloud Platform

Como algunos desarrolladores en el mundo de SAP piensan que ABAP no lo es todo, también hay un tercer modelo de programación no ABAP. Este modelo proporciona un marco de herramientas, lenguajes, bibliotecas y mejores prácticas para crear servicios y aplicaciones empresariales a través del desarrollo fullstack. 

La siguiente imagen (perdón por la calidad) compara el modelo con el modelo RESTful, del cual hablamos antes.

Como puede ver, hay bastantes conceptos, que son aplicables en ambos mundos. Especialmente, también los CDS desempeñan un papel importante en este modelo: se presenta en un sabor aún más poderoso como ABAP CDS, que también es compatible con, por ejemplo, la definición de entidades junto con sus relaciones y una forma mejor comprimida de implementar anotaciones. 

Además de los diferentes lenguajes de programación, por supuesto, también existen diferencias fundamentales con RAP, como el paradigma orientado al servicio en lugar de Business Objects. 

Si desea obtener más información sobre este modelo, sugeriría tomar la sesión CNA221 de TechEd como punto de partida, donde se hace referencia a varias sesiones de seguimiento para profundizar en el tema.

***

SAPUI5 Visual Editor en WebIDE

En caso de que ya esté familiarizado con los Elementos FIORI, es muy probable que ya haya caminado a través de lo que internamente llamamos: el infierno de anotaciones. 

Las anotaciones son la forma de indicar a la UI cómo deben visualizarse los datos; se pueden implementar en el back-end (directamente en la vista de CDS o en la extensión de metadatos) o en el front-end a través del archivo de anotación local. 

El problema es que la documentación de estas anotaciones es, por así decirlo, mejorable y están lejos de explicarse por sí mismas, tanto para mis colegas como para mí. 

Por lo tanto, desafortunadamente necesitas mucho trabajo inicial para familiarizarte con ellos. 

Ahora SAP planea apoyar al desarrollador con una herramienta para hacer que este viaje sea más cómodo, un editor visual:
SAP Fiori Elements App Development - Consultoria-SAP


Según la vista previa, un editor WYSIWYG (lo que ves, es lo que obtienes) te apoyará, donde podrás modelar la interfaz de usuario.

De esta manera, los bucles interminables de "Annotate-Activate-Check-no-funciona-Annotate-Activate..." deberían desaparecer, ya que puedes decirle directamente al sistema, cómo debería ser la interfaz de usuario. 

Estará disponible para todos los elementos de FIORI, así que también la página de descripción general o la página de lista analítica, no solo la página Informe de lista + Objeto. 

Como una nota al margen, es posible que ya conozca el Editor de Adaptación de UI en WebIDE: este Editor Visual es su herramienta sucesora. 

La etiqueta ya ha cambiado en la WebIDE, el editor de anotaciones no está disponible hasta ahora. 

Desafortunadamente, las fuentes, cuando estará disponible, difieren, pero lo estarán en un futuro próximo, como parece a más tardar en el primer trimestre de 2019.

Si se consideran otras innovaciones de FIORI Elements, se puede observar aquí que la "Extensibilidad del cliente" (>= 1.60) juega un papel importante con las extensiones de código de alta fidelidad para las aplicaciones existentes sin la necesidad de realizar algunas modificaciones en la aplicación de origen. 

Entonces, estos no son los desgloses de FIORI Elements, como están disponibles en este momento, sino que realmente se trata de extender una aplicación existente.

***

El nuevo estilo de programación SAP

¿Interesado en el nuevo estilo de programación de aplicaciones?
Si usted es uno de los pocos lectores llegaron hasta aquí, asumo que está interesado en las nuevas tecnologías e innovaciones proporcionadas por SAP en general. 

Pero como podría estar estancado en su proyecto concreto, que podría basarse en WebDynpro, ABAP Reports o la programación PBO/PAI, podría preguntarse "¿Dónde y cómo debo comenzar a prepararme para el futuro para poder, de alguna manera, dejar este infierno de mantenimiento?". 

Como hay mucho que aprender, tiene sentido comenzar ahora para estar preparado para el futuro:
  • Empieza a usar Eclipse y hazlo ahora mismo. No planees hacerlo en algún momento en el futuro, cuando haya tiempo para hacerlo. Vaya a https://www.eclipse.org/downloads/ y consígalo ahora. Póngalo en marcha e instale las herramientas de desarrollo ABAP (ADT). En el Modelo de programación ABAP ya lo necesita, ya que la GUI de SAP (SE80) ya no admite CDS y para el modelo RESTful solo habrá Eclipse. Ya que hay suficientes cosas que aprender considerando el modelo mencionado y el marco detrás de él en el futuro, póngase en contacto con Eclipse ahora mismo.
  • CDS es el concepto central en todos los nuevos modelos de programación. Si te acostumbras ahora, definitivamente te beneficiarás de ello. Si crees que ya conoces CDS ya que has implementado algunas vistas con él, deberías echarle un segundo y tercer vistazo. No se trata solo de reemplazar una declaración ABAPSQL y quizás de agregar un campo calculado. Hay muchas cosas adicionales para aprender (como construir modelos transaccionales y analíticos) y para experimentar (como lidiar con problemas de desempeño).
  • Una cosa que no mencioné todavía es el "testing". No porque no sea importante, sino porque no hay cosas realmente nuevas que reconocí en TechEd. Existen dobles frameworks basados en ABAPUnit, que deben usarse para pruebas automatizadas, por lo que si actualiza sus conocimientos en esta área, esto tampoco es una mala idea.
  • El framework BOPF es parte del modelo de programación ABAP para FIORI. Es importante comprender sus conceptos, ya que el modelo de programación RESTful también se basa en Business Objects. Como el marco como usted lo sabe hoy, no formará parte del modelo RESTful (hay nuevos artefactos como ya se mencionó), tal vez no se necesite una inmersión extremadamente profunda en el marco para el futuro, pero debe asegurarse de entender el concepto en general.
  • Los elementos FIORI no deben ser subestimados. Apenas vi una sola aplicación en TechEd, donde no se puede identificar el plano de FIORI que se encuentra detrás. Parece que SAP empuja el concepto más allá, por lo que una buena visión general de lo que existe y cuáles son los posibles brotes no dolerá. Es crucial poder realizar una estimación en función de los requisitos del cliente, si desea crear una aplicación FIORI Elements con alguna ruptura o construir directamente una aplicación SAPUI5 de estilo libre.
  • Teniendo en cuenta el modelo de programación REST, aún no puede hacer demasiado, ya que solo está disponible en ABAP-PaaS y (al menos) en este momento no existe una versión de prueba y los costos mínimos son bastante caros (3000 - 4000 € por mes). Sin embargo, generalmente hay documentación junto con tutoriales que ya se pueden consultar.
  • Por último, pero no menos importante, SAPUI5. No tengo un número concreto en mente, pero puedes identificar que la comunidad de SAP no está realmente atestada por los desarrolladores de ABAP que ya hayan agregado SAPUI5 a su lista de habilidades. Seguro que los necesitarás mucho en cada proyecto próximo, incluso si planeas utilizar principalmente Elementos FIORI necesitas a alguien con un conocimiento más profundo, especialmente cuando se trata de escenarios de ruptura (y lo será). Desarrollar conocimiento en esta área es, por lo tanto, una muy buena idea: si vienes del mundo ABAP, no esperes que sea fácil (ya que tendrás que cambiar tu forma de pensar).

Espero no haberte aburrido demasiado con este artículo largo. Estoy muy agradecido por la oportunidad de participar por segunda vez en SAP TechEd. Como creo que la información es bastante útil para la mayoría de los desarrolladores interesados en tecnología en el área ABAP, decidí publicar esta información detallada.

Atentamente,

Sebastian

Más información



Artículo original en inglés: blogs.sap.com/.../the-future-of-sap-application-programming/