SAP Business Application Studio: "El hermano Mayor"
- Sergio Cannelli
- 17 sept 2020
- 6 Min. de lectura

Esta publicacion comparto una mezcla de conocimiento tecnologico,programacion y ademas una experiencia reciente que puede confundir y complicar sino se plantea claramente.
Para comenzar a desarrollar el tema ,como introducción voy a contar una experiencia reciente que tiene relación con esta tema :
En estos días me enviaron un correo por ofrecerme proyecto ,lo cual agradezco muchísimo pero fue una frustración porque las publicaciones u ofrecimientos que no están claros ,probablemente se dañen.
EL correo mencionaba que la asignación era para una posición que decía : «Se requiere un programador SCP»… ,
Esto es lo mismo que decir: «Necesito un abogado para Africa«.
Primero saber qué país de África? ,luego tipo de procedimiento es (laboral, penal, mercantil…) y conocer algo de la legislación del país, ¿no?
Mi primera acción fue solicitar me ampliaran y explique claramente cuales eran los perfiles posibles.
que creen?…
¡No volví a saber nada! .
En relación a esto comienzo diciendo que en SCP (SAP Cloud Platform) no se programa, al igual que no se programa en Fiori; SCP es una plataforma de aplicaciones y Fiori es un patrón de diseño de aplicaciones. Se programa en SAPUI5, en JavaScript, ABAP… y SCP ofrece la plataforma para diseñar, desplegar y ejecutar esas aplicaciones.
Ahora bien , si hablamos de la parte de diseñar aplicaciones cloud en SAP, nos encontramos con 2 frameworks de desarrollos:
SAP Web IDE
SAP Business Application Studio.
SAP Web IDE fue desde los inicios el entorno de desarrollo recomendado para diseñar aplicaciones SAPUI5 y a medida que ha ido evolucionando, se ha ido utilizando para más cosas, como para el desarrollo de HANA, en lugar de utilizar HANA Studio y el desarrollo de aplicaciones MTA, dentro del mundo Cloud Foundry.
Recordemos que hace unos años se hablaba de SAP Web IDE ,luego SAP Web IDE Full-Stack.
Cuando parecía que el nuevo SAP Web IDE iba a ser el framework de desarrollo recomendado por SAP para el desarrollo de aplicaciones, aparece SAP Business Application Studio Desktop ,luego en el CLOUD,
Los clientes que adoptan SAP Intelligence enterprise, están en la búsqueda de un IDE robusto para construir y ampliar soluciones SAP para satisfacer sus necesidades empresariales. Para satisfacer estas necesidades, SAP ha introducido SAP Business Application Studio, la próxima generación de SAP Web IDE.
Se trata de un entorno modular diseñado para el desarrollo eficiente de aplicaciones empresariales como SAP Fiori, aplicaciones para SAP CP Mobile Services , extensiones de SAP S4 HANA y modelado de WORKFLOW.
Con SAP Web IDE ya en su lugar, una pregunta definitivamente surgiría en nuestra mente - ¿Por qué Business Application Studio y que ofrece??.
He tratado de llegar a las características clave y claves de valor que ambos entornos de desarrollo ofrecen:

