1. Una pequeña introducción
Si estás buscando una forma sencilla de desarrollar APIs empresariales escalables con integración nativa en el ecosistema SAP, SAP CAP es para ti. Este tutorial te guiará desde la configuración inicial hasta tener un servicio OData funcional que puedas consumir.
SAP CAP es una herramienta que empodera a los desarrolladores para crear aplicaciones empresariales más rápido, con menos esfuerzo y de manera alineada con los ecosistemas SAP.
SAP CAP se basa en principios de desarrollo centrados en servicios (service-centric) y promueve las mejores prácticas de diseño, como el uso de Core Data Services (CDS) para modelar datos y generar servicios de forma declarativa.
2. Configuración del entorno
Siendo breve y simplificando, lo que vamos a crear es una aplicación backend JS basada en NodeJs usando el framework de SAP CAP.
Requisitos:
Node.js: https://nodejs.org/es
Instalar el CAP CLI con:
npm install -g @sap/cds-dk
Crea un nuevo proyecto:
cds init mi-primer-proyecto
cd mi-primer-proyecto
npm install
3. Desarrollar la aplicación
Crea un archivo en db/schema.cds con el siguiente contenido:
entity Books {
key ID : Integer;
title : String;
author : String;
stock : Integer;
}
En SAP CAP, una "entidad" es una representación de un conjunto de datos estructurados dentro del modelo de dominio. Es similar a una tabla en una base de datos relacional.
Muestra cómo probar la consistencia del modelo ejecutando:
cds watch
Esto levanta un servidor local de desarrollo, sin embargo no vas a poder exponer el modelo que creaste, necesitarás declarar un nuevo servicio.
Crea el archivo srv/cat-service.cds:
using { Books } from '../db/schema';
service CatalogService {
entity BooksProjection as projection on Books;
}
Este archivo es la declaracion de un servicio llamado CatalogService.
Se está creando sobre Books una proyección llamada BooksProjection.
Una proyección permite seleccionar, filtrar o transformar datos de una entidad base, creando una vista personalizada de los datos.
4. Consume el servicio
Navega al endpoint generado automáticamente:
http://localhost:4004/
o también
http://localhost:4004/odata/v4/catalog/BooksProjection
Puedes usar Postman para hacer consultas:
GET http://localhost:4004/odata/v4/catalog/BooksProjection
$metadata
El endpoint $metadata devuelve un archivo en formato XML que incluye:
- Entidades y sus propiedades
- Relaciones entre entidades: Expone cómo las entidades están vinculadas (por ejemplo, relaciones uno a muchos).
- Acciones y funciones: Si el servicio tiene lógica personalizada.
- Tipos de datos complejos: Detalla tipos personalizados que no son simples.
5. Agregar datos
Para agregar datos rápidamente puedes usar el siguiente comando:
cds add data
Este código va a agregar un csv por cada entidad con las cabeceras, puedes rellenar estos csv con datos de prueba.
Este sería el resultado final cuando se consume el servicio:
El servicio que se va a crear es OData, por lo tanto se puede filtrar usando los métodos de OData:
GET http://localhost:4004/odata/v4/catalog/BooksProjection?$filter=author eq 'J.D. Salinger'
Ahora que tienes un servicio básico funcionando, puedes extender tu aplicación conectándola a una base de datos como PostgreSQL, agregando lógica personalizada o incluso creando una interfaz Fiori Elements para visualizar los datos.
Top comments (0)