Creación de un proyecto PAC

Objective

After completing this lesson, you will be able to generar un proyecto de SAP Cloud Application Programming Model

Trabajar con SAP Business Application Studio

Espacios de desarrollo y asistente de proyecto

Como se ha mencionado anteriormente, queremos utilizar SAP Business Application Studio (BAS) como entorno de desarrollo para crear aplicaciones CAP para el tiempo de ejecución Node.js. BAS proporciona el beneficio de que todo lo que necesitamos para el desarrollo está disponible listo para usar. Por ejemplo, Node.js así como el kit de desarrollo CDS de CAP ya están instalados listos para usar.

Vea el vídeo para obtener información sobre la creación de espacios de desarrollo y la generación de proyectos CAP para desarrollar aplicaciones utilizando BAS.

Interfaz de línea de comandos

Los proyectos CAP también se pueden crear con el paquete npm @sap/cds-dk. Este paquete contiene el cliente de línea de comandos y el kit de herramientas de desarrollo para CAP.

@sap/cds-dk está disponible listo para usar en BAS. Los comandos correspondientes se pueden introducir directamente en un terminal en BAS. Para abrir una nueva terminal, seleccione TerminalNueva terminal en el menú de hamburguesas en la esquina superior izquierda de BAS.

@sap/cds-dk proporciona comandos para varias etapas del desarrollo de CAP, desde la inicialización de nuevos proyectos hasta su implementación en la nube. Utilice la ayuda de cds para obtener un resumen de todos los comandos. ¿Utiliza el <comando cds helpcommand> o cds <? para obtener ayuda específica. Con cds init se puede generar un nuevo proyecto CAP.

Convención sobre configuración

Configuración mínima

CAP tiene opciones predeterminadas para muchas cosas que debería configurar en otros frameworks. El objetivo es hacer que las cosas funcionen sin configuración tanto como sea posible. Si es necesario, puede sustituir estas opciones predeterminadas con una configuración específica. Por ejemplo, podría sustituir los nombres predeterminados para las carpetas anteriores en el archivo package.json de la siguiente manera:

JSON
123456789
{ ... "cds": { "folders": { "db": "database/", "srv": "services/", "app": "uis/" } } }

Nota

Le recomendamos que siga las convenciones de la PAC para beneficiarse de las cosas que solo funcionan de forma inmediata. Solo añada configuraciones o sustituya los valores predeterminados si realmente necesita hacerlo.

Consejo

Puede utilizar el comando cds env para visualizar la configuración efectiva para una clave específica o todo el entorno actual en el terminal. Por ejemplo, si ejecuta carpetas cds env en el terminal, obtendrá la siguiente salida si no ha sobrescrito los nombres de carpeta por defecto:
JSON
1
{ db: 'db/', srv: 'srv/', app: 'app/' }

Pruebas locales

Cuando ejecuta el comando cds watch en el terminal, inicia un servidor http en modo watch. Como resultado, su proyecto es compilado y servido localmente. Esto significa que se puede acceder a su aplicación basada en CAP y probarla desde BAS (o código VS) utilizando el servidor proporcionado (consulte la figura Iniciar un servidor HTTP).

El "reloj" en cds watch indica que el comando supervisa continuamente los archivos del proyecto en busca de cambios. Una vez que se detecta un cambio en los archivos de origen, el servidor se reinicia automáticamente para reflejar esos cambios. No es necesario detener y reiniciar manualmente el servidor después de los cambios.

Mientras el servidor se ejecuta en modo de vigilancia, emite registros en la consola. Estos logs pueden ser útiles para detectar problemas, comprender el flujo de solicitudes y solucionar errores.

Nota

En realidad, el reloj cds es solo un atajo conveniente para:
Code Snippet
1
cds serve all --with-mocks --in-memory?

¿Ejecutar cds serve? en la terminal para obtener más información sobre cds serve y las opciones disponibles.

¿El --in-memory? La opción agrega automáticamente una base de datos in-memory transitoria, que se iniciará en cada (re)start en función de los ajustes o la configuración predeterminados en package.json. El signo de interrogación añadido aplica una variante más defensiva que respeta la base de datos configurada, si la hay, y solo añade una base de datos en memoria si no se configura ninguna base de datos persistente.

Cuando cds watch se está ejecutando, puede abrir http://localhost:4004 en un navegador para ver una página index.html genérica. Esta página es principalmente para fines de desarrollo y prueba. En los escenarios de producción, normalmente no se expone ni se sustituye por una interfaz de usuario adecuada.

La página proporciona una lista de todos los puntos finales de servicio expuestos. Esto facilita que los desarrolladores y los probadores accedan a ellos directamente.

Para cada servicio OData, también hay un enlace a su documento $metadata. Al hacer clic en él, se mostrarán los metadatos del servicio, que describe los conjuntos de entidades, los tipos y otros detalles del servicio en formato XML.

Para las aplicaciones Node.js, también hay un enlace de vista previa de Fiori en la página index.html para cada conjunto de entidades expuesto. Un enlace de este tipo sirve dinámicamente a una página de lista de elementos de SAP Fiori basada en el conjunto de entidades correspondiente. Tenga en cuenta que no está previsto para el uso productivo. No se supone que sea un reemplazo para una aplicación de elementos de SAP Fiori adecuada.

Consejo

Para finalizar el proceso del servidor, pulse Ctrl+C en el terminal en el que se ejecuta la aplicación.

Demostración y ejercicio: Crear una aplicación Hello World

Nota

Como ejercicio, lleve a cabo las instrucciones paso a paso en la siguiente demostración en SAP Business Application Studio.

Puede encontrar el código fuente de la simulación en la rama 1_hello_world del siguiente repositorio GitHub:

https://github.com/SAP-samples/cap-development-learning-journey

Puede encontrar información detallada sobre el contenido de este repositorio y cómo utilizarlo aquí.

Vea el video para ver cómo crear una aplicación Hello World.

Ahora que sabemos cómo crear proyectos de CAP en un espacio de desarrollo y cómo probar las aplicaciones de CAP localmente, vamos a explorar las características básicas de CAP.