Según SAP, SAP WEBIDE FULLSTACK seguirá estando disponible y se admitirá. Los clientes de SAP Cloud Platform, Neo pueden seguir utilizando SAP Web IDE como su entorno de desarrollo recomendado.
Con respecto al desarrollo CAP, se puede ir para SAP Business Application Studio, ya que tiene una ventaja sobre SAP Web IDE en términos de espacio de desarrollo pre-configurado, terminal integrado y herramientas de productividad.
Lo que sigue son mis notas al momento de migrar mis APP de WEBIDE a SAP BUSSINES APPLICATION STUDIO.
Migración de NUESTRO proyecto
Durante la migración, importar el proyecto existente, ajustar cuatro archivos y ejecutar la aplicación en SAP Business Application Studio.
Importar el proyecto
1. Se Puede clonar el proyecto desde GIT mediante la línea de comandos de SAP Business Application Studio.
2. Como alternativa, importar el proyecto de la siguiente manera:
Hacer clic en Archivo > Abrir WORKSPACE y crear un espacio de trabajo en la carpeta de proyectos.
Exportar el proyecto (por ejemplo, el proyecto )de SAP Web IDE Full Stack a nuestra PC.
Descomprimir el proyecto en nuestra PC.
Arrastrar y soltar el proyecto en SAP Business Application Studio.
Ajustar el proyecto
Solo se deben cambiar 4 archivos para permitir que la aplicación SAP Fiori se ejecute en Application Studio:
Crear un archivo "xs-app.json" en la carpeta raíz del proyecto para habilitar la ejecución local. Este archivo reemplaza el archivo "neo-app.json", que no es necesario.
Adaptar el archivo "package.json" con las dependencias de desarrollo necesarias relevantes, como el assist code, la compilación y la ejecución local.
Adaptar el archivo "ui5.yaml" para incluir las tareas de compilación SAPUI5 relevantes.
Adaptar "index.html" para utilizar la dirección URL SAPUI5 absoluta.
xs-app.json File
Crear el archivo en la carpeta raíz del proyecto .
Copiar el siguiente fragmento de código e introducir el nombre de destino.
Agregar una ruta a su destino .
Agrega una ruta para habilitar la ejecución local.
{
"authenticationMethod": "none",
"routes":
[
{
"authenticationType": "none",
"csrfProtection": false,
"source": "^/sap/opu/odata/",
"destination": "<NUESTRO DESTINO ODATA>"
},
{
"source": "^(.*)$",
"target": "$1",
"service": "html5-apps-repo-rt"
}
]
}
package.json File
Si no se agregan dependencias/scripts de desarrollo específicos,
reemplazar el contenido con el siguiente fragmento de código y ajustar el nombre en negrita:
{ "name": "nuevo-onpre",
"version": "0.0.1",
"devDependencies": {
"@sapui5/ts-types": "1.71.x",
"@sap/ui5-builder-webide-extension": "1.0.x",
"@sap/approuter": "8.1.x",
"@sap/html5-repo-mock": "1.5.x"
},
"scripts": {
"build": "ui5 build --include-task=generateManifestBundle generateCachebusterInfo",
"start-local": "node node_modules/@sap/html5-repo-mock/index.js"
},
"ui5": {
"dependencies": [
"@sap/ui5-builder-webide-extension"
]
}
}
ui5.yaml File
Si no se añaden tareas de compilación específicas de SAPUI5, sustituir el contenido por el siguiente fragmento de código y ajustar el valor "nameSpace" en negrita:
specVersion: '1.0'
metadata:
name: onprem
type: application
resources:
configuration:
propertiesFileSourceEncoding: UTF-8
builder:
customTasks:
- name: webide-extension-task-updateManifestJson
afterTask: generateVersionInfo
configuration:
appFolder: webapp
destDir: dist
- name: webide-extension-task-resources
afterTask: webide-extension-task-updateManifestJson
configuration:
nameSpace: ns
index.html File
SAPUI5 bootstrap puede hacer referencia a la dirección URL relativa, a continuación, se consumirá desde el tiempo de ejecución ABAP y no desde CDN. Ajuste el valor "src" en negrita:
<script id="sap-ui-bootstrap"
src= "./resources/sap-ui-core.js"
Eliminar los siguientes archivos
Se pueden eliminar los siguientes archivos y carpetas:
1. ".che"
2. ".user.project.json"
3. "extensionDocu.properties"
4. "neo-app.json"
5. "package-lock.json"
6. "readme.txt"
Luego de todo esto se puede compilar y ejecutar la APP.
Deploy en respositorio ABAP
Realizar una compilación ejecutando npm desde el terminal.
Ejecutar "abap-deploy" repondiendo a las preguntas desde el terminal.
La aplicación se implementa en el sistema ABAP.
Requisitos previos
Asegurarnos de que nuestro WebIDEUsage incluye dev_abap para la implementación en el repositorio ABAP SAPUI5. (Por ejemplo, el WebIDEUsage incluye odata_abap,dev_abap).
Asegurarnos agregar el HTML5.Timeout= 60000 en las propiedades adicionales a nuestro destino en CF.
Para implementar en SAP S/4HANA , debe configurar un destino local en el CLOUD CONNECTOR.
Para implementar en SAP S/4HANA , se debe agregar la propiedad adicional sap-client al destino en CF.
Para implementar en SAP S/4HANA Cloud, aw debe configurar un destino en un sistema S/4HANA Cloud con autenticación SAML Bearer Assertion.
Procedimiento
Hacer clic con el botón derecho en la carpeta del proyecto y seleccionar Open in Terminal.
1- Escribir npm install:
user: <SAP Fiori project> $ npm install
2- Escribir npm run build:
user: <SAP Fiori project> $ npm run build ( Se crea una carpeta dist con los objetos del proyecto dentro.)
3- Escribir abap-deploy
user: <SAP Fiori project> $ abap-deploy
4- Responder a las preguntas para implementar la aplicación.
Deploy en CF
BUILD MTA


DEPLOY MTAR
Para DEPLOY si da error de autentificación ,se debe abrir una ventana de TERMINAL ,entramos a CF ,luego DEPLOY.

Resultado


Deploy en SAP S/4HANA On-premise
Seleccionar la carpeta de origen (dist de forma predeterminada).
Seleccionar el sistema ABAP destino.
Escribir las credenciales para el sistema destino.
Seleccionar el nombre de la carpeta en ABAP Business Server (BSP).
Seleccionar el paquete.
Seleccionar el transporte.
Deploy en SAP S/4HANA Cloud
Seleccionar la carpeta de origen (dist de forma predeterminada).
Seleccionar el sistema ABAP de destino.
Escribir el nombre de la aplicación si se está creando una nueva aplicación.
Creación de una APP nueva
En el siguiente video comparto un paso a paso como crear una APP en este nuevo FRAMEWORK
Conclusión
Hemos realizado las siguientes tareas:
Configurar el entorno de desarrollo de SAP Business Application Studio.
Migrar una aplicación SAP Fiori que consuma un servicio ABAP on-premise de SAP Web IDE a SAP Business Application Studio.
Probar la aplicación localmente e implementarla .
Crear aplicacion nueva como demo.
Mi sugerencia es que si tienen espacio de tiempo para migrar sus aplicaciones ,lo hagan.
SAP Business Application Studio ,es un ambiente nuevo,integrado con muchisimas cosas ,las cual creo ,se deben ir viendo con cada solicitud .
Para los que diseñamos y desarrollamos en varios frentes(ABAP-FIORI-HANA-CAP-IOT-CAI) , es muy comodo .
SAP ,creo lo va ir mejorando transformandolo en un FRAMEWORK definitivo,con todo lo que necesitamos.
コメント