{"id":45542,"date":"2025-06-27T04:00:16","date_gmt":"2025-06-27T08:00:16","guid":{"rendered":"https:\/\/pathlock.com\/blog\/modelo-abap-restful-application-programming-rap\/"},"modified":"2026-04-30T12:06:14","modified_gmt":"2026-04-30T16:06:14","slug":"abap-restful-application-programming-model-rap","status":"publish","type":"blog","link":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","title":{"rendered":"Modelo ABAP RESTful Application Programming (RAP)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-que-es-restful-application-programming-rap\">\u00bfQu\u00e9 es RESTful Application Programming (RAP)?<\/h2>\n\n\n\n<p>El modelo <a href=\"https:\/\/pathlock.com\/es\/?post_type=blog&#038;p=45578\">ABAP<\/a> RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje <a href=\"https:\/\/pathlock.com\/blog\/sap-abap\/\" data-internallinksmanager029f6b8e52c=\"79\" title=\"sap-abap\">ABAP<\/a> y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.<\/p>\n\n\n\n<p>El objetivo principal de RAP es permitir a los desarrolladores crear de manera eficiente aplicaciones empresariales listas para la nube que gestionen diferentes transacciones comerciales en forma de servicios OData est\u00e1ndar o crear extensiones para aplicaciones existentes sin modificar el c\u00f3digo est\u00e1ndar actual.  Admite el desarrollo integral desde el modelado de datos hasta la exposici\u00f3n de servicios y el modo compacto con <a href=\"https:\/\/pathlock.com\/blog\/sap-fiori\/#h-sap-fiori-history-roadmaps-and-ux-updates\">SAP Fiori UX<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-1.webp\" alt=\"\" class=\"wp-image-44757\" srcset=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-1.webp 1200w, https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-1-300x150.webp 300w, https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-1-1024x512.webp 1024w, https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-1-768x384.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>RAP admite el desarrollo para diversas plataformas SAP, incluyendo SAP BTP ABAP para crear aplicaciones y extensiones nativas en la nube, as\u00ed como SAP S\/4HANA Cloud (ediciones p\u00fablica y privada), que permite desarrollos personalizados compatibles con los ciclos continuos de innovaci\u00f3n y actualizaci\u00f3n de la nube. RAP est\u00e1 disponible para SAP S\/4HANA On-Premises desde la versi\u00f3n 1909, lo que permite a los clientes crear aplicaciones mediante pr\u00e1cticas modernas de desarrollo y a prueba del futuro.<\/p>\n\n\n\n<p>RAP desempe\u00f1a un papel fundamental en el modelo de desarrollo ABAP en la nube para aplicaciones transaccionales al utilizar Core Data Services (CDS) a fin de definir estructuras de datos y vistas, proporcionar mecanismos para implementar la l\u00f3gica empresarial y garantizar la integridad de los datos durante las transacciones.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"600\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-2.webp\" alt=\"\" class=\"wp-image-44758\" srcset=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-2.webp 1200w, https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-2-300x150.webp 300w, https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-2-1024x512.webp 1024w, https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/RESTful-image-2-768x384.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-por-que-aprender-restful-application-programming\">\u00bfPor qu\u00e9 aprender RESTful Application Programming?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-evolucion-de-los-requisitos-de-las-aplicaciones-empresariales\">Evoluci\u00f3n de los requisitos de las aplicaciones empresariales<\/h3>\n\n\n\n<p>RAP no es solo un nuevo marco de desarrollo; es el modelo de programaci\u00f3n estrat\u00e9gico de SAP para adoptar el paradigma moderno en la creaci\u00f3n de aplicaciones empresariales dentro del ecosistema SAP.<\/p>\n\n\n\n<p>Las aplicaciones empresariales modernas requieren informaci\u00f3n inmediata de sus datos operativos para fundamentar la toma de decisiones. En consecuencia, las capacidades anal\u00edticas se est\u00e1n integrando dentro de las aplicaciones transaccionales, lo que permite obtener informaci\u00f3n sin necesidad de cambiar de contexto.  RAP permite la integraci\u00f3n directa de datos con el entrenamiento y an\u00e1lisis de modelos de IA, lo que reduce la necesidad de replicaci\u00f3n y procesamiento de datos complejos.<\/p>\n\n\n\n<p>RAP est\u00e1 optimizado para la base de datos SAP HANA, aprovechando todo el potencial de sus capacidades de procesamiento en memoria, y ejecutando operaciones como uniones, agregaciones y c\u00e1lculos complejos a mayor velocidad, que anteriormente representaban cuellos de botella de rendimiento en bases de datos tradicionales.<\/p>\n\n\n\n<p>SAP Fiori introdujo un nuevo lenguaje de dise\u00f1o y un nuevo paradigma de experiencia de usuario para las aplicaciones SAP, caracterizados por la simplicidad, la coherencia y el acceso basado en roles. RAP permite a los desarrolladores exponer objetos empresariales como servicios OData, lo que permite una integraci\u00f3n perfecta con elementos Fiori y una experiencia coherente en varios dispositivos.<\/p>\n\n\n\n<p>RAP est\u00e1 dise\u00f1ado bajo principios de nube, y las aplicaciones se encuentran intr\u00ednsecamente optimizadas para el entorno SAP BTP ABAP, lo que permite tanto la extensibilidad dentro de la aplicaci\u00f3n como las extensiones en paralelo. Esto lo hace ideal para implementaciones h\u00edbridas y nativas en la nube.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-expectativas-del-usuario-final\">Expectativas del usuario final<\/h3>\n\n\n\n<p>Fiori UX consume directamente los servicios RAP OData, lo que ofrece una experiencia de usuario coherente en diferentes dispositivos, al mismo tiempo que mantiene el contexto. El dise\u00f1o subyacente de RAP promueve la ausencia de estado, lo que permite que las sesiones de los usuarios puedan retomarse f\u00e1cilmente desde cualquier dispositivo, continuando desde el punto donde se dejaron en el dispositivo anterior.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cualidades-del-producto-listo-para-usar\">Cualidades del producto (listo para usar)<\/h3>\n\n\n\n<p>Los principios de programaci\u00f3n de RAP permiten a los desarrolladores agregar varias cualidades cr\u00edticas de forma predeterminada sin requerir esfuerzos posteriores al desarrollo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Escalabilidad:<\/strong> la arquitectura sin estado de RAP y la interacci\u00f3n optimizada con SAP HANA permiten inherentemente la escalabilidad, lo que posibilita que las aplicaciones se implementen de manera distribuida y se escalen f\u00e1cilmente en entornos de nube.<\/li>\n\n\n\n<li><strong>Capacidad de prueba:<\/strong> RAP proporciona herramientas y t\u00e9cnicas integradas para probar la l\u00f3gica de las aplicaciones y promover la separaci\u00f3n de las capas l\u00f3gicas, lo que facilita la realizaci\u00f3n de pruebas unitarias y el mantenimiento de las definiciones de comportamiento.<\/li>\n\n\n\n<li><strong>Extensibilidad:<\/strong> RAP permite a los desarrolladores crear puntos de extensi\u00f3n bien definidos en sus aplicaciones, lo que posibilita realizar modificaciones y adiciones de nuevas funciones sin necesidad de realizar cambios en el c\u00f3digo fuente.<\/li>\n\n\n\n<li><strong>Capacidad de soporte<\/strong>: las aplicaciones desarrolladas se mantienen f\u00e1cilmente con capacidades detalladas de diagn\u00f3stico y depuraci\u00f3n despu\u00e9s de la implementaci\u00f3n.<\/li>\n\n\n\n<li><strong>Capacidad de documentaci\u00f3n<\/strong>: la naturaleza declarativa de RAP, como las definiciones CDS y su modelo de programaci\u00f3n estructurado, conduce de forma inherente a una mejor documentaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fundamentos-de-rap\">Fundamentos de RAP<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-que-es-un-objeto-empresarial\">\u00bfQu\u00e9 es un objeto empresarial?<\/h3>\n\n\n\n<p>Un objeto empresarial en RAP representa una entidad o concepto comercial del mundo real dentro de un dominio empresarial, como un pedido de ventas, un cliente, un producto o un empleado. Encapsula todos sus datos, comportamiento y relaciones. El objeto empresarial es la unidad central de control para la manipulaci\u00f3n coherente de datos y la integridad transaccional, ya que define la estructura de los datos, las reglas que rigen su manipulaci\u00f3n y el ciclo de vida de una entidad comercial.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-que-es-una-consulta\">\u00bfQu\u00e9 es una consulta?<\/h3>\n\n\n\n<p>Una consulta es la interfaz de solo lectura que permite acceder a los datos para su consumo y se crea sobre las vistas Core Data Services (CDS), utiliz\u00e1ndose principalmente para recuperar y mostrar datos empresariales. Proporciona una forma estructurada de recuperar, filtrar, ordenar y agregar datos, y suelen servir como fuente de datos para paneles anal\u00edticos, funcionalidades de b\u00fasqueda o listas de objetos en la interfaz de usuario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-que-es-un-servicio-empresarial\">\u00bfQu\u00e9 es un servicio empresarial?<\/h3>\n\n\n\n<p>Los servicios empresariales en RAP proporcionan una interfaz externa para acceder a las funcionalidades de los objetos empresariales, tanto de lectura como de escritura, con las que pueden interactuar los usuarios finales o sistemas externos a trav\u00e9s de la interfaz de usuario de aplicaciones Fiori. Los servicios empresariales normalmente se exponen mediante una definici\u00f3n de servicio, que describe qu\u00e9 ofrece el servicio, y una vinculaci\u00f3n de servicio, que especifica c\u00f3mo se expone utilizando un protocolo determinado, como OData v2 o v4, UI, Web API, entre otros.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-que-es-un-evento-empresarial\">\u00bfQu\u00e9 es un evento empresarial?<\/h3>\n\n\n\n<p>Un evento empresarial en RAP representa un activador o una notificaci\u00f3n definidos que se\u00f1alan un cambio o una acci\u00f3n significativa que ocurre dentro de un objeto empresarial, lo cual puede activar otros eventos en aplicaciones o servicios que est\u00e9n vinculados. Por ejemplo, un \u201cpedido de ventas creado\u201d o un \u201cprecio de producto modificado\u201d es un evento empresarial que otras aplicaciones o flujos de trabajo pueden consumir para su posterior procesamiento. Las definiciones de eventos y vinculaciones de eventos se definen y utilizan para la integraci\u00f3n as\u00edncrona entre servicios, ya sea a trav\u00e9s de SAP Event Mesh o mediante l\u00f3gica personalizada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modelado-de-datos\">Modelado de datos<\/h3>\n\n\n\n<p>El modelado de datos en RAP se realiza mediante Core Data Services (CDS), que define entidades, es decir, estructuras de datos, sus asociaciones, por ejemplo, relaciones con otras entidades, y proyecciones con vistas personalizadas para la exposici\u00f3n. El modelado de datos es el punto central para definir toda la estructura de la aplicaci\u00f3n desde una perspectiva de flujo de datos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-lenguaje-abap\">Lenguaje ABAP<\/h3>\n\n\n\n<p>El lenguaje ABAP moderno sirve como base para implementar la l\u00f3gica empresarial dentro de RAP, aprovechando sus funciones, que incluyen Entity Manipulation Language (EML), las anotaciones y los conceptos orientados a objetos, as\u00ed como sus amplias bibliotecas y sus capacidades de gesti\u00f3n de errores.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-herramientas\">Herramientas<\/h3>\n\n\n\n<p>El desarrollo de RAP cuenta con el respaldo de un conjunto diverso de herramientas, tales como el editor de CDS, los editores de c\u00f3digo fuente ABAP, los asistentes de ADT y el editor de vinculaci\u00f3n de servicios, las cuales est\u00e1n integradas principalmente dentro de ABAP Development Tools (ADT) en el IDE de Eclipse (una plataforma de desarrollo de c\u00f3digo abierto ampliamente utilizada para el desarrollo de software).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-extensibilidad\">Extensibilidad<\/h3>\n\n\n\n<p>RAP proporciona mecanismos de extensibilidad integrados, que permiten a los clientes y socios mejorar o adaptar objetos y servicios empresariales est\u00e1ndar sin modificar el c\u00f3digo base central. Ofrece un mecanismo preciso para ambos tipos de extensibilidades: extensibilidad dentro de la aplicaci\u00f3n, que permite agregar campos personalizados, l\u00f3gica personalizada u objetos empresariales personalizados directamente en aplicaciones existentes, y extensibilidad en paralelo, que implica crear aplicaciones o servicios separados para consumir y ampliar objetos empresariales est\u00e1ndar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-arquitectura-de-3-capas-del-modelo-rap\">Arquitectura de 3 capas del modelo RAP<\/h2>\n\n\n\n<p>El modelo RAP tiene tres capas fundamentales, cada una con un rol espec\u00edfico, y proporciona un enfoque estructurado para crear aplicaciones SAP Fiori empresariales y exponer API para interacciones externas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modelado-de-datos-y-comportamiento\">Modelado de datos y comportamiento<\/h3>\n\n\n\n<p>El modelado de datos y la definici\u00f3n del comportamiento son la capa fundamental. Definen las entidades que representan los objetos empresariales y las relaciones entre dichas entidades.<\/p>\n\n\n\n<p>Las vistas Core Data Services se utilizan para definir modelos de datos que se pueden reutilizar y para definir la estructura de las entidades, incluyendo sus atributos, asociaciones y aplicar diferentes filtros y c\u00e1lculos, as\u00ed como anotaciones a fin de proporcionar metadatos para el consumo de la interfaz de usuario.<\/p>\n\n\n\n<p>La definici\u00f3n del comportamiento es el paso que define qu\u00e9 acciones son posibles con una estructura de datos, como operaciones de creaci\u00f3n, actualizaci\u00f3n y eliminaci\u00f3n.<\/p>\n\n\n\n<p>El modelo de datos y las operaciones disponibles se definen en la base de datos. Sin embargo, la l\u00f3gica real para ejecutar estas operaciones se implementa en las clases ABAP, que contienen la l\u00f3gica empresarial para la creaci\u00f3n, actualizaci\u00f3n, eliminaci\u00f3n y otras operaciones personalizadas realizadas sobre los objetos empresariales.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-servicio-empresarial\">Servicio empresarial<\/h3>\n\n\n\n<p>La capa de servicio empresarial es responsable de exponer la estructura de datos y el comportamiento definido en la primera capa como un servicio consumible. La definici\u00f3n del servicio se escribe para especificar qu\u00e9 entidades CDS y su comportamiento estar\u00e1n expuestos, controlando as\u00ed el alcance del servicio.<\/p>\n\n\n\n<p>La definici\u00f3n de la vinculaci\u00f3n de servicio es el segundo paso que especifica el protocolo que se utilizar\u00e1 para la comunicaci\u00f3n con el servicio, es decir, OData v2 u OData v4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-consumo-del-servicio\">Consumo del servicio<\/h3>\n\n\n\n<p>El consumo del servicio se refiere a la capa donde los clientes o las aplicaciones utilizan los servicios expuestos. Cuando un servicio est\u00e1 destinado a una aplicaci\u00f3n SAP Fiori Elements, se lo denomina servicio de IU, y su prop\u00f3sito es proporcionar datos y metadatos que Fiori Elements utiliza para generar autom\u00e1ticamente pantallas, tablas y formularios.<\/p>\n\n\n\n<p>El servicio se puede exponer como una API web para que lo consuma cualquier cliente OData y este tipo de servicio no incluye metadatos espec\u00edficos de la interfaz de usuario. Estos servicios son ideales para la integraci\u00f3n con sistemas no SAP, aplicaciones m\u00f3viles o cualquier aplicaci\u00f3n personalizada que requiera interacci\u00f3n con datos y l\u00f3gica empresariales.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-evolucion-de-los-modelos-de-programacion-abap\">Evoluci\u00f3n de los modelos de programaci\u00f3n ABAP<\/h3>\n\n\n\n<p>La programaci\u00f3n ABAP ha evolucionado desde la codificaci\u00f3n de estilo libre hasta el modelo RESTful Application Programming, adapt\u00e1ndose a los cambios en el paradigma tecnol\u00f3gico, las transformaciones arquitect\u00f3nicas y las necesidades de desarrollo, especialmente despu\u00e9s de la llegada de <a href=\"https:\/\/pathlock.com\/blog\/sap-fiori\/\">SAP Fiori <\/a>y el desarrollo nativo de la nube.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-programacion-abap-clasica\">Programaci\u00f3n ABAP cl\u00e1sica<\/h4>\n\n\n\n<p>En los modelos cl\u00e1sicos, los desarrolladores sol\u00edan escribir c\u00f3digo ABAP en un estilo procedimental e imperativo, accediendo directamente a las bases de datos y mezclando la l\u00f3gica empresarial con la de interfaz de usuario, lo que generaba un fuerte acoplamiento y, en consecuencia, hac\u00eda que la base de c\u00f3digo fuera m\u00e1s compleja de mantener.<\/p>\n\n\n\n<p>La interfaz de usuario se constru\u00eda con herramientas como SAPscript, Smart Forms y la programaci\u00f3n de di\u00e1logos (Dynpro). Esto implicaba la creaci\u00f3n de pantallas con elementos de la interfaz de usuario y su vinculaci\u00f3n con la l\u00f3gica ABAP, as\u00ed como con los m\u00f3dulos Process Before Output (PBO) y Process After Input (PAI). Dynpro era eficaz para las aplicaciones de escritorio tradicionales, pero carec\u00eda de capacidades modernas de dise\u00f1o responsivo.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-modelo-de-programacion-abap-para-sap-fiori\">Modelo de programaci\u00f3n ABAP para SAP Fiori<\/h4>\n\n\n\n<p>Con la llegada de SAP Fiori, surgi\u00f3 un nuevo modelo de programaci\u00f3n orientado a adaptarse a las necesidades de la experiencia de usuario moderna y responsiva. Este modelo se centra en la creaci\u00f3n manual de OData con la herramienta SAP Gateway Service Builder (SEGW). Los desarrolladores definen manualmente entidades, propiedades y asociaciones, e implementan las operaciones de creaci\u00f3n, lectura, actualizaci\u00f3n y eliminaci\u00f3n (CRUD).<\/p>\n\n\n\n<p>Mediante el mecanismo <em>OData.publish<\/em>, los servicios OData se registran y publican para su consumo en SAP Gateway, que act\u00faa como un hub para la exposici\u00f3n y gesti\u00f3n de servicios OData.<\/p>\n\n\n\n<p>Core Data Services permiti\u00f3 a los desarrolladores definir modelos de datos sem\u00e1nticamente ricos para la creaci\u00f3n de entidades, asociaciones y c\u00e1lculos en la base de datos.  Business Object Processing Framework (BOPF) basado en CDS fue dise\u00f1ado para simplificar la implementaci\u00f3n de la l\u00f3gica de los objetos empresariales, tales como comportamiento, validaciones y operaciones de CRUD.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-modelo-abap-restful-application-programming\">Modelo ABAP RESTful Application Programming<\/h4>\n\n\n\n<p>RAP representa la evoluci\u00f3n m\u00e1s reciente, dise\u00f1ado para la creaci\u00f3n eficiente de aplicaciones listas para la nube para SAP S\/4HANA y SAP BTP.<\/p>\n\n\n\n<p>Centraliza el concepto de servicio empresarial, encapsulando tanto los aspectos de datos como de comportamiento, tales como qu\u00e9 entidades y comportamientos se expondr\u00e1n para aplicaciones SAP Fiori o externas, y mediante qu\u00e9 protocolo.<\/p>\n\n\n\n<p>Core Data Services (CDS) sigue siendo un componente central dentro de RAP, ya que permite la definici\u00f3n de modelos de datos reutilizables y anotaciones para la generaci\u00f3n autom\u00e1tica de interfaces de usuario de Fiori Elements.<\/p>\n\n\n\n<p>RAP separa la definici\u00f3n del comportamiento de su implementaci\u00f3n. Una especificaci\u00f3n declarativa define qu\u00e9 operaciones son posibles, mientras que la implementaci\u00f3n del comportamiento es donde reside el c\u00f3digo ABAP para implementar la l\u00f3gica de los comportamientos definidos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-pasos-en-el-proceso-de-desarrollo-de-rap\">Pasos en el proceso de desarrollo de RAP<\/h2>\n\n\n\n<p>El proceso de desarrollo de aplicaciones en RAP comienza con la definici\u00f3n de la estructura de datos subyacente con sus relaciones, comportamiento y metadatos para exponer el servicio que puede ser consumido por Fiori Elements o aplicaciones externas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-proporcionar-las-tablas-de-la-base-de-datos\">1. Proporcionar las tablas de la base de datos<\/h3>\n\n\n\n<p>El primer paso es elegir qu\u00e9 tablas se utilizar\u00e1n para almacenar los datos empresariales. Estas pueden ser tablas SAP est\u00e1ndar existentes o tablas definidas personalizadas. Agregue explicaciones al integrar las heredadas y sobre cualquier modificaci\u00f3n realizada a las tablas, si no estaban basadas en CDS. Crear nuevas tablas, con atributos personalizados espec\u00edficos de la aplicaci\u00f3n, tambi\u00e9n es una opci\u00f3n adecuada para una implementaci\u00f3n limpia y separada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-definir-el-modelo-de-datos\">2. Definir el modelo de datos<\/h3>\n\n\n\n<p>El siguiente paso es definir el modelo de datos, mediante la creaci\u00f3n de vistas CDS que representen los objetos empresariales. Estas vistas pueden constar de una sola tabla como una vista CDS simple o unir m\u00faltiples tablas para crear vistas compuestas con definiciones de relaci\u00f3n primario-secundario para objetos empresariales complejos.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Los objetos empresariales simples representan completamente un producto o cliente con todos los atributos y comportamientos relevantes encapsulados dentro de una vista CDS.<\/li>\n\n\n\n<li>Los objetos empresariales compuestos abordan escenarios empresariales complejos que involucran m\u00faltiples entidades, como un pedido de ventas, que puede no ser una entidad \u00fanica y podr\u00eda vincularse con el encabezado del pedido de ventas y los art\u00edculos de dicho pedido.<\/li>\n<\/ul>\n\n\n\n<p>La relaci\u00f3n primario-secundario define la asociaci\u00f3n y la composici\u00f3n en CDS, lo cual admite el comportamiento transaccional y garantiza la coherencia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-definir-e-implementar-el-comportamiento-solo-para-aplicaciones-transaccionales\">3. Definir e implementar el comportamiento (solo para aplicaciones transaccionales)<\/h3>\n\n\n\n<p>El modelo de datos define la estructura del objeto empresarial. Por el contrario, la definici\u00f3n y la implementaci\u00f3n del comportamiento determinan c\u00f3mo se comportar\u00e1 transaccionalmente, incluidas las operaciones admitidas, como crear, actualizar y eliminar. Aqu\u00ed se implementan operaciones personalizadas con verificaciones de validaci\u00f3n antes de guardar los datos.<\/p>\n\n\n\n<p>Behavior Pool, una clase ABAP global, se utiliza para la implementaci\u00f3n del comportamiento, y es donde se escribe el c\u00f3digo ABAP real.<\/p>\n\n\n\n<p>Las funciones clave de las aplicaciones transaccionales son las siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Habilitaci\u00f3n de borradores<\/strong>: permite que los usuarios finales guarden datos empresariales incompletos como borradores, sin realizar una confirmaci\u00f3n definitiva, lo que mejora la experiencia de usuario al permitir pausar y retomar el trabajo posteriormente.<\/li>\n\n\n\n<li><strong>Numeraci\u00f3n autom\u00e1tica:<\/strong> generaci\u00f3n \u00fanica y secuencial de claves para entidades que requieren identificadores \u00fanicos, como los n\u00fameros de pedidos de ventas.<\/li>\n\n\n\n<li><strong>Validaciones:<\/strong> Verificaciones de coherencia de datos implementadas para verificar que los formatos de entrada y los valores esperados cumplan con la l\u00f3gica empresarial. Por ejemplo, las fechas de entrega no pueden estar en el pasado y los formatos de n\u00fameros telef\u00f3nicos deben ser correctos.<\/li>\n\n\n\n<li><strong>Determinaciones:<\/strong> campos que se calculan autom\u00e1ticamente en funci\u00f3n de la entrada en otros campos. Por ejemplo, el nombre completo se completa autom\u00e1ticamente a partir del nombre y apellido, o al ingresar un nombre de producto, se completan autom\u00e1ticamente su descripci\u00f3n y precios.<\/li>\n<\/ul>\n\n\n\n<p>La implementaci\u00f3n del comportamiento puede omitirse si la aplicaci\u00f3n es exclusivamente de visualizaci\u00f3n de datos, como un informe de listas o un reporte anal\u00edtico, y no requiere operaciones de modificaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-proyectar-el-objeto-empresarial-de-rap\">4. Proyectar el objeto empresarial de RAP<\/h3>\n\n\n\n<p>En lugar de exponer todos los campos de la vista CDS subyacente, se exponen subconjuntos seleccionados de campos con vistas de proyecci\u00f3n CDS para un servicio en particular. Se puede cambiar el nombre de los campos o agregar campos calculados previamente espec\u00edficos de la interfaz de usuario, y se puede utilizar una convenci\u00f3n de nomenclatura como ZC_ para mantener la coherencia.<\/p>\n\n\n\n<p>De forma similar al modelo de proyecci\u00f3n de datos, la proyecci\u00f3n del comportamiento permite habilitar o deshabilitar operaciones espec\u00edficas, como crear, eliminar y actualizar, en el servicio. Por ejemplo, en lugar de eliminar la operaci\u00f3n de eliminaci\u00f3n en el comportamiento de CDS, este comportamiento no se expone en el servicio.<\/p>\n\n\n\n<p>Se agregan anotaciones espec\u00edficas de la interfaz de usuario a la vista de proyecci\u00f3n para definir c\u00f3mo se deben mostrar los datos en la interfaz de usuario de Fiori Elements y controlar aspectos como etiquetas de campo, capacidades de b\u00fasqueda y funciones anal\u00edticas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-definir-el-servicio\">5. Definir el servicio<\/h3>\n\n\n\n<p>La definici\u00f3n del servicio es un objeto del repositorio que hace referencia a una o varias vistas de proyecci\u00f3n CDS y act\u00faa como un contenedor de las entidades que se expondr\u00e1n como un servicio.<\/p>\n\n\n\n<p>Se suele utilizar la convenci\u00f3n de nomenclatura Z y se describen anotaciones espec\u00edficas para controlar la exposici\u00f3n y las propiedades de navegaci\u00f3n de la interfaz de usuario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-vincular-el-servicio-y-probarlo\">6. Vincular el servicio y probarlo<\/h3>\n\n\n\n<p>El paso final es definir la vinculaci\u00f3n del servicio mediante la descripci\u00f3n de los m\u00e9todos de consumo, es decir, la interfaz de usuario Fiori o aplicaciones externas, y el protocolo, como OData v2 o v4.<\/p>\n\n\n\n<p>Para los servicios de la interfaz de usuario, los desarrolladores pueden habilitar la vista previa para generar autom\u00e1ticamente una previsualizaci\u00f3n de <a href=\"https:\/\/pathlock.com\/blog\/sap-fiori\/sap-fiori-elements\/\">Fiori Elements<\/a>, lo que les permite probar r\u00e1pidamente la funcionalidad sin desarrollar la aplicaci\u00f3n Fiori completa.<\/p>\n\n\n\n<p>Generalmente, se utiliza la convenci\u00f3n de nomenclatura <strong>ZUI_&lt;service_Name&gt;_04<\/strong> para el servicio de la interfaz de usuario del protocolo OData v4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-implementacion-de-los-objetivos-empresariales\">Implementaci\u00f3n de los objetivos empresariales<\/h2>\n\n\n\n<p>Existen dos enfoques principales para implementar los tipos de objetos empresariales en RAP: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gestionados<\/li>\n\n\n\n<li>No gestionados<\/li>\n<\/ul>\n\n\n\n<p>Ambos m\u00e9todos se basan en modelos de datos definidos por entidades de vistas CDS. La diferencia radica en el aprovisionamiento del comportamiento transaccional del objeto empresarial. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-objetivos-empresariales-gestionados\">Objetivos empresariales gestionados<\/h3>\n\n\n\n<p>La implementaci\u00f3n de tipo Gestionados se utiliza principalmente cuando una aplicaci\u00f3n se desarrolla desde cero, aunque tambi\u00e9n puede aprovechar el soporte listo para usar para el procesamiento transaccional. El marco proporciona validaciones y determinaciones est\u00e1ndar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-objetivos-empresariales-no-gestionados\">Objetivos empresariales no gestionados<\/h3>\n\n\n\n<p>El enfoque No gestionados se adopta para tener control total sobre la l\u00f3gica transaccional, las operaciones CRUD y la persistencia de datos al manejar l\u00f3gica empresarial compleja e interacci\u00f3n con m\u00faltiples sistemas. Los desarrolladores deben implementar componentes esenciales del contrato REST. El comportamiento debe especificarse en su definici\u00f3n, pero implementarse manualmente en clases ABAP dentro de Behavior Pool.<\/p>\n\n\n\n<p>Cuando la l\u00f3gica empresarial ya est\u00e1 encapsulada en m\u00f3dulos funcionales, el enfoque No gestionados ayuda a los desarrolladores a reutilizar la l\u00f3gica existente en los objetos empresariales. Este enfoque puede beneficiarse de la orquestaci\u00f3n est\u00e1ndar de ejecuci\u00f3n de RAP para crear un servicio RAP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-reutilizacion-de-servicios-y-bibliotecas\">Reutilizaci\u00f3n de servicios y bibliotecas<\/h2>\n\n\n\n<p>ABAP RAP proporciona una colecci\u00f3n de funcionalidades, API y componentes predise\u00f1ados para su uso en m\u00faltiples aplicaciones o servicios. La reutilizaci\u00f3n de servicios y bibliotecas existentes permite a los desarrolladores ahorrar tiempo y esfuerzo en tareas como verificaciones de autorizaci\u00f3n estandarizadas, determinaciones de texto y c\u00f3digo redundante, lo que les posibilita concentrarse en la l\u00f3gica empresarial \u00fanica espec\u00edfica de la aplicaci\u00f3n.<\/p>\n\n\n\n<p>Las bibliotecas y servicios predefinidos proporcionan funcionalidades gen\u00e9ricas listas para usar aplicables en varios dominios empresariales, como administraci\u00f3n de borradores, control y validaciones de campos, gesti\u00f3n del procesamiento transaccional, utilidades de fecha y hora, manejo de Etag para control de concurrencia de datos, generaci\u00f3n de registros estandarizados y seguimiento de errores o eventos.<\/p>\n\n\n\n<p>RAP permite crear l\u00f3gica personalizada espec\u00edfica del dominio para estos servicios internos o bibliotecas, y estos servicios personalizados se pueden reutilizar en cualquier lugar.<\/p>\n\n\n\n<p>La capacidad de reutilizar bibliotecas est\u00e1ndar o personalizadas permite a los desarrolladores reducir el c\u00f3digo repetitivo. Esto no solo acelera el proceso de desarrollo, sino que tambi\u00e9n mejora la capacidad de mantenimiento. La reutilizaci\u00f3n de servicios y bibliotecas est\u00e1 dise\u00f1ada para integrarse dentro de las aplicaciones, lo que permite a los desarrolladores llamar a servicios externos o invocar funciones de biblioteca directamente desde sus implementaciones de comportamiento y vistas de proyecci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-preguntas-frecuentes\">Preguntas frecuentes<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1750180110217\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1ndo debo utilizar RAP?<\/strong> <p class=\"schema-faq-answer\">El modelo de programaci\u00f3n ABAP RESTful se utiliza para desarrollar nuevas aplicaciones Fiori, crear servicios OData para exponer la l\u00f3gica empresarial, modernizar el c\u00f3digo personalizado existente al actualizar a S\/4HANA y desarrollar extensibilidad en S\/4HANA.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1750180118810\"><strong class=\"schema-faq-question\">\u00bfQu\u00e9 tipos de servicios se pueden desarrollar?<\/strong> <p class=\"schema-faq-answer\">Principalmente, el modelo RAP se utiliza para desarrollar servicios OData que exponen datos y servicios dentro del ecosistema SAP, lo que permite operaciones comerciales en la interfaz de usuario SAP Fiori o la interacci\u00f3n con aplicaciones de terceros. Estos servicios pueden presentarse en forma de servicios OData, API y servicios anal\u00edticos que proporcionan funcionalidades de solo lectura.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1750180127912\"><strong class=\"schema-faq-question\">\u00bfQu\u00e9 es un objeto empresarial y en qu\u00e9 se diferencia de un servicio empresarial?<\/strong> <p class=\"schema-faq-answer\">Un objeto empresarial es un modelo l\u00f3gico de datos que representa una operaci\u00f3n o entidad comercial del mundo real, es decir, Sales_Order, Product_Name, Employee, y encapsula la estructura de datos, la l\u00f3gica empresarial, las validaciones y el comportamiento. A su vez, un servicio empresarial es una interfaz mediante la cual los datos y el comportamiento de un objeto empresarial se ponen a disposici\u00f3n de otras aplicaciones, para su consumo e interacci\u00f3n en la ejecuci\u00f3n de operaciones comerciales.<\/p> <\/div> <\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\"><\/h3>\n\n\n\n<p><a id=\"_msocom_1\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es RESTful Application Programming (RAP)? El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos. El objetivo principal de RAP es&#8230;<\/p>\n","protected":false},"author":71,"featured_media":40046,"parent":45578,"menu_order":0,"template":"","categories":[],"tags":[],"category_blog":[],"class_list":["post-45542","blog","type-blog","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Gu\u00eda del modelo ABAP RESTful Application Programming (RAP)<\/title>\n<meta name=\"description\" content=\"El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Modelo ABAP RESTful Application Programming (RAP)\" \/>\n<meta property=\"og:description\" content=\"El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/\" \/>\n<meta property=\"og:site_name\" content=\"Pathlock\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-30T16:06:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/What-is-ABAP-RAP-Model-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2401\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@pathlock\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"17 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\"},\"author\":{\"name\":\"Jonathan Stross\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#\\\/schema\\\/person\\\/7da38b9091e2f1fe7f88993ac06e19be\"},\"headline\":\"Modelo ABAP RESTful Application Programming (RAP)\",\"datePublished\":\"2025-06-27T08:00:16+00:00\",\"dateModified\":\"2026-04-30T16:06:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\"},\"wordCount\":3965,\"publisher\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/What-is-ABAP-RAP-Model-1.png\",\"inLanguage\":\"es\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\",\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\",\"name\":\"Gu\u00eda del modelo ABAP RESTful Application Programming (RAP)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/What-is-ABAP-RAP-Model-1.png\",\"datePublished\":\"2025-06-27T08:00:16+00:00\",\"dateModified\":\"2026-04-30T16:06:14+00:00\",\"description\":\"El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180110217\"},{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180118810\"},{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180127912\"}],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#primaryimage\",\"url\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/What-is-ABAP-RAP-Model-1.png\",\"contentUrl\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/What-is-ABAP-RAP-Model-1.png\",\"width\":2401,\"height\":1260,\"caption\":\"ABAP Restful Application Programming Model\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pathlock.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SAP\",\"item\":\"https:\\\/\\\/pathlock.com\\\/category_blog\\\/sap\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u00bfQu\u00e9 es SAP ABAP (Advanced Business Application Programming)?\",\"item\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Modelo ABAP RESTful Application Programming (RAP)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/\",\"name\":\"Pathlock\",\"description\":\"The Leader in Application Security and Controls Automation\",\"publisher\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pathlock.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#organization\",\"name\":\"Pathlock, Inc\",\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Zrzut-ekranu-2021-11-17-o-10.56.42.png\",\"contentUrl\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Zrzut-ekranu-2021-11-17-o-10.56.42.png\",\"width\":460,\"height\":148,\"caption\":\"Pathlock, Inc\"},\"image\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/pathlock\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/pathlock\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCgo4izMJ70K4gnyWQ_mP-OA\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#\\\/schema\\\/person\\\/7da38b9091e2f1fe7f88993ac06e19be\",\"name\":\"Jonathan Stross\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/daf206c2a0f397ec69d0ab51ce4b2bdd40568a8aed0181ced917b55b68ad62bf?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/daf206c2a0f397ec69d0ab51ce4b2bdd40568a8aed0181ced917b55b68ad62bf?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/daf206c2a0f397ec69d0ab51ce4b2bdd40568a8aed0181ced917b55b68ad62bf?s=96&d=mm&r=g\",\"caption\":\"Jonathan Stross\"},\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/author\\\/jonathan-stross\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180110217\",\"position\":1,\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180110217\",\"name\":\"\u00bfCu\u00e1ndo debo utilizar RAP?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"El modelo de programaci\u00f3n ABAP RESTful se utiliza para desarrollar nuevas aplicaciones Fiori, crear servicios OData para exponer la l\u00f3gica empresarial, modernizar el c\u00f3digo personalizado existente al actualizar a S\\\/4HANA y desarrollar extensibilidad en S\\\/4HANA.\",\"inLanguage\":\"es\"},\"inLanguage\":\"es\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180118810\",\"position\":2,\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180118810\",\"name\":\"\u00bfQu\u00e9 tipos de servicios se pueden desarrollar?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Principalmente, el modelo RAP se utiliza para desarrollar servicios OData que exponen datos y servicios dentro del ecosistema SAP, lo que permite operaciones comerciales en la interfaz de usuario SAP Fiori o la interacci\u00f3n con aplicaciones de terceros. Estos servicios pueden presentarse en forma de servicios OData, API y servicios anal\u00edticos que proporcionan funcionalidades de solo lectura.\",\"inLanguage\":\"es\"},\"inLanguage\":\"es\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180127912\",\"position\":3,\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180127912\",\"name\":\"\u00bfQu\u00e9 es un objeto empresarial y en qu\u00e9 se diferencia de un servicio empresarial?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Un objeto empresarial es un modelo l\u00f3gico de datos que representa una operaci\u00f3n o entidad comercial del mundo real, es decir, Sales_Order, Product_Name, Employee, y encapsula la estructura de datos, la l\u00f3gica empresarial, las validaciones y el comportamiento. A su vez, un servicio empresarial es una interfaz mediante la cual los datos y el comportamiento de un objeto empresarial se ponen a disposici\u00f3n de otras aplicaciones, para su consumo e interacci\u00f3n en la ejecuci\u00f3n de operaciones comerciales.\",\"inLanguage\":\"es\"},\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Gu\u00eda del modelo ABAP RESTful Application Programming (RAP)","description":"El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","og_locale":"es_ES","og_type":"article","og_title":"Modelo ABAP RESTful Application Programming (RAP)","og_description":"El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.","og_url":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","og_site_name":"Pathlock","article_modified_time":"2026-04-30T16:06:14+00:00","og_image":[{"width":2401,"height":1260,"url":"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/What-is-ABAP-RAP-Model-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@pathlock","twitter_misc":{"Tiempo de lectura":"17 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#article","isPartOf":{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/"},"author":{"name":"Jonathan Stross","@id":"https:\/\/pathlock.com\/es\/#\/schema\/person\/7da38b9091e2f1fe7f88993ac06e19be"},"headline":"Modelo ABAP RESTful Application Programming (RAP)","datePublished":"2025-06-27T08:00:16+00:00","dateModified":"2026-04-30T16:06:14+00:00","mainEntityOfPage":{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/"},"wordCount":3965,"publisher":{"@id":"https:\/\/pathlock.com\/es\/#organization"},"image":{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#primaryimage"},"thumbnailUrl":"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/What-is-ABAP-RAP-Model-1.png","inLanguage":"es"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","url":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","name":"Gu\u00eda del modelo ABAP RESTful Application Programming (RAP)","isPartOf":{"@id":"https:\/\/pathlock.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#primaryimage"},"image":{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#primaryimage"},"thumbnailUrl":"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/What-is-ABAP-RAP-Model-1.png","datePublished":"2025-06-27T08:00:16+00:00","dateModified":"2026-04-30T16:06:14+00:00","description":"El modelo ABAP RESTful Application Programming, desarrollado por SAP, est\u00e1 creado \u00edntegramente sobre el lenguaje ABAP y sigue el marco de la transferencia de estado representacional (REST) para crear aplicaciones en una arquitectura cliente-servidor, con una interfaz uniforme para la manipulaci\u00f3n de recursos.","breadcrumb":{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180110217"},{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180118810"},{"@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180127912"}],"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#primaryimage","url":"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/What-is-ABAP-RAP-Model-1.png","contentUrl":"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/What-is-ABAP-RAP-Model-1.png","width":2401,"height":1260,"caption":"ABAP Restful Application Programming Model"},{"@type":"BreadcrumbList","@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pathlock.com\/es\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/pathlock.com\/es\/blog\/"},{"@type":"ListItem","position":3,"name":"SAP","item":"https:\/\/pathlock.com\/category_blog\/sap\/"},{"@type":"ListItem","position":4,"name":"\u00bfQu\u00e9 es SAP ABAP (Advanced Business Application Programming)?","item":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/"},{"@type":"ListItem","position":5,"name":"Modelo ABAP RESTful Application Programming (RAP)"}]},{"@type":"WebSite","@id":"https:\/\/pathlock.com\/es\/#website","url":"https:\/\/pathlock.com\/es\/","name":"Pathlock","description":"The Leader in Application Security and Controls Automation","publisher":{"@id":"https:\/\/pathlock.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pathlock.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/pathlock.com\/es\/#organization","name":"Pathlock, Inc","url":"https:\/\/pathlock.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/pathlock.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/pathlock.com\/wp-content\/uploads\/2021\/11\/Zrzut-ekranu-2021-11-17-o-10.56.42.png","contentUrl":"https:\/\/pathlock.com\/wp-content\/uploads\/2021\/11\/Zrzut-ekranu-2021-11-17-o-10.56.42.png","width":460,"height":148,"caption":"Pathlock, Inc"},"image":{"@id":"https:\/\/pathlock.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/pathlock","https:\/\/www.linkedin.com\/company\/pathlock","https:\/\/www.youtube.com\/channel\/UCgo4izMJ70K4gnyWQ_mP-OA"]},{"@type":"Person","@id":"https:\/\/pathlock.com\/es\/#\/schema\/person\/7da38b9091e2f1fe7f88993ac06e19be","name":"Jonathan Stross","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/daf206c2a0f397ec69d0ab51ce4b2bdd40568a8aed0181ced917b55b68ad62bf?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/daf206c2a0f397ec69d0ab51ce4b2bdd40568a8aed0181ced917b55b68ad62bf?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/daf206c2a0f397ec69d0ab51ce4b2bdd40568a8aed0181ced917b55b68ad62bf?s=96&d=mm&r=g","caption":"Jonathan Stross"},"url":"https:\/\/pathlock.com\/es\/author\/jonathan-stross\/"},{"@type":"Question","@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180110217","position":1,"url":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180110217","name":"\u00bfCu\u00e1ndo debo utilizar RAP?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"El modelo de programaci\u00f3n ABAP RESTful se utiliza para desarrollar nuevas aplicaciones Fiori, crear servicios OData para exponer la l\u00f3gica empresarial, modernizar el c\u00f3digo personalizado existente al actualizar a S\/4HANA y desarrollar extensibilidad en S\/4HANA.","inLanguage":"es"},"inLanguage":"es"},{"@type":"Question","@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180118810","position":2,"url":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180118810","name":"\u00bfQu\u00e9 tipos de servicios se pueden desarrollar?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Principalmente, el modelo RAP se utiliza para desarrollar servicios OData que exponen datos y servicios dentro del ecosistema SAP, lo que permite operaciones comerciales en la interfaz de usuario SAP Fiori o la interacci\u00f3n con aplicaciones de terceros. Estos servicios pueden presentarse en forma de servicios OData, API y servicios anal\u00edticos que proporcionan funcionalidades de solo lectura.","inLanguage":"es"},"inLanguage":"es"},{"@type":"Question","@id":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180127912","position":3,"url":"https:\/\/pathlock.com\/es\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180127912","name":"\u00bfQu\u00e9 es un objeto empresarial y en qu\u00e9 se diferencia de un servicio empresarial?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Un objeto empresarial es un modelo l\u00f3gico de datos que representa una operaci\u00f3n o entidad comercial del mundo real, es decir, Sales_Order, Product_Name, Employee, y encapsula la estructura de datos, la l\u00f3gica empresarial, las validaciones y el comportamiento. A su vez, un servicio empresarial es una interfaz mediante la cual los datos y el comportamiento de un objeto empresarial se ponen a disposici\u00f3n de otras aplicaciones, para su consumo e interacci\u00f3n en la ejecuci\u00f3n de operaciones comerciales.","inLanguage":"es"},"inLanguage":"es"}]}},"ACF":{"cta":{"title":"Download Ebook","url":"https:\/\/pathlock.com\/resource\/access-orchestration-for-the-digital-enterprise\/","target":"_blank"},"vistia_player":false,"post_cta":false,"reviewed_by":false,"description":"Flujos de trabajo de desarrollo seguros: ABAP a trav\u00e9s de orquestaci\u00f3n, aprovisionamiento consciente de riesgos y automatizaci\u00f3n de pol\u00edticas.","heading":"C\u00f3mo fortalecer ABAP con controles modernos\t"},"_links":{"self":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/blog\/45542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/users\/71"}],"up":[{"embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/blog\/45578"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/media\/40046"}],"wp:attachment":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/media?parent=45542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/categories?post=45542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/tags?post=45542"},{"taxonomy":"category_blog","embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/category_blog?post=45542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}