Conceptos básicos de SAP en 2017

A menudo recibo consultas de gente que quiere reciclarse dentro del mundo SAP y me piden orientación sobre qué y dónde mirar.

Evidentemente, no hay una fórmula mágica y depende del perfil de la persona, entre otras cosas, pero lo que está claro es que hay cosas que le tienen que sonar a todo el mundo y creo que esta imagen es un buen punto de partida:

Ahí lo tienes todo: una nueva experiencia de usuario (Fiori) que consume servicios (OData) generados con un nuevo modelo de programación (ABAP, CDS, BOPF), basado en las capacidades en tiempo real que ofrece una base de datos en memoria (HANA).

En eso se basan todas las soluciones SAP presentes y futuras, así que si quieres seguir en este mundo, al menos deberías tener claro qué es cada una de estas cosas.

Y a partir de ahí, elegir algo y profundizar en el tema; en todo es imposible, si no queréis morir ahogados en “el océano infinito del conocimiento”. Creo que a estas alturas debes tener claro lo que comenta Raúl Hernández González en el citado artículo:

Podemos aprender cualquier cosa, pero no podemos aprenderlo todo.

Muy bien, ¿y dónde puedo encontrar información de todo esto? La respuesta está clara: en este mismo blog. Concretamente, en una entrada que escribí hace un par de meses en la que intentaba dar respuesta a la pregunta de “¿Dónde puedo aprender SAP?” 😉

Viaje estelar con SAP

Aunque no soy un gran aficionado a la ciencia ficción, he de reconocer que todos los años me gusta ver la película que protagoniza Björn Goerke en el SAP TechEd. Hace 2 años nos rescató de Marte, el año pasado le tocó viajar al futuro y este año forma parte de la tripulación de Mr. Spock.

Si sigue en esa línea, quizás el año que viene le toque ser Luke Skywalker, así que desde ya me ofrezco a acompañarle. Con mi inglés, mis pelos en la espalda y mi tamaño, creo que sería un gran Chewbacca… Björn, ahí lo dejo, soy fácil de localizar.

Pero vamos a lo que vamos, que me lío. Ah, aviso que lo que viene a continuación, contiene spoilers… 😉

A estas alturas todos, los que vivís en este planeta, habéis oído hablar de la transformación digital, pero puede otro término que aparece al inicio de la historia os suene menos, así que para eso os he puesto el enlace a la Wikipedia: “Kobayashi Maru”.

Básicamente, Kobayashi Maru es una prueba de escenario de “victoria imposible”, pero todos sabemos que con SAP todo tiene solución… sólo es cuestión de tiempo y dinero 😉

Se habla de HANA 2.0, como plataforma única de integración de datos, donde no sólo podemos tener procesamiento OLAP (analítico) y OLTP (transaccional) en un único sistema, sino que también podemos “jugar” con temas de Machine Learning: análisis semántico, datos geoespaciales, aprendizaje automático, redes neuronales…

Anunciaron que S/4HANA es el producto con el crecimiento más rápido en la historia de SAP,  con más de 1.000 clientes en productivo, entre ellos Nestlé o WalMart.

Y volviendo con los datos, como bien sabemos el volumen de nuestros datos cada vez es mayor y no sólo el que gestionamos de manera centralizada (en S/4HANA, por ejemplo), sino también aquellos que se encuentran distribuidos (ya sabéis, el famoso Big Data) y podemos gestionar con SAP Vora… o no… porque también hay cosas por ahí como Hadoop y S3 que almacenan/gestionan algún que otro byte… 😉

Esto suena complicado, ¿no? Pues con SAP Data Hub no parece tan difícil: te permite gestionar todas tus fuentes de datos, desde un único punto, sin necesidad de replicar la información y de una manera sencilla e intuitiva.

Por supuesto, también hablaron de SAP Cloud Platform, como no podía ser de otra forma, haciendo hincapié en la posibilidad de tener el alojamiento en las principales plataformas: Amazon Web Services, Microsoft Azure y Google Platform.

Todo eso tiene que ver con aquello que conté hace unos meses de Cloud Foundry en SAP Cloud Platform, porque aunque algunos no se lo creían mucho SAP está adoptando y/o apoyando varias iniciativas open source, como por ejemplo Open API.

