Skip to Content
Technical Articles
Author's profile photo Sergio Guerrero

HXE Vamos Con GoLang

El més pasado tuve la oportunidad de asistir a la conferencia SAP Tech Ed en Las Vegas y he escrito una serie de blogs acerca de la nube de SAP series of blogs (SCP) #whereTheCoolShitHappens. Añado que Raphael Pacheco  preguntó en uno de mis blogs acerca de otros lenguajes que la nube de SAP soporta en SCP, vamos a añadir uno nosotros, como ves?

Este mismo blog se puede leer en inglés aqui

Bienvenidos de nuevo a mi blog y greacias de antemano por leerlo. Esta vez es acerca de la nube de SAP y como aplica el Trae tu lenguaje (siglas en ingles BYOL). que significa eso? Bueno, esto significa que la plataforma de la nube de SAP sigue las reglas de Cloud Foundry (CF) y nativamente tiene suporte al Polyglot-ismo (whoooooooaaaaaaa  palabras grandes). Quebremos esta palabra para entenderla mejor.. Poly (muchos/varios) glot (lenguas)… en cristiano para ti y para mi significa que suporta varios lenguajes de programación  Ok, ok ok! ya entendi

Ahora demostrare como installar un * build pack en mi HANA Express Edition (HXE2SP3) usando un lenguaje que esta ganando popularidad. No pienses que no quiero usar NodeJS, pero exploremos un poco fuera de lo comfortable. Al final del día esto lo hago en un VM y simplemente lo puedo borrar si no lo necesito.

Que es un build pack? CF lo define como Buildpacks provee un framework y soporte del runtime para las aplicaciones de dicho lenguaje.

 

Empezemos

Empeze por checar que estaba disponible por default en mi HXE 2 SP3. (v 33) y para mi sorpresa, el lenguaje python ahi estaba ….

 

 

Ya que descargue el Go build pack (mas info the Go Programming Language) del CF en mi Host machine, luego tendria que ver como puedo acceder el folder de Windows desde mi VM (estoy usando VMWare workstation player 14 la cual se puede descargar gratuitamente) hize unas busquedas en google y varias de ellas eran muy parecidas asi que decidi seguir esta:

  • asegurate que tu VM este apagada para poder asignar la propiedad del folder de tu HOST.
  • Un error común fue que mientras queria asignar esta propiedad es que el folder que comparti desde mi host, se desconecto al momento de apagar y reiniciar my VM. Asegurate que esté conectado para poder accederlo.

https://geek-university.com/vmware-player/enable-a-shared-folder-for-a-virtual-machine/

Una vez que ya habia abilitado el folder de mi Host… Reinicie mi VM y navegé ahi. ME di cuenta que el folder no aparece, pero tenemos que encontrarlo siguendo las instrucciones del enlace anterior. Voilá, ahi está. No estoy seguro por que el folder esta con fondo verde, alomejor pq viene de windows o solo pq esta fuera del VM. De cualquier forma, pude accedirlo de esta manera desde mi VM.

 

El sig paso es crear el build pack – sigue estas instrucciones

https://help.sap.com/viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.03/en-US/4ae761cba1c84cf28abc019aebe3d387.html#loio4ae761cba1c84cf28abc019aebe3d387__section_c5k_vm1_zs

 

escribi el comando y le di enter y dejé que el CLI hiciera lo necesario.

 

aqui puedes ver que esta haciendo algo, y después de ser instalado es tiempo de validarlo. Primero se ve asi.

 

luego al validarlo con los comandos del XS CLI, Analizemoslo un poco…

 

  • El nombre cf_go_buildpack yo se lo asigne en el paso anterior
  • La posicion (5) fue porque en el paso anterior ya habia pasos 1,2,4 (no se porque no habia 3) asi que esto significa el order en el que el build packs son asignados/accedidos en las propiedades en caso de que hubiese varios build packs en el ambiente.
  • La version de go que instalé es 1.8.28 y esta abilitada (pasé – – enable

 

Dato curioso: Recientemente bajé e instalé el runtime del lenguaje Go a mi laptop y lleva la version 1.11.1 de windows (se ve que la version de CF esta un poco atrasada de la que yo descargué directamente del sitio de go.) es solo una observación ya que la diferencia en versiones no afecta el output de este ejercicio.

 

 

 

Ventajas de BYOL:

  • Mas ambientes de desarrollo que se pueden soportar
  • Mas grande spectrum de lenguajes lo que significa que hay mas features dispoinbles & competencia del runtime de languaje asi las organizaciones pueden evaluar y decidir debido a sus necesidades
  • Algunos lenguajes son muy similares en syntax asi que minimiza lo que hay que aprender de nuevo

Desventajas:

  • conociento adicional de parte de los admins para instalar y debugear en una variedad de buildpacks
  • herramientas adicionales (IDEs) que mantener durante desarrollo y actualizacion

Ahora que?   exploremos el lenguage #Go – en mi proximo blog veeremos este lenguaje.

 

muchas gracias de nuevo por leer este blog. Espero que haya sido de su agrado y puedan seguirlo facilmente, Comparan sus preguntas, comentarios y experiencias si deciden ver que es lo que ofrece este lenguaje.

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.