Este post bien podría ser un segundo capítulo del post que hizo NievesCómo arreglar una demo app de SAPUI5. En este post nos mostró como coger una aplicación del SDK de SAPUI5 y conseguir que funcione en nuestro WebIDE. En concreto tomó de ejemplo la aplicación del carrito de la compra del SDK. Una de las modificaciones que le hicimos después es cambiar la fuente de datos para que funcionara con un backend HANA en lugar de hacerlo con el mockserver y sus ficheros JSON.

Esta operación no es que sea inmediata pero bueno, es simplemente SAPUI5. Después de un rato largo replicando el servicio en HANA y dar de alta la fuente de datos en la aplicación funciona bien. Un poco de código más para que también funcione la grabación de pedidos y listo.

El siguiente paso era despegarlo en la plataforma para enlazarlo en el portal. Y aquí es donde empezó la fiesta… Tras tirarse una eternidad pensando, el primer despliegue falló. Si revisamos el log vemos que el problema es que se está descargando todas la librerias SAPUI5 que utiliza. Esto podrá ser necesario en arquitecturas de micro-servicios y aplicaciones nativas pero desde luego no en nuestro caso.

Si revisamos el fichero package.json, vemos que se se están marcando como dependientes varias librerías SAPUI5 que se están descargando en la construcción. Podemos eliminar esta etiqueta y volver a desplegar.

Ahora ya si hemos conseguido desplegar la aplicación en nuestra cuenta SCP. Fácilmente la enganchamos con un portal pero ahora empieza la auténtica fiesta… No funciona en el portal! En concreto falla la conexión al backend HANA.

¿Donde estaba el problema? ¿En el portal? ¿En la autentificación en HANA? ¿En el destino SCP? ¿En el desarrollo de HANA? ¿En la aplicación SAPUI5?

Descarté que el problema fuera en el portal porque tampoco funcionaba ejecutando directamente la aplicación en el repositorio de aplicaciones HTML5.

Probé el servicio HANA directamente desde el navegador, revisé el panel de mandos de HANA y todo parecía correcto.

El siguiente candidatos era el destino SCP. Lo revisé a fondo, leí acerca de la propiedades necesario y todo cumplía lo que debía hacer.

A continuación revisé la aplicación HTML5 en SCP y ahí vi que no aparecía ningún destino… ya tenía una pista! El destino no se estaba reconociendo en la aplicación desplegada en la plataforma.

Los destinos se especifican en el fichero neo-app.json. El fichero está correctamente en el proyecto, pero en la aplicación que se despliega (que puede verse dentro de la carpeta dist) no estaba este fichero. Aquí tocó ya leer bastante sobre el modo de construcción que utiliza el WebIDE. Cómo lo hacía en el pasado con el fichero Grunfeld y como lo hace ahora con el fichero ui5.yaml.

El fichero ui5.yaml no contenía ninguna instrucción respecto a los destinos. Es necesario indicar que tiene que mover el fichero neo-app y lo hacemos mediante la tarea webide-extension-task-updateNeoApp.

Vale, y con esto ya funciona la construcción? Pues no. Es necesario especificar cómo ha de realizarse la contruscción en el fichero package.json.

Ahora ya si. Ahora podemos construir la aplicación y vemos que en la carpeta dist se encuentra el fichero neo-app.json y además que en la aplicación desplegada en el repositorio HTML5 de la cuenta SCP, se ve el destino mapeado correctamente.

Es un post muy muy denso, lo se. Pero es que todo el proceso de construcción y despliegue de nuestras aplicaciones nunca ha sido muy vistoso  pero es muy importante dominarlo.

Dejo aquí un poco de bibliografía:

Si quieres navegar por esta web tienes que aceptar nuestra política de cookies y sus términos de uso

ACEPTAR
Aviso de cookies