Evidentemente, también se habla de SAP Leonardo y podemos ver cómo hacer un pedido con un asistente virtual o un ejemplo de reconocimiento de imágenes… aunque aquí yo confío más en el de Azure, desde que lo probé como os conté en un artículo anterior 😉

A nivel de desarrollo, se anuncia el SAP S/4HANA Cloud SDK, el acuerdo con Mendix y se muestra un avance de lo que será el ABAP en SAP Cloud Platform.

.
Y ya me callo, os dejo aquí en enlace al vídeo completo, dónde podréis ver todo esto con detalle: SAP Executive Keynote with Björn Goerke, 2017 Las Vegas | teched

¡Larga vida y prosperidad!

Trabajando en SCP desde Eclipse

Después de un par de semanas agotando las vacaciones, toca volver al cole… 😉

Hace unos días os recomendaba que os fueráis acostumbrando a utilizar Eclipse como framework de desarrollo y estoy convencido de que ya lo tenéis todos instalado y habéis empezado a utilizarlo… 😉

Continuando con la entrada del otro día donde creábamos un usuario desarrollador, vamos a ver cómo conecto con mi cuenta SCP desde Eclipse, con ese usuario:

Bien, ya tenemos acceso a nuestro sistema SCP y a nuestra base de datos HANA desde Eclipse, ya sólo nos queda crear una aplicación:

Evidentemente, para hacer esta aplicación no necesito HANA, pero esto era sólo para ver cómo lo hago utilizando Eclipse y al ejecutarla me pide el usuario de la base de datos HANA que creé en mi cuenta de SCP.

Además, siempre hay que empezar con un “Hola Mundo!”, ¿no? 😉

¿Quieres desarrollar una aplicación HANA en tu cuenta SCP?

El otro día vimos cómo crear una base de datos HANA en vuestra cuenta de SAP Cloud Platform… y, probablemente, si no habéis hecho nada con ella, la tendréis parada y os la borrarán en breve.

Vamos a entrar, la “despertamos” e intentamos utilizar las herramientas del SAP HANA Web-Based Development Workbench con nuestro usuario SYSTEM…

¡No tenemos acceso! Claro, porque ese usuario no es un usuario desarrollador, así que nos toca crear un nuevo usuario y darle los permisos correspondientes…

Básicamente, le hemos añadido todos los permisos que contienen el literal “xs.ide” y el CONTENT_ADMIN.

Con este nuevo usuario ya podremos desarrollar nuestra aplicación, pero… eso para otro día 😉

SAP Cloud Platform y HANA: ¿quieres probar?

El otro día os contaba cómo abrir una cuenta en SAP Cloud Platform (SCP) y os dije que volvería a la carga.

Hoy os voy a enseñar a crear una pequeña base de datos HANA en nuestra instancia de SCP, en poco más de 10 minutos.

Cosas a tener en cuenta:

  • Apuntad bien la contraseña del usuario SYSTEM, ya que será la única forma de acceder al cockpit de administración de HANA.
  • La base de datos se parará cada 12 horas y se borrará de forma definitiva a los 7 días (te avisan por mail), si no hacemos nada con ella.

¿Y qué  podemos hacer? Eso ya lo iremos viendo… 😉

CDS y AMDP: ¿qué es esto?

En la entrada de ayer, solté un par de “palabros” y me quedé tan a gusto: CDS y AMDP.

Y aunque puse un link en cada “palabro”, por si alguien tenía curiosidad en saber de qué estaba hablando, hoy me explayo un poco más, pero no mucho y en términos no excesivamente técnicos.

Desde la aparición de HANA, a finales de 2010, ha llovido un poco y lo que nació como una base de datos en memoria se ha convertido en una plataforma de aplicaciones, por supuesto sin dejar de ser una base de datos en memoria.

Una de las grandes ventajas que tiene es la capacidad de procesamiento, precisamente por el hecho de trabajar directamente en memoria, sin tener que hacer lentas lecturas de disco.

