En la arquitectura del software, los requisitos no funcionales y los atributos de calidad del software juegan un papel importante. Estos incluyen, por ejemplo, rendimiento, usabilidad, cambio de cambio, flexibilidad y adaptabilidad del software.
Una arquitectura de software debe tener en cuenta los requisitos de calidad que se le imponen. Estos determinan la usabilidad y la longevidad a largo plazo del producto de software. Así, la arquitectura del Modelo de programación de aplicaciones RESTFUL ABAP También trae consigo ciertos atributos de calidad, algunos de los cuales se describirán con mayor detalle en esta sección. Para los equipos de desarrollo de SAP, así como para los socios y clientes de SAP, existen importantes consecuencias asociadas con el uso del modelo de programación.
Descripción general de los atributos de calidad clave
En esta publicación, analizaremos más de cerca los siguientes atributos de calidad seleccionados:
- Capacidad de evolución
- Eficiencia del desarrollo
- Probabilidad
- Separación entre negocios y tecnología
Capacidad de evolución
El desarrollo de software siempre se ha esforzado por crear software que sea capaz de evolución, es decir, el software que es (y permanece) cambiante a largo plazo y también puede tener en cuenta las nuevas tendencias técnicas y los desarrollos. Las tendencias técnicas generalmente se refieren a la infraestructura de una aplicación comercial, por ejemplo, una nueva tecnología de la interfaz de usuario o una forma de almacenar datos, en lugar de la lógica comercial de la aplicación.
El software es bien adaptable a las tendencias si su núcleo técnico no se ha mezclado con la codificación técnica para la infraestructura. También es útil que el software proporcione una API motivada por el negocio como punto de acceso para los consumidores, lo que lo hace utilizable en una variedad de contextos técnicos. Del mismo modo, el núcleo comercial de una aplicación también debe ser fácilmente adaptable a los requisitos comerciales adicionales. Este es el caso cuando no hay codificación técnica en él.
Cómo RAP permite la adaptabilidad a largo plazo
El modelo de programación de aplicaciones RESTFUL ABAP admite el atributo de calidad de la capacidad de evolución a través de su enfoque declarativo de extremo a extremo. Gracias a los CD, las aplicaciones son generalmente independientes de la fuente de datos subyacente. El modelo de datos se declara exclusivamente a nivel lógico. Las anotaciones de la interfaz de usuario también se encuentran en el nivel lógico porque con tales anotaciones, especifica la funcionalidad deseada sin tener que conocer la implementación concreta en la interfaz de usuario. Esto permite dejar anotaciones básicamente sin cambios en la aplicación, incluso si luego las interpreta usando una tecnología de interfaz de usuario diferente.
También declara propiedades transaccionales y lógica comercial en la definición de comportamiento sin tener que conocer la implementación técnica concreta. Servicios comerciales nuevamente Resumen del entorno de tiempo de ejecución subyacente: el sistema de Gateway de SAP.
Antes de la definición del servicio, aún no hace referencia a un protocolo técnico específico que se utilizará para exponer las entidades definidas. Esta referencia debe establecerse solo en la vinculación del servicio. Desde el punto de vista de SAP, la unión del servicio puede servir como punto de anclaje para adaptar nuevas tecnologías y protocolos de interfaz.
Esta capacidad evolutiva beneficia no solo las aplicaciones desarrolladas desde cero con el modelo de programación de aplicaciones RESTFUL ABAP (RAP) sino también las aplicaciones existentes que se han encapsulado con el modelo de programación de aplicaciones ABAP RESTFUL. Dichas aplicaciones heredadas encapsuladas también pueden expuestos a varias interfaces y protocolos utilizando medios RAP sin haber definido esto en la aplicación heredada en sí. Esto también significa que las aplicaciones de RAP existentes pueden continuar beneficiándose de la funcionalidad técnica o interfaces recién respaldadas (por ejemplo, recuperación de datos para formularios) en el futuro.
Eficiencia del desarrollo
Los requisitos de calidad para un modelo de programación también incluyen que los desarrolladores de aplicaciones admiten eficientemente en las aplicaciones de construcción. Por lo tanto, ha sido un esfuerzo de larga data del desarrollo de software para aliviar la carga de los equipos de desarrollo ofreciendo tecnologías y servicios cruzados (por ejemplo, tecnologías de interfaz de usuario, servidores de aplicaciones, etc.) para que puedan concentrarse en implementar la capa de aplicaciones comerciales.
El modelo de programación de aplicaciones ABAP RESTful admite la eficiencia del desarrollo con los siguientes enfoques:
Enfoque de desarrollo basado en modelos
Un enfoque basado en modelos proporciona un lenguaje formal adaptado al propósito específico de la aplicación. Por ejemplo, BDL es un lenguaje formal adaptado al propósito del modelado de comportamiento. Los objetos de desarrollo (del SAP estándar) se generan a partir del código fuente creado sobre la base del lenguaje (el modelo, que también puede ser un modelo gráfico), o el modelo se evalúa genéricamente en tiempo de ejecución. Entonces, declara la funcionalidad deseada (la «qué») y no tiene que preocuparse por la implementación técnica concreta (el «cómo»).
Integración estrecha con ABAP
Según el modelo de datos de CDS, el modelo de programación de aplicaciones ABAP RESTFUL está estrechamente integrado en el Lenguaje ABAPasegurando así una tipificación estricta de interfaces basadas en RAP (a través de tipos de datos derivados). Esto permite verificación de sintaxis estática y mejor soporte de herramientas (por ejemplo, a través de la asistencia de código y la información de elementos en ADT). Esto a su vez reduce la susceptibilidad a los errores y la cantidad de investigación requerida, lo que beneficia a la eficiencia del desarrollo.
Implementaciones estándar incorporadas
El modelo de programación proporciona implementaciones estándar para ciertas tareas de desarrollo de aplicaciones, como la implementación de operaciones estándar (crear, actualizar, eliminar), gestión de búfer transaccional, persistencia y manejo de borradores. Puede usar estas implementaciones estándar especificando palabras clave apropiadas en la definición de comportamiento para el objeto comercial. De esta manera, puede desarrollar rápidamente las primeras versiones de una nueva aplicación.
La implementación estándar de ODATA es proporcionada en segundo plano por SAP Gateway, cuya funcionalidad puede acceder a través de la unión del servicio. Ni siquiera necesita saber que SAP Gateway es la tecnología utilizada para hacer esto. Por lo tanto, el conocimiento de SAP Gateway no es necesario, lo que tiene un efecto positivo en el número de requisitos previos que necesita traer.
Vocabulario de negocios consistente
El modelo de programación define un vocabulario estándar para aplicaciones comerciales y lógica comercial. Las validaciones (validación), las determinaciones (determinación) y las acciones (acción) pueden usarse como palabras clave explícitas en la definición de comportamiento y, por lo tanto, también se incluyen en el alcance del lenguaje ABAP. Estos conceptos facilitan la comunicación dentro del equipo de desarrollo y con los expertos en la materia al discutir los requisitos y su implementación.
Probabilidad
La capacidad de cambio se ha garantizado desde los primeros días del desarrollo ágil, principalmente a través de pruebas automatizadas en varios niveles de granularidad (desde módulos individuales para completar aplicaciones de extremo a extremo). Sin embargo, el software generalmente no se puede probar fácilmente. El probabilidad El atributo de calidad determina la facilidad con la que un conjunto de pruebas puede probar la funcionalidad de una aplicación automáticamente. El código del programa es mucho más fácil y seguro de cambiar si se ha respaldado con casos de prueba confiables utilizando herramientas de automatización de pruebas.
El modelo de programación de aplicaciones RESTFUL ABAP introduce la fase de interacción (separada de la secuencia de guardado) y el búfer transaccional. Al utilizar el modelo de programación de aplicaciones ABAP Restful, es difícil «evitar» este concepto durante la programación. La presencia del búfer transaccional (transitorio) hace que sea más fácil almacenar diferentes datos de prueba dependiendo del caso de prueba y ejecutar casos de prueba automáticamente uno tras otro sin superponer las áreas de datos. Las pruebas generalmente se habilitan implementando casos de prueba utilizando el Unidad de ABAP Marco de prueba, que le permite desarrollar y ejecutar pruebas unitarias para sus aplicaciones.
Separación de negocios y tecnología
El principio de separar negocios y tecnología es una aplicación de la separación de preocupaciones principio. Es necesario desarrollar una lógica comercial que se pueda cambiar independientemente de la tecnología, y que se puede reutilizar lo más permanentemente posible. Este principio es un medio importante para implementar ciertos atributos de calidad.
La lógica comercial se refiere a la implementación del propósito de la aplicación del software comercial, es decir, la lógica del programa con la que, por ejemplo, se manejan los procesos de compra y pedido. El entorno técnico de dicho núcleo orientado al dominio incluye la UI y la capa de persistencia (por ejemplo, la tecnología de la base de datos utilizada), por ejemplo.
Los cambios tecnológicos ocurren con mayor frecuencia o por diferentes razones que los cambios en el dominio de la aplicación. Por lo tanto, el cálculo del mejor precio de compra es independiente de la lógica del entorno técnico, por ejemplo, los artefactos del código necesarios para mostrar este precio en la interfaz de usuario o la interfaz y los formatos de mensaje necesarios para transmitir el precio a un sistema de terceros. El software es más fácil de personalizar si la lógica comercial está separada de la lógica del programa técnico.
Con la definición e implementación de comportamiento del objeto comercial, el modelo de programación de aplicaciones ABAP RESTFUL crea un espacio explícito para la lógica comercial. Se vuelve difícil incorporar la codificación técnicamente motivada en esta lógica de comportamiento, lo que afectará más pasos de desarrollo de aplicaciones. El modelo de programación también define un flujo para procesar operaciones o acciones estándar. Este proceso especifica puntos explícitos en el tiempo e interfaces, por ejemplo, para implementar verificaciones de autorización, numerar o guardar datos comerciales.
Nota del editor: esta publicación ha sido adaptada de una sección del libro Modelo de programación de aplicaciones RESTFUL ABAP: la guía integral por Lutz Baumbusch, Matthias Jägery Michael Lensch. Lutz ha trabajado como desarrollador de SAP desde 2000 y ha sido responsable de los proyectos internacionales de SAP en diversos roles y áreas. En absoluto para un grupo SE, prepara los temas actuales de desarrolladores para la capacitación interna y externa en el equipo de desarrollo de la nube ABAP. Matthias es un desarrollador, arquitecto y entrenador de ABAP completo de la pila independiente. Anteriormente, trabajó durante muchos años para un grupo SE en el equipo de desarrollo de soluciones, donde desarrolló productos de software basados en ABAP. Michael lidera un equipo de desarrolladores de SAP para un grupo SE. Como gerente de desarrollo, es responsable del desarrollo en SAP S/4HANA Proyectos de implementación en Alemania y en el extranjero.
Esta publicación fue publicada originalmente el 7/2025.