Application Programming Model: ¿esto de qué va?

Pues para entender un poco de qué va esto, primero hay que tener claro que nos toca cambiar nuestra forma de hacer las cosas y de qué va eso de los CDS, los microservicios y Cloud Foundry, entre otras cosas.

Una vez entendido eso, sólo queda coger el SAP Web IDE Full-Stack y darle a «siguiente»… bueno, quizás sea algo más complejo, pero como sigo muchas veces: «es más difícil inventárselo que entenderlo»… 😉

En esencia, esto del Application Programming Model (APM) va de lo que nos han contado muchas veces de separar nuestras aplicaciones en varias capas: presentación, lógica y datos. Pues es esto mismo, pero utilizando distintas herramientas para cada cosa: CDS, Java, UI5… y alguna cosa más.

Esto lo que nos permitirá es que cada una de esas capas lleve su ciclo de vida y poder trabajar enfocados en conceptos como la entrega continua: períodos de entrega más cortos, aislados e integrados con el resto de la aplicación, pero con independencia sobre el resto.

¿Suena complicado? No lo es tanto, de verdad, sólo es cuestión de ponerse y practicar, como casi todo.

Aquí os dejo un enlace interesante: Develop SAP Cloud Platform Business Applications with SAP Web IDE

Y uno de estos días subiré un post con un ejemplo, paso a paso, para que podáis ver cada una de esas capas… eso sí, «uno de estos días» puede ser mañana o dentro de 3 meses y para entonces puede que se hayan sacado algo nuevo de la chistera 😉

Core Data Services: ¿esto qué es?

Aunque ya había escrito algo sobre esto de los Core Data Services (CDS), creo que merece la pena escribir un artículo algo más detallado (sin pasarse), ya que esto cada vez tiene más importancia dentro del mundo SAP.

Los CDS nacen con HANA, como una forma de consumir y definir modelos de datos enriquecidos ya que, como sabéis, con HANA tenemos que meter toda la carga de proceso que podamos a nivel de base de datos.

Antes era al revés, debíamos acceder poco a la base de datos y en el servidor de aplicaciones «marear» los datos hasta tener el resultado que queremos.

Ahora no, ahora HANA nos debería devolver los datos ya «cocinados» y nosotros sólo tenemos que preocuparnos de pintarlos «bonitos».

Al principio, los CDS sólo se podían utilizar con HANA, pero esto fue evolucionando y ahora se pueden utilizar con cualquier base de datos. Me explico…

Desde la versión de NetWeaver 7.4 SP05, podemos utilizar los CDS en ABAP, utilizando las ABAP Development Tools (ADT) y esto lo que hará será crear una vista en el diccionario ABAP y en la base de datos correspondiente (sea HANA o no).

¿Pero vamos a ver, SAP no había apostado por HANA y todos sus productos se estaban rediseñando para aprovechar la potencia de HANA? Sí, y eso sigue siendo así, pero… hasta que todo el mundo pase a HANA, hay que seguir trabajando, ¿no?

Bien, pues lo que podemos tener extendiendo el uso de los CDS es una forma universal de acceso a la información. Es decir, me da igual lo que tengas por debajo, que siempre voy a consumir un CDS, no voy a trabajar nunca contra tablas de la base de datos.

Además, como consumimos la información desde distintos orígenes (dispositivos móviles, aplicaciones analíticas, servicios web…), si conseguimos que todas sean capaces de leer e interpretar un mismo «formato», podríamos tener una única fuente y aquí es donde aparece el concepto Virtual Data Model (VDM).

Estos modelos de datos virtuales son los que nos permiten trabajar con independencia de las tablas físicas que haya por debajo. Por ejemplo, sabéis que en S/4HANA se ha simplificado el modelo de datos, eliminando muchas tablas, pero podemos seguir referenciando a nuestra «tablas de toda la vida», ya que aunque no existan físicamente, si existen virtualmente.

Si queréis profundizar con esto: ABAP Core Data Services – Introduction (ABAP CDS view)

Si queréis que os lo cuenten, aquí os dejo un enlace al curso oficial SAP: S/4HANA embedded analytics and Modeling Basics with Core Data Services (CDS Views)

En definitiva, que si queremos adaptarnos a los tiempos que vienen, conviene que sepamos cómo trabajar con CDS y tiene pinta de que te va a tocar revisar todo tu código para adaptarlo al nuevo paradigma: haz todo lo que puedas a nivel base de datos.

Vamos, que toca darle la vuelta a todo… 😉

El ABAP no está muerto… ¿y tú?

Como ya comenté hace unos días el ABAP no está muerto, ni mucho menos… lo que no tengo tan claro es si muchos de los desarrolladores ABAP siguen «vivos».

Con la versión 4.6, allá por el año 2000, apareció en SAP la programación orientada a objetos y es el día de hoy cuando todavía muchos clientes siguen manteniendo sus viejos desarrollos donde los métodos y las clases brillan por su ausencia.

Eso sí, batch-inputs y ALVs, los que quieras 😉

Esto me lleva a reflexionar sobre un «novedoso» artículo publicado hace casi más de 5 años en el SCN: «A Call to Arms for ABAP Developers»

Básicamente, habla de lo que comentaba, que no te puedes tirar 15 años haciendo lo mismo y de la misma forma, sin estar al tanto de las innovaciones que van saliendo.

También es interesante ver la evolución que tuvo este hilo abierto en 2010 y actualizado hasta 2015: «ABAP Future in next coming years»

Es curioso ir viendo cómo van variando las opiniones a medida que va pasando el tiempo… lo que es cierto es que el ABAP permanece.

De todas formas, veamos una opinión más actual en: «The Future and Scope of SAP ABAP Career Paths»

Aquí mencionan algo que comparto plenamente: ABAP sí, pero no sólo ABAP.

Personalmente, creo que la clave en los próximos años va a estar en la integración: sistemas cloud con sistemas on-premise, sistemas SAP de toda la vida (ERP, CRM, SRM…) con sistemas adquiridos (que no integrados, aunque todo llegará) por SAP (SuccessFactors, Ariba, Concur…) y, por supuesto, con sistemas de otros proveedores, que algo hay que dejar para los demás… 😉

Es cierto que es difícil seguir el ritmo y que es imposible que alguien controle: ABAP OO, WebDynpro Java, Workflow, WebDynpro ABAP, OData, Gateway, SAPUI5, BOPF, BRF+, JavaScript, CSS, Core Data Services, HCI, SQLScript… aunque los recruiters y/o los jefes de proyecto lo pretendan…

Lo que es cierto es que te tiene que sonar de qué va todo eso y que si no te suena ya, vas tarde… pero tienes forma de reengancharte, sólo es cuestión de bucear entre los miles de blogs, videos, libros y echarle un poco de ganas.

Yo iré contando alguna cosa por aquí, pero seguro que la tecnología va más rápida, así que mejor espabila, si no quieres que te arrolle el tren 😉

PD.- Ah, y si no os importa pagar, creo que este libro podría serviros de ayuda: «ABAP to the Future»