Y debido a esto, todo lo que nos decían antes de “no accedas mucho a la base de datos, lee los datos en bruto y luego los procesas en la aplicación”, ahora ha cambiado a “métele caña a la base de datos, que te dé todo hecho y tú sólo lo pintas”.

Total, que tocaba refrescar conceptos de SQL, ya que para trabajar contra HANA tenía que utilizar principalmente SQLScript para sacarle todo el jugo posible a la base de datos y además no me valía para nada el ABAP porque tenía que trabajar con HANA Studio, que es algo muy muy parecido a lo que os contaba ayer de las ABAP Development Tools…  es decir, herramientas que instalo en Eclipse y me cargan perspectivas para trabajar contra HANA.

Parecía que el desarrollo en ABAP y en HANA llevaban caminos paralelos, pero… poco a poco, van convergiendo y ya hay ciertas cosas que podemos hacer en un entorno ABAP y transportarlo a un entorno HANA, como por ejemplo usar Core Data Services (CDS) y crear ABAP Managed Databased Procedures (AMDP).

¿Para qué me sirven los CDS en ABAP? Pues básicamente, para definir vistas en el diccionario mucho más “potentes” (ya avisé que no iba a ser muy técnico), con el objetivo de cargar la mayor parte del trabajo en la definición de la vista y después únicamente consumirla.

Más info: ABAP News for 7.40, SP08 – ABAP Core Data Services (CDS)

¿Y los AMDP para qué valen? Esencialmente, para crear procedimientos de base de datos (conjuntos de instrucciones que me permiten realizar procesos) utilizando una serie de clases, mezclando código ABAP y SQLScript, que se ejecutarán luego en mi base de datos HANA.

Más info: ABAP Managed Database Procedures – Introduction

Vamos, que aquellos que decían que el ABAP estaba muerto y que ahora todo iba a ser desarrollo nativo en HANA, pues va a ser que no… lo que sí es cierto es que tengo que aprovechar las bondades de ambos mundos: ni todo desde ABAP, ni todo desde HANA.

Habrá casos que lo mejor será atacar directamente a HANA y otros casos en los que podré utilizar ABAP.

Y claro, para poder hacer hacer eso, tengo que aprender cosas nuevas… otro día os cuento como empezar a jugar con HANA 😉

¿El ABAP está muerto?

Con tanto HANA XS, Fiori, SAPUI5, JavaScript y demás, muchos me hacéis esta pregunta… y la respuesta es fácil: ABAP sigue siendo el lenguaje de programación básico de SAP, tanto en el viejo R/3 como en el nuevo S/4, por lo que le queda mucha vida por delante.

A corto plazo, me da que va a haber unas cuantas migraciones para pasar a la Business Suite on HANA y/o al S/4HANA, que ya sabemos que son dos cosas distintas, ¿no? 😉

Bien, pues aunque para esto SAP nos proporciona una serie de herramientas, quizás tengas algún (ejem, ejem…) desarrollo de cliente en tu instalación… y puede que ese desarrollo no esté muy optimizado (ejem, ejem…), por lo que quizás tengas que revisarlo… ya que las cosas en HANA, en general, irán más rápido siempre que sean estándar y/o estén bien diseñadas.

Por supuesto, la ventaja de HANA no es únicamente esa (que lo de antes vaya más rápido), sino que se abre un nuevo mundo de posibilidades, lo que ha llevado a redefinir múltiples procesos y reescribir millones de líneas de código… en ABAP.

Evidentemente, no puede ser el mismo ABAP, ya que no tendría mucho sentido seguir haciendo lo de siempre y programando igual que hace 20 años cuando la idea principal era “no cargues la base de datos con trabajo, ya lo haces en la aplicación” y ahora es justo la contraria: “todo lo que puedas meter a nivel de base de datos, adelante”.

Ya sabéis, el acceso a memoria es más rápido, el almacenamiento columnar y todas esas cosas… ¿Que no lo sabéis? Bueno, podéis empezar por aquí: ABAP Development for SAP HANA

Y, en breve, otro curso interesante: Managing ABAP Systems on SAP NetWeaver

En resumen, que sí, que Fiori, UI5, HANA, Leonardo y todo esto, muy bien, pero no olvidemos el ABAP 😉

En mi opinión, este muerto está muy vivo…