{"id":45539,"date":"2025-06-27T04:00:16","date_gmt":"2025-06-27T08:00:16","guid":{"rendered":"https:\/\/pathlock.com\/blog\/abap-restful-application-programming-model-rap\/"},"modified":"2026-04-30T12:04:00","modified_gmt":"2026-04-30T16:04:00","slug":"abap-restful-application-programming-model-rap","status":"publish","type":"blog","link":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","title":{"rendered":"ABAP RESTful Application Programming Model (RAP)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-o-que-e-restful-application-programming-rap\">O que \u00e9 RESTful Application Programming (RAP)?<\/h2>\n\n\n\n<p>O<a href=\"https:\/\/pathlock.com\/pt\/?post_type=blog&#038;p=45581\"> ABAP<\/a> RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente usando linguagem <a href=\"https:\/\/pathlock.com\/blog\/sap-abap\/\" data-internallinksmanager029f6b8e52c=\"79\" title=\"sap-abap\">ABAP<\/a> e segue o framework da Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o de recursos.<\/p>\n\n\n\n<p>O principal objetivo do RAP (RESTful Application Programming) \u00e9 permitir que os desenvolvedores criem, de forma eficiente, aplicativos empresariais prontos para a nuvem que gerenciem diferentes transa\u00e7\u00f5es comerciais na forma de servi\u00e7os OData padr\u00e3o ou criem extens\u00f5es para aplicativos existentes sem modificar o c\u00f3digo padr\u00e3o atual.  Eles oferecem suporte ao desenvolvimento de ponta a ponta, desde a modelagem de dados at\u00e9 a exposi\u00e7\u00e3o e compacta\u00e7\u00e3o do servi\u00e7o com <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>O RAP oferece suporte ao desenvolvimento para diversas plataformas SAP, incluindo o SAP BTP ABAP para a cria\u00e7\u00e3o de aplicativos e extens\u00f5es nativos da nuvem, bem como o SAP S\/4HANA Cloud (Public e Private Edition), que oferece suporte a desenvolvimentos personalizados compat\u00edveis com as inova\u00e7\u00f5es cont\u00ednuas e os ciclos de atualiza\u00e7\u00e3o da nuvem. O RAP est\u00e1 dispon\u00edvel para SAP S\/4HANA locais desde a vers\u00e3o 1909, permitindo que os clientes desenvolvam aplicativos usando pr\u00e1ticas de desenvolvimento modernas e criem aplicativos preparados para o futuro.<\/p>\n\n\n\n<p>O RAP desempenha um papel fundamental no modelo de desenvolvimento em nuvem ABAP para aplicativos transacionais, utilizando o Core Data Services (CDS) para definir estruturas e visualiza\u00e7\u00f5es de dados, fornecendo mecanismos de implementa\u00e7\u00e3o da l\u00f3gica comercial e garantindo a integridade dos dados durante as transa\u00e7\u00f5es.<\/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-porque-aprender-restful-application-programming\">Porque Aprender RESTful Application Programming?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-evolucao-das-necessidades-do-aplicativo-de-negocios\">Evolu\u00e7\u00e3o das Necessidades do Aplicativo de Neg\u00f3cios<\/h3>\n\n\n\n<p>O RAP n\u00e3o \u00e9 apenas um novo framework de desenvolvimento; \u00e9 o modelo de programa\u00e7\u00e3o estrat\u00e9gica da SAP para adotar o paradigma moderno na cria\u00e7\u00e3o de aplicativos empresariais de neg\u00f3cios dentro do ecossistema SAP.<\/p>\n\n\n\n<p>Os aplicativos empresariais modernos exigem insights imediatos de seus dados operacionais para embasar a tomada de decis\u00f5es. Posteriormente, os recursos de an\u00e1lise est\u00e3o sendo incorporados em aplicativos transacionais para obter insights sem a necessidade de mudar de contexto.  O RAP permite a integra\u00e7\u00e3o direta de dados com o treinamento e a an\u00e1lise de modelos de IA, reduzindo a necessidade de replica\u00e7\u00e3o e processamento complexos de dados.<\/p>\n\n\n\n<p>O RAP \u00e9 otimizado para o banco de dados SAP HANA, aproveitando todo o potencial dos recursos de processamento em mem\u00f3ria dele e executando opera\u00e7\u00f5es como jun\u00e7\u00f5es, agrega\u00e7\u00f5es e c\u00e1lculos complexos em taxas mais altas, que antes eram gargalos de desempenho em bancos de dados tradicionais.<\/p>\n\n\n\n<p>O SAP Fiori introduziu uma nova linguagem de design e um novo paradigma de experi\u00eancia do usu\u00e1rio para aplicativos SAP, caracterizada pela simplicidade, consist\u00eancia e acesso baseado em fun\u00e7\u00f5es. O RAP permite que os desenvolvedores exponham objetos de neg\u00f3cios como servi\u00e7os OData, possibilitando uma integra\u00e7\u00e3o perfeita com elementos do Fiori e uma experi\u00eancia consistente em v\u00e1rios dispositivos.<\/p>\n\n\n\n<p>O RAP foi projetado tendo em mente os princ\u00edpios de nuvem, e os aplicativos s\u00e3o inerentemente otimizados para o ambiente SAP BTP ABAP, permitindo tanto a extensibilidade no aplicativo quanto extens\u00f5es simult\u00e2neas. Isso o torna ideal para implanta\u00e7\u00f5es nativas da nuvem e h\u00edbridas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-expectativas-do-usuario-final\">Expectativas do Usu\u00e1rio Final<\/h3>\n\n\n\n<p>A interface do Fiori UX consome diretamente os servi\u00e7os RAP OData, proporcionando uma experi\u00eancia de usu\u00e1rio consistente em diferentes dispositivos e mantendo o contexto. O princ\u00edpio fundamental do RAP promove a aus\u00eancia de estado, permitindo que as sess\u00f5es dos usu\u00e1rios sejam facilmente retomadas onde foram interrompidas em qualquer dispositivo, no pr\u00f3ximo dispositivo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-qualidades-do-produto-pronto-para-uso\">Qualidades do Produto (pronto para uso)<\/h3>\n\n\n\n<p>Os princ\u00edpios de programa\u00e7\u00e3o RAP permitem que os desenvolvedores adicionem v\u00e1rias qualidades essenciais por padr\u00e3o, sem a necessidade de esfor\u00e7os adicionais ap\u00f3s o desenvolvimento:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Escalabilidade:<\/strong> A arquitetura sem estado do RAP e a intera\u00e7\u00e3o otimizada com o SAP HANA permitem, inerentemente, a escalabilidade, permitindo que os aplicativos sejam implantados de forma distribu\u00edda e facilmente escalados em ambientes de nuvem.<\/li>\n\n\n\n<li><strong>Testabilidade:<\/strong> O RAP fornece ferramentas e t\u00e9cnicas integradas para testar a l\u00f3gica dos aplicativos e promover a separa\u00e7\u00e3o das camadas l\u00f3gicas, tornando os testes de unidade e a defini\u00e7\u00e3o de comportamento mais f\u00e1ceis de manter.<\/li>\n\n\n\n<li><strong>Extensibilidade:<\/strong> O RAP permite que os desenvolvedores criem pontos de extens\u00e3o bem definidos em seus aplicativos, possibilitando modifica\u00e7\u00f5es e adi\u00e7\u00f5es de novos recursos sem a necessidade de altera\u00e7\u00f5es no c\u00f3digo-fonte.<\/li>\n\n\n\n<li><strong>Suportabilidade<\/strong>: Os aplicativos desenvolvidos s\u00e3o facilmente mantidos, com recursos detalhados de diagn\u00f3stico e depura\u00e7\u00e3o ap\u00f3s a implanta\u00e7\u00e3o.<\/li>\n\n\n\n<li><strong>Documentabilidade<\/strong>: A natureza declarativa do RAP, como as defini\u00e7\u00f5es de CDS (Core Data Services) e o modelo de programa\u00e7\u00e3o estruturada, leva inerentemente a uma melhor documenta\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-nocoes-basicas-de-rap\">No\u00e7\u00f5es b\u00e1sicas de RAP<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-que-e-um-objeto-de-negocio\">O que \u00e9 um objeto de neg\u00f3cio?<\/h3>\n\n\n\n<p>Um objeto de neg\u00f3cio no RAP representa uma entidade ou conceito de neg\u00f3cio do mundo real dentro de um dom\u00ednio de neg\u00f3cios, como Pedido de Venda, Cliente, Produto ou Funcion\u00e1rio. Ele engloba todos os seus dados, comportamentos e relacionamentos. O objeto de neg\u00f3cio \u00e9 a unidade central de controle para a manipula\u00e7\u00e3o consistente de dados e a integridade transacional, definindo a estrutura dos dados, as regras que regem a manipula\u00e7\u00e3o de dados e o ciclo de vida de uma entidade de neg\u00f3cio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-que-e-uma-consulta\">O que \u00e9 uma consulta?<\/h3>\n\n\n\n<p>Uma consulta \u00e9 a interface somente leitura que se conecta para acessar dados para consumo e \u00e9 constru\u00edda sobre as Core Data Services (CDS) Views, sendo usada principalmente para recuperar e exibir dados de neg\u00f3cios. Elas fornecem uma maneira estruturada de recuperar, filtrar, classificar e agregar dados, muitas vezes servindo como fonte de dados para pain\u00e9is anal\u00edticos, funcionalidades de pesquisa ou listas de objetos na interface do usu\u00e1rio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-que-e-um-servico-de-negocios\">O que \u00e9 um servi\u00e7o de neg\u00f3cios?<\/h3>\n\n\n\n<p>Os servi\u00e7os de neg\u00f3cios no RAP fornecem uma interface externa para acessar as funcionalidades de objetos de neg\u00f3cios, tanto de leitura quanto de grava\u00e7\u00e3o, que podem ser acessados por meio da interface do usu\u00e1rio do aplicativo Fiori para usu\u00e1rios finais ou sistemas externos. Os servi\u00e7os de neg\u00f3cios s\u00e3o normalmente expostos por meio de uma defini\u00e7\u00e3o de servi\u00e7o, que descreve o que o servi\u00e7o oferece, e uma associa\u00e7\u00e3o de servi\u00e7o, que especifica como ele \u00e9 exposto usando um protocolo espec\u00edfico, como OData v2 ou v4, interface do usu\u00e1rio, API da Web, etc.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-o-que-e-um-evento-de-negocios\">O que \u00e9 um evento de neg\u00f3cios?<\/h3>\n\n\n\n<p>Um evento de neg\u00f3cios no RAP representa um acionador ou uma notifica\u00e7\u00e3o definidos que sinaliza uma altera\u00e7\u00e3o ou a\u00e7\u00e3o significativa que ocorre dentro de um objeto de neg\u00f3cios, podendo desencadear outros eventos em aplicativos ou servi\u00e7os que estejam vinculados. Por exemplo, um \u201cpedido de venda criado\u201d ou um \u201cpre\u00e7o do produto alterado\u201d \u00e9 um evento de neg\u00f3cios que pode ser consumido por outros aplicativos ou fluxos de trabalho para processamento posterior. As Defini\u00e7\u00f5es de Eventos e as Associa\u00e7\u00f5es de Eventos s\u00e3o definidas e utilizadas para integra\u00e7\u00e3o ass\u00edncrona entre servi\u00e7os por meio do SAP Event Mesh ou da l\u00f3gica personalizada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modelagem-de-dados\">Modelagem de dados<\/h3>\n\n\n\n<p>A modelagem de dados no RAP \u00e9 realizada usando o Core Data Services (CDS), que define Entidades (estruturas de dados), suas associa\u00e7\u00f5es (relacionamentos com outras entidades) e proje\u00e7\u00f5es com visualiza\u00e7\u00f5es personalizadas para exposi\u00e7\u00e3o. A modelagem de dados \u00e9 o principal ponto para definir toda a estrutura do aplicativo sob a perspectiva do fluxo de dados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-linguagem-abap\">Linguagem ABAP<\/h3>\n\n\n\n<p>A linguagem ABAP moderna serve como base para a implementa\u00e7\u00e3o da l\u00f3gica de neg\u00f3cios no RAP, aproveitando seus recursos, incluindo a Linguagem de Manipula\u00e7\u00e3o de Entidades (EML), anota\u00e7\u00f5es e conceitos orientados a objetos, bem como suas extensas bibliotecas e recursos de tratamento de erros.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ferramentas\">Ferramentas<\/h3>\n\n\n\n<p>O desenvolvimento RAP \u00e9 suportado por um conjunto diferente de ferramentas, como o CDS Editor, ABAP Source Code Editors, ADT Wizards e o Services Binding Editor, que est\u00e3o integrados principalmente nas ABAP Development Tools (ADT) do Eclipse IDE (uma plataforma de desenvolvimento de c\u00f3digo aberto amplamente utilizada para desenvolvimento de software).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-extensibilidade\">Extensibilidade<\/h3>\n\n\n\n<p>O RAP fornece mecanismos de extensibilidade integrados, permitindo que clientes e parceiros aprimorem ou adaptem objetos e servi\u00e7os de neg\u00f3cios padr\u00e3o sem modificar a base de c\u00f3digo principal. Fornece um mecanismo preciso para ambos os tipos de extensibilidade: extensibilidade no aplicativo, que permite adicionar campos personalizados, l\u00f3gica personalizada ou objetos de neg\u00f3cios personalizados diretamente em aplicativos existentes, e extensibilidade simult\u00e2nea, que envolve a cria\u00e7\u00e3o de aplicativos ou servi\u00e7os separados para consumir e estender objetos de neg\u00f3cios padr\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-arquitetura-de-3-camadas-do-modelo-rap\">Arquitetura de 3 Camadas do Modelo RAP<\/h2>\n\n\n\n<p>O modelo RAP tem tr\u00eas camadas fundamentais, cada uma com uma fun\u00e7\u00e3o espec\u00edfica, e fornece uma abordagem estruturada para a cria\u00e7\u00e3o de aplicativos SAP Fiori de n\u00edvel empresarial e para a exposi\u00e7\u00e3o de APIs para intera\u00e7\u00f5es externas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modelagem-de-dados-e-comportamento\">Modelagem de Dados e Comportamento<\/h3>\n\n\n\n<p>A modelagem de dados e a defini\u00e7\u00e3o de comportamento s\u00e3o a camada fundamental. Elas definem as entidades que representam objetos de neg\u00f3cio e os relacionamentos entre essas entidades.<\/p>\n\n\n\n<p>As visualiza\u00e7\u00f5es dos servi\u00e7os de dados principais s\u00e3o usadas para definir modelos de dados que podem ser reutilizados e para definir a estrutura das entidades, incluindo atributos e associa\u00e7\u00f5es e aplicar diferentes filtros e c\u00e1lculos a elas, bem como anota\u00e7\u00f5es para fornecer metadados para o consumo da interface do usu\u00e1rio.<\/p>\n\n\n\n<p>A defini\u00e7\u00e3o de comportamento \u00e9 a etapa que define quais a\u00e7\u00f5es s\u00e3o poss\u00edveis com uma estrutura de dados, como opera\u00e7\u00f5es de cria\u00e7\u00e3o, atualiza\u00e7\u00e3o e exclus\u00e3o.<\/p>\n\n\n\n<p>O modelo de dados e as opera\u00e7\u00f5es dispon\u00edveis s\u00e3o definidos no banco de dados. No entanto, a l\u00f3gica propriamente dita para a execu\u00e7\u00e3o dessas opera\u00e7\u00f5es \u00e9 implementada em classes ABAP que cont\u00eam a l\u00f3gica de neg\u00f3cios para cria\u00e7\u00e3o, atualiza\u00e7\u00e3o, exclus\u00e3o e opera\u00e7\u00f5es personalizadas realizadas em objetos de neg\u00f3cios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-servicos-de-negocios\">Servi\u00e7os de Neg\u00f3cios<\/h3>\n\n\n\n<p>A camada de servi\u00e7os de neg\u00f3cios \u00e9 respons\u00e1vel por expor a estrutura de dados e o comportamento definidos na primeira camada como um servi\u00e7o consum\u00edvel. A defini\u00e7\u00e3o de servi\u00e7o \u00e9 escrita para especificar quais entidades do CDS (Core Data Services) e seus comportamentos ser\u00e3o expostos, controlando assim o escopo do servi\u00e7o.<\/p>\n\n\n\n<p>A defini\u00e7\u00e3o de associa\u00e7\u00e3o de servi\u00e7o \u00e9 a segunda etapa que especifica o protocolo a ser usado para comunica\u00e7\u00e3o com o servi\u00e7o, ou seja, OData v2 ou OData v4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-consumo-de-servicos\">Consumo de Servi\u00e7os<\/h3>\n\n\n\n<p>O consumo de servi\u00e7os refere-se \u00e0 camada onde os clientes ou aplicativos utilizam os servi\u00e7os expostos. Quando um servi\u00e7o se destina a um aplicativo SAP Fiori Elements, ele \u00e9 denominado servi\u00e7o de UI (interface do usu\u00e1rio) e sua finalidade \u00e9 fornecer dados e metadados que o Fiori Elements utiliza para renderizar telas, tabelas e formul\u00e1rios automaticamente.<\/p>\n\n\n\n<p>O servi\u00e7o pode ser exposto como uma API da Web para ser consumido por qualquer cliente OData, e esse tipo de servi\u00e7o n\u00e3o inclui metadados espec\u00edficos da interface do usu\u00e1rio. Esses servi\u00e7os s\u00e3o ideais para integra\u00e7\u00e3o com sistemas n\u00e3o SAP, aplicativos m\u00f3veis ou qualquer aplicativo personalizado que exija intera\u00e7\u00e3o com dados e l\u00f3gica de neg\u00f3cios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-evolucao-dos-abap-programming-models\">Evolu\u00e7\u00e3o dos ABAP Programming Models<\/h3>\n\n\n\n<p>A programa\u00e7\u00e3o ABAP evoluiu da codifica\u00e7\u00e3o livre para o modelo de programa\u00e7\u00e3o de aplicativos RESTful, adaptando-se \u00e0 mudan\u00e7a de paradigma tecnol\u00f3gico, \u00e0s transforma\u00e7\u00f5es arquitet\u00f4nicas e \u00e0s necessidades de desenvolvimento, especialmente ap\u00f3s o advento do <a href=\"https:\/\/pathlock.com\/blog\/sap-fiori\/\">SAP Fiori <\/a>e o desenvolvimento nativo da nuvem.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-programacao-abap-classica\">Programa\u00e7\u00e3o ABAP Cl\u00e1ssica<\/h4>\n\n\n\n<p>Nos modelos cl\u00e1ssicos, os desenvolvedores costumavam escrever o c\u00f3digo ABAP em um estilo procedural e imperativo, acessando diretamente os bancos de dados e combinando l\u00f3gica de neg\u00f3cios e de interface do usu\u00e1rio, o que os tornava fortemente acoplados e, consequentemente, mais complexos de manter.<\/p>\n\n\n\n<p>A interface do usu\u00e1rio foi criada utilizando ferramentas como SAPscript, Smart Forms e programa\u00e7\u00e3o de di\u00e1logos (Dynpro). A cria\u00e7\u00e3o de telas com elementos de interface do usu\u00e1rio e sua vincula\u00e7\u00e3o com a l\u00f3gica ABAP, os m\u00f3dulos Process Before Output (PBO) e Process After Input (PAI). O Dynpro era eficaz para aplicativos para desktop tradicionais, mas carecia de recursos modernos de design responsivo.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-abap-programming-model-para-sap-fiori\">ABAP Programming Model para SAP Fiori<\/h4>\n\n\n\n<p>Com o advento do SAP Fiori, surgiu um novo modelo de programa\u00e7\u00e3o para atender \u00e0s necessidades da experi\u00eancia do usu\u00e1rio responsiva moderna. Este modelo se concentra na cria\u00e7\u00e3o manual de OData com a ferramenta SAP Gateway Service Builder (SEGW). Os desenvolvedores definir\u00e3o manualmente as entidades, propriedades e associa\u00e7\u00f5es, e implementar\u00e3o as opera\u00e7\u00f5es de cria\u00e7\u00e3o, leitura, atualiza\u00e7\u00e3o e exclus\u00e3o (CRUD).<\/p>\n\n\n\n<p>Ao usar o mecanismo <em>OData.publish<\/em>, os servi\u00e7os OData foram registrados e publicados para consumo no SAP Gateway, que atuava como um hub para expor e gerenciar servi\u00e7os OData.<\/p>\n\n\n\n<p>O servi\u00e7o Core Data permitiu que os desenvolvedores definissem modelos de dados semanticamente ricos para cria\u00e7\u00e3o de entidades, associa\u00e7\u00f5es e c\u00e1lculos no n\u00edvel do banco de dados.  O Business Object Processing Framework (BOPF) com base em CDS foi projetado para simplificar a implementa\u00e7\u00e3o de l\u00f3gicas de objetos de neg\u00f3cios, como comportamento, valida\u00e7\u00f5es e opera\u00e7\u00f5es CRUD.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-abap-restful-application-programming-model\">ABAP RESTful Application Programming Model<\/h4>\n\n\n\n<p>O RAP \u00e9 a evolu\u00e7\u00e3o mais recente, projetada para aplicativos eficientes e prontos para a nuvem para SAP S\/4HANA e SAP BTP.<\/p>\n\n\n\n<p>Ele centraliza o conceito de Servi\u00e7o de Neg\u00f3cios, encapsulando aspectos tanto de dados quanto de comportamento, como quais entidades e comportamentos ser\u00e3o expostos para o Fiori ou para um aplicativo externo, e em qual protocolo.<\/p>\n\n\n\n<p>O servi\u00e7o Core Data continua sendo fundamental no RAP, permitindo a defini\u00e7\u00e3o de modelos de dados e anota\u00e7\u00f5es reutiliz\u00e1veis para gerar automaticamente a interface do usu\u00e1rio para o Fiori Elements.<\/p>\n\n\n\n<p>O RAP separa a defini\u00e7\u00e3o do comportamento da sua implementa\u00e7\u00e3o. Uma especifica\u00e7\u00e3o declarativa define quais opera\u00e7\u00f5es s\u00e3o poss\u00edveis, enquanto a implementa\u00e7\u00e3o de comportamento \u00e9 onde reside o c\u00f3digo ABAP para implementar a l\u00f3gica dos comportamentos definidos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-etapas-do-processo-de-desenvolvimento-do-rap\">Etapas do Processo de Desenvolvimento do RAP<\/h2>\n\n\n\n<p>O processo de desenvolvimento de aplicativos no RAP come\u00e7a com a defini\u00e7\u00e3o da estrutura de dados subjacente, incluindo seus relacionamentos, comportamento e metadados, para expor o servi\u00e7o que pode ser consumido pelo Fiori Elements ou por um aplicativo externo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-forneca-as-tabelas-do-banco-de-dados\">1. Forne\u00e7a as Tabelas do Banco de Dados<\/h3>\n\n\n\n<p>O primeiro passo \u00e9 escolher quais tabelas ser\u00e3o usadas para armazenar os dados da empresa. Essas tabelas podem ser tabelas padr\u00e3o existentes do SAP ou tabelas definidas pelo usu\u00e1rio. Adicione explica\u00e7\u00f5es sobre a integra\u00e7\u00e3o de sistemas legados e quaisquer modifica\u00e7\u00f5es feitas nas tabelas, caso n\u00e3o sejam tabelas com base em CDS. Criar novas tabelas, com atributos personalizados espec\u00edficos para o aplicativo, tamb\u00e9m \u00e9 uma op\u00e7\u00e3o adequada para uma implementa\u00e7\u00e3o limpa e individual.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-defina-o-modelo-de-dados\">2. Defina o Modelo de Dados<\/h3>\n\n\n\n<p>A pr\u00f3xima etapa \u00e9 definir o modelo de dados, criando visualiza\u00e7\u00f5es no CDS que representam objetos de neg\u00f3cio. Essas visualiza\u00e7\u00f5es podem consistir em uma \u00fanica tabela, como uma visualiza\u00e7\u00e3o no CDS simples, ou unir v\u00e1rias tabelas para criar visualiza\u00e7\u00f5es compostas com defini\u00e7\u00f5es pai-filho para objetos de neg\u00f3cios complexos.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Objetos de neg\u00f3cio simples representam integralmente um produto ou cliente, com todos os atributos e comportamentos relevantes encapsulados em uma \u00fanica visualiza\u00e7\u00e3o no CDS.<\/li>\n\n\n\n<li>Os objetos de neg\u00f3cios compostos abordam cen\u00e1rios de neg\u00f3cios complexos que envolvem v\u00e1rias entidades de neg\u00f3cios, como um Pedido de Vendas, que pode n\u00e3o ser uma entidade \u00fanica e pode estar vinculado ao Cabe\u00e7alho do Pedido de Vendas e aos Itens do Pedido de Vendas.<\/li>\n<\/ul>\n\n\n\n<p>A rela\u00e7\u00e3o pai-filho define a associa\u00e7\u00e3o e a composi\u00e7\u00e3o no CDS, apoia o comportamento transacional e garante a consist\u00eancia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-defina-e-implemente-o-comportamento-somente-para-aplicativos-transacionais\">3. Defina e Implemente o Comportamento (somente para aplicativos transacionais)<\/h3>\n\n\n\n<p>O modelo de dados define a estrutura do objeto de neg\u00f3cios. Em contrapartida, a defini\u00e7\u00e3o e implementa\u00e7\u00e3o do comportamento definem como ele se comportar\u00e1 transacionalmente, incluindo as opera\u00e7\u00f5es suportadas, como por exemplo, criar, atualizar e excluir. Aqui s\u00e3o implementadas opera\u00e7\u00f5es personalizadas com verifica\u00e7\u00f5es de valida\u00e7\u00e3o antes de salvar os dados.<\/p>\n\n\n\n<p>O Behavior Pool, uma classe ABAP global, \u00e9 usado para a implementa\u00e7\u00e3o de comportamentos, onde o c\u00f3digo ABAP propriamente dito \u00e9 escrito.<\/p>\n\n\n\n<p>As principais funcionalidades dos aplicativos transacionais s\u00e3o as seguintes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Habilita\u00e7\u00e3o do Rascunho<\/strong>: Permitir que os usu\u00e1rios finais salvem dados de neg\u00f3cios incompletos como rascunho, sem confirmar as altera\u00e7\u00f5es, melhorando assim a experi\u00eancia do usu\u00e1rio, ao permitir que eles pausem e retomem o trabalho posteriormente.<\/li>\n\n\n\n<li><strong>Numera\u00e7\u00e3o Autom\u00e1tica:<\/strong> Gera\u00e7\u00e3o de chaves \u00fanicas e sequenciais para entidades que exigem identidades exclusivas, como n\u00fameros de pedidos de venda.<\/li>\n\n\n\n<li><strong>Valida\u00e7\u00f5es:<\/strong> S\u00e3o verifica\u00e7\u00f5es de consist\u00eancia de dados implementadas para validar a ader\u00eancia \u00e0 l\u00f3gica de neg\u00f3cios do formato de entrada e dos valores esperados, por exemplo, as datas de entrega n\u00e3o podem estar no passado e o formato dos n\u00fameros de telefone deve estar correto.<\/li>\n\n\n\n<li><strong>Determina\u00e7\u00f5es:<\/strong> Campos que s\u00e3o calculados com base em informa\u00e7\u00f5es inseridas em outros campos, por exemplo, o nome completo \u00e9 preenchido com base no nome e sobrenome, ou quando o nome de um produto \u00e9 inserido, a descri\u00e7\u00e3o e pre\u00e7os dele s\u00e3o preenchidos automaticamente.<\/li>\n<\/ul>\n\n\n\n<p>A implementa\u00e7\u00e3o do comportamento pode ser negligenciada se o aplicativo for puramente para exibir dados, como relat\u00f3rios em formato de lista ou relat\u00f3rios anal\u00edticos, e n\u00e3o exigir opera\u00e7\u00f5es de modifica\u00e7\u00e3o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-projete-o-rap-business-object\">4. Projete o RAP Business Object<\/h3>\n\n\n\n<p>Em vez de expor todos os campos da visualiza\u00e7\u00e3o no CDS subjacente, subconjuntos selecionados de campos s\u00e3o expostos com visualiza\u00e7\u00f5es de proje\u00e7\u00e3o no CDS para um servi\u00e7o espec\u00edfico. \u00c9 poss\u00edvel renomear campos ou adicionar campos pr\u00e9-calculados espec\u00edficos da interface do usu\u00e1rio e usar conven\u00e7\u00e3o de nomenclatura, como ZC_ para garantir a consist\u00eancia.<\/p>\n\n\n\n<p>Semelhante a um modelo de proje\u00e7\u00e3o de Dados, a proje\u00e7\u00e3o de Comportamento permite habilitar ou desabilitar opera\u00e7\u00f5es espec\u00edficas, como criar, excluir e atualizar, no n\u00edvel do servi\u00e7o. Por exemplo, em vez de remover a opera\u00e7\u00e3o de exclus\u00e3o no n\u00edvel de comportamento no CDS, esse comportamento n\u00e3o \u00e9 exposto no n\u00edvel de servi\u00e7o.<\/p>\n\n\n\n<p>Anota\u00e7\u00f5es espec\u00edficas da interface do usu\u00e1rio s\u00e3o adicionadas \u00e0 visualiza\u00e7\u00e3o de proje\u00e7\u00e3o para definir como os dados devem ser exibidos na interface de usu\u00e1rio do Fiori Elements e controlar aspectos como r\u00f3tulos de campos, recursos de pesquisa e funcionalidades anal\u00edticas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-defina-o-servico\">5. Defina o Servi\u00e7o<\/h3>\n\n\n\n<p>A defini\u00e7\u00e3o de servi\u00e7o \u00e9 um objeto de reposit\u00f3rio que referencia uma ou mais visualiza\u00e7\u00f5es de proje\u00e7\u00e3o do CDS e atua como um cont\u00eainer para as entidades a serem expostas como um servi\u00e7o.<\/p>\n\n\n\n<p>Geralmente, \u00e9 usada a conven\u00e7\u00e3o de nomenclatura Z e descrevem-se anota\u00e7\u00f5es espec\u00edficas para controlar a exposi\u00e7\u00e3o e as propriedades de navega\u00e7\u00e3o da interface do usu\u00e1rio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-associe-o-servico-e-teste-o-servico\">6. Associe o Servi\u00e7o e Teste o Servi\u00e7o<\/h3>\n\n\n\n<p>A etapa final consiste em definir a associa\u00e7\u00e3o do servi\u00e7o, descrevendo os m\u00e9todos de consumo, ou seja, a interface do usu\u00e1rio do Fiori ou aplicativos externos, e o protocolo, como OData v2 ou v4.<\/p>\n\n\n\n<p>Para servi\u00e7os de interface do usu\u00e1rio, os desenvolvedores podem habilitar a visualiza\u00e7\u00e3o para gerar automaticamente uma visualiza\u00e7\u00e3o do <a href=\"https:\/\/pathlock.com\/blog\/sap-fiori\/sap-fiori-elements\/\">Fiori Elements<\/a>, permitindo que eles testem rapidamente a funcionalidade sem precisar criar o aplicativo Fiori completo.<\/p>\n\n\n\n<p>Normalmente, \u00e9 usada a conven\u00e7\u00e3o de nomenclatura <strong>ZUI_&lt;service_Name&gt;_04<\/strong> para o servi\u00e7o de interface do usu\u00e1rio do protocolo OData v4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-implementando-os-objetivos-de-negocios\">Implementando os Objetivos de Neg\u00f3cios<\/h2>\n\n\n\n<p>Existem duas abordagens principais para implementar tipos de Objetos de Neg\u00f3cio no RAP: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gerenciado<\/li>\n\n\n\n<li>N\u00e3o gerenciado<\/li>\n<\/ul>\n\n\n\n<p>Ambos os m\u00e9todos se baseiam em modelos de dados definidos por entidades de visualiza\u00e7\u00e3o no CDS. A diferen\u00e7a reside no fornecimento do comportamento transacional do objeto de neg\u00f3cio. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-objetivos-de-negocios-gerenciados\">Objetivos de Neg\u00f3cios Gerenciados<\/h3>\n\n\n\n<p>A implementa\u00e7\u00e3o de tipos gerenciados \u00e9 usada principalmente quando um aplicativo \u00e9 desenvolvido do zero, mas tamb\u00e9m pode aproveitar o suporte pronto para uso no processamento transacional. O framework fornece valida\u00e7\u00f5es e determina\u00e7\u00f5es padr\u00e3o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-objetivos-de-negocios-nao-gerenciados\">Objetivos de Neg\u00f3cios n\u00e3o Gerenciados<\/h3>\n\n\n\n<p>Adota-se uma abordagem n\u00e3o gerenciada para obter controle total sobre a l\u00f3gica transacional, as opera\u00e7\u00f5es CRUD e a persist\u00eancia de dados ao lidar com l\u00f3gica de neg\u00f3cios complexa e intera\u00e7\u00e3o com v\u00e1rios sistemas. Os desenvolvedores devem implementar os componentes essenciais do contrato REST. O comportamento deve ser especificado na defini\u00e7\u00e3o de comportamento, mas implementado manualmente em classes ABAP no pool de comportamentos.<\/p>\n\n\n\n<p>Quando a l\u00f3gica de neg\u00f3cios j\u00e1 est\u00e1 encapsulada em m\u00f3dulos funcionais, uma abordagem n\u00e3o gerenciada ajuda os desenvolvedores a reutilizarem a l\u00f3gica de neg\u00f3cios existente em objetos de neg\u00f3cios. \u00c9 poss\u00edvel beneficiar-se da orquestra\u00e7\u00e3o padronizada de tempo de execu\u00e7\u00e3o do RAP para criar um servi\u00e7o RAP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-servicos-de-reutilizacao-e-bibliotecas\">Servi\u00e7os de Reutiliza\u00e7\u00e3o e Bibliotecas<\/h2>\n\n\n\n<p>O ABAP RAP fornece uma cole\u00e7\u00e3o de funcionalidades, APIs e componentes pr\u00e9-projetados, criados para uso em v\u00e1rios aplicativos ou servi\u00e7os. Reutilizar servi\u00e7os e bibliotecas existentes permite que os desenvolvedores economizem tempo e esfor\u00e7o em tarefas como verifica\u00e7\u00f5es de autoriza\u00e7\u00e3o padronizadas, determina\u00e7\u00f5es de texto e c\u00f3digo redundante, permitindo que eles se concentrem na l\u00f3gica de neg\u00f3cios exclusiva e espec\u00edfica do aplicativo.<\/p>\n\n\n\n<p>Bibliotecas e servi\u00e7os predefinidos fornecem funcionalidades gen\u00e9ricas prontas para uso, aplic\u00e1veis a v\u00e1rios dom\u00ednios de neg\u00f3cios, como tratamento de rascunhos, controle e valida\u00e7\u00e3o de campos, gerenciamento de processamento transacional, utilit\u00e1rios de data e hora, tratamento de Etag para controle de concorr\u00eancia de dados, gera\u00e7\u00e3o padronizada de registros e rastreamento de erros ou eventos.<\/p>\n\n\n\n<p>O RAP permite a cria\u00e7\u00e3o de l\u00f3gica personalizada espec\u00edfica para o dom\u00ednio, para esses servi\u00e7os ou bibliotecas internos, e esses servi\u00e7os personalizados podem ser reutilizados em qualquer lugar.<\/p>\n\n\n\n<p>A possibilidade de reutilizar bibliotecas padr\u00e3o ou personalizadas permite que os desenvolvedores reduzam o c\u00f3digo repetitivo. Isso n\u00e3o s\u00f3 acelera o processo de desenvolvimento, como tamb\u00e9m melhora a capacidade de manuten\u00e7\u00e3o. A reutiliza\u00e7\u00e3o de servi\u00e7os e bibliotecas foi criada para se integrar aos aplicativos, permitindo que os desenvolvedores chamem servi\u00e7os externos ou invoquem fun\u00e7\u00f5es de biblioteca diretamente de suas implementa\u00e7\u00f5es de comportamento e visualiza\u00e7\u00f5es de proje\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-perguntas-frequentes\">Perguntas Frequentes<\/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\">Quando devo usar o RAP?<\/strong> <p class=\"schema-faq-answer\">O modelo de programa\u00e7\u00e3o ABAP RESTful \u00e9 usado no desenvolvimento de novos Aplicativos Fiori, cria\u00e7\u00e3o de servi\u00e7os OData para expor a l\u00f3gica de neg\u00f3cios, moderniza\u00e7\u00e3o do c\u00f3digo personalizado existente ao atualizar para o S\/4HANA e desenvolvimento de extensibilidade no S\/4HANA.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1750180118810\"><strong class=\"schema-faq-question\">Que tipos de servi\u00e7os podem ser desenvolvidos?<\/strong> <p class=\"schema-faq-answer\">O modelo RAP \u00e9 usado principalmente para desenvolver servi\u00e7os OData que exp\u00f5em dados e servi\u00e7os dentro do ecossistema SAP, permitindo opera\u00e7\u00f5es de neg\u00f3cios na interface do usu\u00e1rio do SAP Fiori ou intera\u00e7\u00e3o com aplicativos de terceiros. Esses servi\u00e7os podem assumir a forma de servi\u00e7os OData, APIs e servi\u00e7os anal\u00edticos que fornecem funcionalidades somente de leitura.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1750180127912\"><strong class=\"schema-faq-question\">O que \u00e9 um objeto de neg\u00f3cio e qual a sua diferen\u00e7a para um servi\u00e7o de neg\u00f3cio?<\/strong> <p class=\"schema-faq-answer\">Um Objeto de Neg\u00f3cio \u00e9 um modelo de dados l\u00f3gico que representa uma opera\u00e7\u00e3o ou entidade de neg\u00f3cios do mundo real, como por exemplo, Sales_Order, Product_Name, Employee e encapsula a estrutura de dados, a l\u00f3gica de neg\u00f3cios, as valida\u00e7\u00f5es e o comportamento. Ao mesmo tempo, um servi\u00e7o de neg\u00f3cios \u00e9 uma interface por meio da qual os dados e o comportamento de um objeto de neg\u00f3cios s\u00e3o disponibilizados para que outros aplicativos os consumam e interajam para a execu\u00e7\u00e3o de opera\u00e7\u00f5es de neg\u00f3cios.<\/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>O que \u00e9 RESTful Application Programming (RAP)? O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente usando linguagem ABAP e segue o framework da Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o de recursos. O principal objetivo do RAP (RESTful Application Programming)&#8230;<\/p>\n","protected":false},"author":71,"featured_media":40046,"parent":45581,"menu_order":0,"template":"","categories":[],"tags":[],"category_blog":[],"class_list":["post-45539","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>Guia do ABAP RESTful Application Programming Model (RAP)<\/title>\n<meta name=\"description\" content=\"O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente na linguagem ABAP e segue o framework de Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o 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\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ABAP RESTful Application Programming Model (RAP)\" \/>\n<meta property=\"og:description\" content=\"O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente na linguagem ABAP e segue o framework de Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o de recursos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pathlock.com\/pt\/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:04:00+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=\"Est. reading time\" \/>\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\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\"},\"author\":{\"name\":\"Jonathan Stross\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#\\\/schema\\\/person\\\/7da38b9091e2f1fe7f88993ac06e19be\"},\"headline\":\"ABAP RESTful Application Programming Model (RAP)\",\"datePublished\":\"2025-06-27T08:00:16+00:00\",\"dateModified\":\"2026-04-30T16:04:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\"},\"wordCount\":4151,\"publisher\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/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\":\"pt-BR\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\",\"url\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\",\"name\":\"Guia do ABAP RESTful Application Programming Model (RAP)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/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:04:00+00:00\",\"description\":\"O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente na linguagem ABAP e segue o framework de Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o de recursos.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180110217\"},{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180118810\"},{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180127912\"}],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/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\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SAP\",\"item\":\"https:\\\/\\\/pathlock.com\\\/category_blog\\\/sap\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"O que \u00e9 SAP ABAP (Advanced Business Application Programming)?\",\"item\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"ABAP RESTful Application Programming Model (RAP)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/\",\"name\":\"Pathlock\",\"description\":\"The Leader in Application Security and Controls Automation\",\"publisher\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#organization\",\"name\":\"Pathlock, Inc\",\"url\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/#\\\/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\\\/pt\\\/#\\\/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\\\/pt\\\/#\\\/schema\\\/person\\\/7da38b9091e2f1fe7f88993ac06e19be\",\"name\":\"Jonathan Stross\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\\\/pt\\\/author\\\/jonathan-stross\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180110217\",\"position\":1,\"url\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180110217\",\"name\":\"Quando devo usar o RAP?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"O modelo de programa\u00e7\u00e3o ABAP RESTful \u00e9 usado no desenvolvimento de novos Aplicativos Fiori, cria\u00e7\u00e3o de servi\u00e7os OData para expor a l\u00f3gica de neg\u00f3cios, moderniza\u00e7\u00e3o do c\u00f3digo personalizado existente ao atualizar para o S\\\/4HANA e desenvolvimento de extensibilidade no S\\\/4HANA.\",\"inLanguage\":\"pt-BR\"},\"inLanguage\":\"pt-BR\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180118810\",\"position\":2,\"url\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180118810\",\"name\":\"Que tipos de servi\u00e7os podem ser desenvolvidos?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"O modelo RAP \u00e9 usado principalmente para desenvolver servi\u00e7os OData que exp\u00f5em dados e servi\u00e7os dentro do ecossistema SAP, permitindo opera\u00e7\u00f5es de neg\u00f3cios na interface do usu\u00e1rio do SAP Fiori ou intera\u00e7\u00e3o com aplicativos de terceiros. Esses servi\u00e7os podem assumir a forma de servi\u00e7os OData, APIs e servi\u00e7os anal\u00edticos que fornecem funcionalidades somente de leitura.\",\"inLanguage\":\"pt-BR\"},\"inLanguage\":\"pt-BR\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180127912\",\"position\":3,\"url\":\"https:\\\/\\\/pathlock.com\\\/pt\\\/blog\\\/sap-abap\\\/abap-restful-application-programming-model-rap\\\/#faq-question-1750180127912\",\"name\":\"O que \u00e9 um objeto de neg\u00f3cio e qual a sua diferen\u00e7a para um servi\u00e7o de neg\u00f3cio?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Um Objeto de Neg\u00f3cio \u00e9 um modelo de dados l\u00f3gico que representa uma opera\u00e7\u00e3o ou entidade de neg\u00f3cios do mundo real, como por exemplo, Sales_Order, Product_Name, Employee e encapsula a estrutura de dados, a l\u00f3gica de neg\u00f3cios, as valida\u00e7\u00f5es e o comportamento. Ao mesmo tempo, um servi\u00e7o de neg\u00f3cios \u00e9 uma interface por meio da qual os dados e o comportamento de um objeto de neg\u00f3cios s\u00e3o disponibilizados para que outros aplicativos os consumam e interajam para a execu\u00e7\u00e3o de opera\u00e7\u00f5es de neg\u00f3cios.\",\"inLanguage\":\"pt-BR\"},\"inLanguage\":\"pt-BR\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Guia do ABAP RESTful Application Programming Model (RAP)","description":"O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente na linguagem ABAP e segue o framework de Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o 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\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","og_locale":"pt_PT","og_type":"article","og_title":"ABAP RESTful Application Programming Model (RAP)","og_description":"O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente na linguagem ABAP e segue o framework de Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o de recursos.","og_url":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","og_site_name":"Pathlock","article_modified_time":"2026-04-30T16:04:00+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":{"Est. reading time":"17 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#article","isPartOf":{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/"},"author":{"name":"Jonathan Stross","@id":"https:\/\/pathlock.com\/pt\/#\/schema\/person\/7da38b9091e2f1fe7f88993ac06e19be"},"headline":"ABAP RESTful Application Programming Model (RAP)","datePublished":"2025-06-27T08:00:16+00:00","dateModified":"2026-04-30T16:04:00+00:00","mainEntityOfPage":{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/"},"wordCount":4151,"publisher":{"@id":"https:\/\/pathlock.com\/pt\/#organization"},"image":{"@id":"https:\/\/pathlock.com\/pt\/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":"pt-BR"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","url":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/","name":"Guia do ABAP RESTful Application Programming Model (RAP)","isPartOf":{"@id":"https:\/\/pathlock.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#primaryimage"},"image":{"@id":"https:\/\/pathlock.com\/pt\/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:04:00+00:00","description":"O ABAP RESTful Application Programming Model, desenvolvido pela SAP, \u00e9 constru\u00eddo inteiramente na linguagem ABAP e segue o framework de Transfer\u00eancia de Estado Representacional (REST) para criar aplicativos em uma arquitetura cliente-servidor com uma interface uniforme para manipula\u00e7\u00e3o de recursos.","breadcrumb":{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180110217"},{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180118810"},{"@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180127912"}],"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/pathlock.com\/pt\/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\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pathlock.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/pathlock.com\/pt\/blog\/"},{"@type":"ListItem","position":3,"name":"SAP","item":"https:\/\/pathlock.com\/category_blog\/sap\/"},{"@type":"ListItem","position":4,"name":"O que \u00e9 SAP ABAP (Advanced Business Application Programming)?","item":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/"},{"@type":"ListItem","position":5,"name":"ABAP RESTful Application Programming Model (RAP)"}]},{"@type":"WebSite","@id":"https:\/\/pathlock.com\/pt\/#website","url":"https:\/\/pathlock.com\/pt\/","name":"Pathlock","description":"The Leader in Application Security and Controls Automation","publisher":{"@id":"https:\/\/pathlock.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pathlock.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/pathlock.com\/pt\/#organization","name":"Pathlock, Inc","url":"https:\/\/pathlock.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/pathlock.com\/pt\/#\/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\/pt\/#\/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\/pt\/#\/schema\/person\/7da38b9091e2f1fe7f88993ac06e19be","name":"Jonathan Stross","image":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/pt\/author\/jonathan-stross\/"},{"@type":"Question","@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180110217","position":1,"url":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180110217","name":"Quando devo usar o RAP?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"O modelo de programa\u00e7\u00e3o ABAP RESTful \u00e9 usado no desenvolvimento de novos Aplicativos Fiori, cria\u00e7\u00e3o de servi\u00e7os OData para expor a l\u00f3gica de neg\u00f3cios, moderniza\u00e7\u00e3o do c\u00f3digo personalizado existente ao atualizar para o S\/4HANA e desenvolvimento de extensibilidade no S\/4HANA.","inLanguage":"pt-BR"},"inLanguage":"pt-BR"},{"@type":"Question","@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180118810","position":2,"url":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180118810","name":"Que tipos de servi\u00e7os podem ser desenvolvidos?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"O modelo RAP \u00e9 usado principalmente para desenvolver servi\u00e7os OData que exp\u00f5em dados e servi\u00e7os dentro do ecossistema SAP, permitindo opera\u00e7\u00f5es de neg\u00f3cios na interface do usu\u00e1rio do SAP Fiori ou intera\u00e7\u00e3o com aplicativos de terceiros. Esses servi\u00e7os podem assumir a forma de servi\u00e7os OData, APIs e servi\u00e7os anal\u00edticos que fornecem funcionalidades somente de leitura.","inLanguage":"pt-BR"},"inLanguage":"pt-BR"},{"@type":"Question","@id":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180127912","position":3,"url":"https:\/\/pathlock.com\/pt\/blog\/sap-abap\/abap-restful-application-programming-model-rap\/#faq-question-1750180127912","name":"O que \u00e9 um objeto de neg\u00f3cio e qual a sua diferen\u00e7a para um servi\u00e7o de neg\u00f3cio?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Um Objeto de Neg\u00f3cio \u00e9 um modelo de dados l\u00f3gico que representa uma opera\u00e7\u00e3o ou entidade de neg\u00f3cios do mundo real, como por exemplo, Sales_Order, Product_Name, Employee e encapsula a estrutura de dados, a l\u00f3gica de neg\u00f3cios, as valida\u00e7\u00f5es e o comportamento. Ao mesmo tempo, um servi\u00e7o de neg\u00f3cios \u00e9 uma interface por meio da qual os dados e o comportamento de um objeto de neg\u00f3cios s\u00e3o disponibilizados para que outros aplicativos os consumam e interajam para a execu\u00e7\u00e3o de opera\u00e7\u00f5es de neg\u00f3cios.","inLanguage":"pt-BR"},"inLanguage":"pt-BR"}]}},"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":"Fluxos de trabalho de desenvolvimento seguros: ABAP por meio de orquestra\u00e7\u00e3o, provisionamento com reconhecimento de risco e automa\u00e7\u00e3o de pol\u00edticas.","heading":"Como Fortalecer o ABAP com Controles Modernos\t"},"_links":{"self":[{"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/blog\/45539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/users\/71"}],"up":[{"embeddable":true,"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/blog\/45581"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/media\/40046"}],"wp:attachment":[{"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/media?parent=45539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/categories?post=45539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/tags?post=45539"},{"taxonomy":"category_blog","embeddable":true,"href":"https:\/\/pathlock.com\/pt\/wp-json\/wp\/v2\/category_blog?post=45539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}