SAP Cloud Platform (antes llamado Hana Cloud Platform) es un PaaS (Platform as a Service) online que ha lanzado SAP para desarrollar aplicaciones, e incluye multitud de herramientas para facilitarnos el trabajo a los programadores: SAP Cloud Integration, Git, Identity Provider, SAP Web IDE (FullStack), Hana Workbench,… Actualmente hay 2 entornos para programar en SCP: Neo Enviroment y Cloud Foundry.
Neo fue el primero que salio, incluye SAP Web IDE Full-Stack: un entorno para desarrollar aplicaciones front end web, y Workbench que se divide en 4 apps para gestionar una base de datos Hana:
Catalog es donde se puede ver el contenido y las definiciones, Security es un gestor de permisos, Traces para los logs, y Editor es un entorno para modelar la base de datos, definir servicios, programar la lógica,… vamos donde se crea la magia.
Se programa usando SAP HANA XSC (eXtended application Services Clasic), un javascript vitaminado con unas librerías específicas para trabajar con la base de datos Hana y algún añadido más (incluye jasmine para hacer testing). También hay un admin tool para gestionar jobs, Trust Store, IDP,…
Está en el Roadmap de SAP incluir XSA (Advanced, que es la versión mejorada del Classic), pero sin fecha oficial por el momento, pero teniendo en cuenta que en la SAP Note 2465027 se anunció que XSC está deprecated, esperemos que no tarde mucho.
Foundry salió más tarde y ademas de ser open source, es la niña bonita de SCP: salen antes las novedades, en vez de XSC se utiliza XSA, permite desarrollar en multiples lenguajes, puede ejecutarse en varios Iaas (Infrastructure as a Service) como Amazon Web Services, OpenStack, Google Cloud Platform y Microsoft Azure,… pero según tengo entendido es bastante más caro. No es él entorno que utilizo por lo que mis conocimientos son bastante limitados, pero lo iremos viendo también, aunque no es el principal objetivo a cubrir (al menos de momento).
¿Entonces no se programa en java?
Poder, lo que es poder, se puede, pero no tienes acceso directo a la base de datos Hana, tienes que pasar por XSC primero, ademas el número y tamaño de las apps en java que puedes desplegar vienen limitadas por las java quotas. Cuidado con esto, empezamos planteándonos programar en java pero tuvimos problemas con este aspecto y al final decidimos hacer el backend solo en XSC. Si pagas más, tienes mas java quotas. Es algo que se repite en SCP: cuanto más pagas, mejor.
¿Y en ABAP puedo programar?
Hace poco se anunció soporte para ABAP, eso si, olvídate de migrar todo tu codigo ABAP a SCP, desplegar y que funcione. Hay diferencias notables con el ABAP de R3 y en el entorno: los selects cambian, no hay acceso a las variables de entorno (destierra esos sy-subrc EQ 0), por no hablar de las optimizaciones de código para bases de datos Hana,…
Además de momento solo está disponible en foundry y adivina: hay que pagar por usarlo, desde 1400€ por suscripción mensual o por horas a 0,549€ por Persisten Memory o 1,923€ por Runtime Memory.
¿Y para trabajar con SAP?
Ésta es para mi la principal evolución y marca una gran diferencia: tu código y el de SAP están totalmente separados. Olvídate de bapis, badis, user-exits, tablas standard,… eso es SAP y esto SCP. No se encuentran en el mismo sistema, por lo que a partir de las Apis de SAP Hana Cloud (o Gateway si trabajas en on premise) se publican los datos de SAP (¿te suena el término oData?) y se habilitan accesos para hacer modificaciones, pero la lógica extra va fuera, creando una capa independiente. Esto aporta ventajas (la más potente es que no vas a provocar nunca más un dump en la transacción de pedidos de SAP por haber cometido un error en una user-exit), pero supone un cambio de mentalidad muy grande, es lo que tiene la nube.
Antes de que cierres el blog y no quieras saber nada de SCP porque no vas a poder trabajar sin user-exits déjame recordarte las 3 fases de toda novedad: negación, duda, aceptación. A todos nos ha pasado igual:
- No puedo hacer esto sin XXX (introduce aquí herramienta desaparecida).
- No se si puedo hacer esto sin XXX
- Cómo no puedo usar XXX, voy a buscar otra manera de hacerlo
Además, una cosa es SCP y otra Hana Cloud o Hana on Premise. En Hana Cloud tienes las manos muy atadas, pero en on Premise sigues pudiendo hacer y deshacer a tu antojo.
Me has convencido ¿cómo empiezo?
Lo primero es abrirte una cuenta, te puedes registrar aquí para obtener una cuenta trial en la que empezar a probar y conocer el entorno. Es un poco limitado y hay diferencias respecto al entorno final, pero para jugar y trastear es más que suficiente. Tienes acceso a los 2 entornos: Neo (ilimitado) y Foundry (limitado a 90 días).
En este enlace explican de una manera bastante clara todos los pasos a seguir.
Para los partners de SAP hay buenas noticias, dispones de una suscripción gratuita de un año a SCP.
Lo repito porque no estamos acostumbrados a esto: ¡Es de SAP y es GRATIS! Aquí hay más información al respecto.
Y con ésto doy por terminada la introducción a SCP y la primera entrada del blog 🙂
3 comentarios
Antonio de Ancos Cid · 18 febrero, 2019 a las 10:42
Enhorabuena por la iniciativa. Empezar es complicado, ahora sólo queda seguir aportando… 😉
Un saludo. AAncos.
Javier · 18 febrero, 2019 a las 17:35
Muchas gracias Jorge! Te ha quedado un blog muy interesante!
Idmir De La Cruz · 3 septiembre, 2019 a las 15:32
Jorge, el blog esta muy interesante!!!
Jorge quisiera que me orientes en lo siguiente:
Estoy pensando desarrollar una aplicación Fiori en SCP utilizado la base de datos HANA, para esta app debo obtener información de otro sistema que utiliza base de datos SQL; lo que estaba pensando es replicar la información de la base de datos SQL a la base de datos HANA que esta en el SCP, para replicar la información debería crear una aplicación java o como lo podría realizar??