Aracely Chávez
My blog
  • Home
  • FAQ
  • Blog
  • Contacto
dest
April 3 2021

Destination using CAP service on BAS Cloud Environment

Aracely Chavez SAP BAS, Cloud Foundry, FIORI, Node Js

Agregar destination al servicio de una aplicación con el modelo de programación CAP (Cloud Application Programming) en el ambiente de desarrollo BAS (Business Application Studio) en la nube. 

Prerequisitos: 

  • Una cuenta trial SAP Cloud BTP.
  • Subscripción al Business Application Studio (y estar firmados a Cloud Foundry). 
  • DB de espacio de desarrollo este en estatus RUNNING.
  • Crear una aplicación Node.js usando Cloud Application Programming Model.
  • Asignar autorización a una aplicación Node.js usando Cloud Application Programming Model.

Justificación:

Para crear una aplicación Fiori a nuestro servicio hay dos maneras de hacerlo, una es crear la interfaz directamente en la mismo workspace CAP, otra opción es crearle al servicio un destination, en este caso la aplicación puede ser creada en otro workspace del tipo FIORI. Y así separar de alguna forma el back-end de acceso de datos a HANA y el front-end de interfaz de usuario FIORI.

1.- Activar el servicio.

Acceder al cockpit de la cuenta trial BTP y asegurarnos de que el servicio este activo, sino, activarlo. 

myappl_app

2.- Consultar datos de acceso al servicio.

Dentro de las opciones del servicio tenemos las variables, obtener los datos necesarios de acceso.  

env1

3.- Crear el destination al servicio.

Ahora vamos a la configuración de destinations para crearle el destination al servicio.   

dest_config

Crear un nuevo destination con la siguiente configuración: 

Destination Configuration:

  • Name: Nombre del destination
  • Type: HTTP
  • URL: https://<trial>.<myappname>.cfapps.<region>.hana.ondemand.com
  • Proxy Type: Internet
  • Authentication: OAuth2UserTokenExchange
  • Client ID: <sacarlo de las variables del servicio>
  • Client Secret: <sacarlo de las variables del servicio>
  • Token Service URL Type: Dedicated
  • Token Service URL: https://<trial>.authentication.<region>.hana.ondemand.com/oauth/token

Additional Properties:

  • HTML5.DynamicDestination = true
  • WebIDEEnabled = true
  • WebIDEUsage = odata_gen,odata_abap,bsp_execute_abap,ui5_execute_abap,dev_abap,odata_gen,bsp_execute_abap

4.- Probar el destination del servicio desde la terminal BAS.

Ahora vamos a probar el destination para verificar que tenemos acceso a los datos. 

En una sesion BAS  abrimos una nueva terminal.

terminal

En la nueva terminal consultamos los datos del servicio de la siguiente manera:

curl + <destination> + “.dest” + “/”<endpoint> + “/”<entity> 

Hay que respetar mayúsculas y minúsculas, consultar el endpoint por si tenemos dudas: 

endpoint

Por ejemplo para mi destination sería entonces: 

curl CAPBookshop.dest/catalog/Books

Tiene que aparecer la información del servicio solicitado de la siguiente manera: 

dest_test

También podríamos enviar a un archivo con > <archivo>.xml y verificar el contenido. Lo que es importante es hacer esta prueba antes de utilizar el destination para crear la aplicación FIORI y confirmar que tenemos acceso a los datos del back-end.

Troubleshooting:

Si al consultar en la terminal la respuesta es:

{“error”:{“code”:”503″,”message”:”Service Unavailable”}}

Quiere decir que la base de datos no está disponible, seguramente no está en estatus RUNNING.

404 Not Found: Requested route (‘trial-dev-app-srv.cfapps.us10.hana.ondemand.com’) does not exist.

El servicio no está activo, hay que activarlo desde el cockpit BTP en aplicaciones.

Addendum:

Otro motivo por el cual es útil tener acceder a un servicio desde un destination es porque -como en este caso- el servicio está protegido con autentificación, por lo tanto al tratar de consumirlo desde una aplicación es lógico que nos pediría las credenciales. Utilizar un destination con Token nos evitaría tener que capturar esta autentificación básica al crear la aplicación. 

odata_service

Addendum 2:

Si el servicio lo queremos accesar desde otra subcuenta, entonces el destination deberá configurarse con la forma de autenticación OAuth2Password e indicar además el usuario y password.

dest_config2
Authentication and Authorization CAP App BAS Cloud Environment SAP Fiori App using CAP service BAS Cloud Environment

Related Posts

SAP

Vue and React Apps using SAP ES5 Gateway on BAS

clear_code

SAP

SAP Fiori Standalone App using Northwind OData Service

SAP

Sybase License SAP NetWeaver AS ABAP

About me

Hola, me llamo Ara,  soy Ingeniera en Sistemas y SAP Sr. Consultant. Escribo acerca de tecnologías SAP en español. Networking: contáctame.

Newsletter

Categories

  • Programming
  • SAP
  • Web Design

Recent Posts

  • dean-pugh-lap-winEjercicio en PSEINT
    October 22, 2022
  • Vue and React Apps using SAP ES5 Gateway on BAS
    July 17, 2021
  • clear_codeSAP Fiori Standalone App using Northwind OData Service
    May 15, 2021

Tags

ABAP BAS Bitnami CAP Cloud Foundry Connectivity Database Explorer Destinations DEVELOPER Dominio ES5 Gateway FIORI GIT repository Google.Domains HANA Hosting HTML5 Launchpad MINISAP NetWeaver Node Js Northwind Open Guided Development Plugins PSeInt Recursos Gratis SAP SAP Cloud SAPUI5 Security Subscriptions Temas Trial Account UI URL VSC Wordpress wp-admin
  • Home
  • FAQ
  • Blog
  • Contacto
  • Términos
  • Privacidad
  • Contacto