Aracely Chávez
My blog
  • Home
  • FAQ
  • Blog
  • Contacto
bas
February 13 2021

My first Node.Js app using CAP Model Local Environment

Aracely Chavez SAP CAP, Cloud Foundry, SAP Cloud, VSC

Como desarrollar una app usando Cloud Application Programming y Node.Js

1.- Instalar Pre-requisitos de desarrollo CAP

2.- Abrir una ventana de comando de Windows. Instalar kit de ambiente de desarrollo local CDS: 

npm i -g @sap/cds-dk

3.- Ejecutar el siguiente comando, que creará la estructura del proyecto y el archivo package.json

cds init my-bookshop

Cambiarse al directorio creado e invocar Visual Studio Code.

code .

code1

4.- Abrir una ventana de comando con Terminal -> New Terminal.

code2

5.- En la terminal instalar dependencias con el comando:

npm install <enter>

code3

6.- El siguiente comando tratará de ejecutar el servicio disponible. 

cds watch <enter>

code4

Al no tener algún modelo de datos aún, solo aparecerá el mensaje: No models found. 

Salir con CTRL+C

Después de inicializar el proyecto, tendremos los siguientes directorios: 

  • app: Para la interfase de usuario UI. (No se usará en este ejemplo). 
  • db: Para el modelo de datos a nivel de base de datos.
  • srv: Para la capa de definición del servicio. 

Al crear o modificar algún archivo usaremos CTRL + S para grabar. 

code5

7.- Para el modelo de datos creamos el archivo db/data-model.cds

code7

8.- Para el servicio que expone el modelo creamos el archivo srv/cat-service.cds

code9

Incluyamos algunas anotaciones para probar la vista Fiori en el servicio Books. 

anotaciones

9.- Para agregarle lógica al servicio creamos el archivo srv/cat-service.js

logica

10.- Para cargar datos iniciales, creamos los siguientes archivos en el directorio /db/csv

a) my.bookshop-Authors.csv

code11

b) my.bookshop-Books.csv

code13

11.- Modificamos el archivo package.json y le agregamos las siguientes líneas: 

package-json

12.- Ejecutamos de nuevo en la terminal cds watch y presionamos el link http://localhost:4004

welcome

Seleccionamos /catalog y podemos ver los servicios generados. 

catalog

Seleccionamos en Books Fiori preview nos aparecerán los datos en UI Fiori como se indicó en el package.json para probar las anotaciones que incluimos a Books presionamos Ir. 

books

13.-Creamos el archivo test/orders.http para probar el servicio órdenes. 

orders

Presionar Send Request en la llamada POST. Vemos como la respuesta fue 201 Created.

orders_post

Probamos la lógica con más cantidad de la disponible. Vemos como la respuesta fue 409 Conflict.

orders_val

Estás pruebas como lo indica en la terminal se realizan –in memory? quiere decir que al cancelar el servicio con CTRL+C los datos no se mantienen o persisten, de ahí a que se le denomina persistencia cuando el servicio ya apunta a datos de una tabla de base de datos.  

14.- Utilizar SQLite3 para darle persistencia a los datos.

Instalar paquete de desarrollo SQLite:

npm i sqlite3 -D

Implementar el modelo a una base de datos local SQLite

cds deploy db –to sqlite:db/bookshop.db

cds deploy db --to sqlite:db/bookshop.db

Para ver las tablas creadas en la base de datos abrimos SQLite

sqlite3 db/my-bookshop.db -cmd .dump

Para cerrar SQLite y regresar al directorio del proyecto presionamos CTRL+C

Ahora cuando se hace las pruebas los datos permanecen. 

books_pers

15.- Implementar la aplicación en base de datos HANA en la nube. 

Instalar el driver de desarrollo HANA Client:

npm add @sap/hana-client –save

npm add @sap/hana-client --save

Apuntar al endpoint de la cuenta SAP Cloud trial:

cf api https://api.cf.us10.hana.ondemand.com

Loguearse a Cloud Foundry (pedirá el correo y password de la cuenta trial):

cf login 

Modificar el archivo package.json como en el punto 11

Crear el servicio del tipo contenedor para alojar la base de datos de la aplicación:

cf create-service hanatrial hdi-shared my-bookshop-db

Construir las tablas y crear el archivo manifest.yaml:

cds build –production

cds build --production

Implementar la aplicación a nivel base de datos:

cf push -f gen/db

Implementar la aplicación a nivel servicio (con opción de crear un link aleatorio):

cf push -f gen/srv –random-route

cf push -f gen/srv --random-route

route

En la cuenta SAP Cloud Trial podemos ver creada la aplicación:

my-book-app

Utilizar la ruta aleatoria creada de la aplicación para probar el servicio desde POSTMAN:

postman_post

Finalmente vemos la orden creada en la base de datos:

hana1
hana2
SAP Cloud Launchpad subscription How to use Github as a repository for your project

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