Olá pessoal,
Neste blog, vamos aprender o novo modelo de programação RAP em detalhes com um exemplo. Recomendo que você revise a teoria antes de começar a codificar para entender os conceitos básicos do RAP. Gostaria de agradecer aos meus colegas da SAP, especialmente Kailash Satapathy e Gaurav Kumar, por me ajudarem a escrever este blog.
Pré-requisito:
Conceitos de Serviços de Dados Principais (CDS) e anotações.
Vamos começar
?
Modelo de Programação ABAP RESTful (RAP):
O termo
Modelo de Programação ABAP RESTful
(
RAP
) é escolhido para refletir sua orientação para uma arquitetura REST "stateless".
Vamos começar com a evolução do ABAP ao longo dos anos: -
Evolução do Modelo de Programação ABAP
Iniciamos nosso MUNDO ABAP com programação ABAP clássica usando relatórios e programas de pool de módulos, depois passamos para BSP/Webdynpro com FPM (para harmonização de UI), depois lentamente mudamos dos desenvolvimentos no estilo ERP para desenvolvimentos no modelo S/4 HANA, onde nossa programação principal consiste em artefatos como CDS, BOPF, GW e Fiori.
Modelo de Programação ABAP para SAP Fiori (Melhores práticas atuais)
: -
Este modelo de desenvolvimento geralmente consiste em visualização CDS, BOPF e GW, onde CDS está intimamente ligado ao BOPF e GW (usando Mapeamento RDS ou a anotação @OData.Publish).
Observação
: O problema com este modelo é que o fluxo não está bem definido.
Direção Futura - Novo Modelo de Programação (Modelo de Programação ABAP Restful)
Modelo de Programação ABAP RESTful em detalhes:
-
O modelo de programação RESTful ABAP define a arquitetura para o desenvolvimento eficiente de serviços OData intrinsecamente otimizados para o SAP HANA (como aplicativos Fiori) na Plataforma SAP Cloud ABAP. Ele suporta o desenvolvimento de todos os tipos de aplicativos Fiori, bem como serviços A2X. É baseado em tecnologias e frameworks como Serviços de Dados Principais (CDS) para definir modelos de dados semanticamente ricos e uma infraestrutura de modelo de serviço para criar serviços OData com vinculações a um protocolo OData e serviços de aplicativo baseados em ABAP para lógica personalizada e interfaces de usuário baseadas em SAPUI5 como mostrado na figura abaixo.
Compreendendo os Conceitos
-
Objeto de Negócio
Um
objeto de negócio (BO)
é um termo comum para representar um artefato do mundo real no desenvolvimento de aplicativos corporativos, como o Produto, a Viagem ou o Pedido de Vendas. Em geral, um objeto de negócio contém vários nós, como Itens e operações transacionais comuns, como criar, atualizar e excluir dados e operações específicas de aplicativo adicionais, como Aprovar em um objeto de negócio de Pedido de Vendas.
Do ponto de vista formal, um objeto de negócio é caracterizado por
-
uma estrutura,
-
um comportamento e
-
a implementação em tempo de execução correspondente.
Veja a figura para mais detalhes.
1.1 Estrutura de um Objeto de Negócio
Do aspecto estrutural, um objeto de negócio consiste em uma árvore de nós (Pedido de Vendas, Itens, Linhas de Agendamento) onde os nós são vinculados por meio de associações especiais, as composições. Uma composição é uma associação especializada que define um relacionamento todo-parte. Uma parte composta só existe junto com sua entidade pai (todo).
Cada nó desta árvore de composição é um elemento modelado com uma
entidade CDS
. A
entidade raiz
é de particular importância: Isso é considerado no código-fonte da definição de dados CDS com a palavra-chave
ROOT
. A entidade raiz serve como uma representação do objeto de negócio e define o nó superior na estrutura de um objeto de negócio.
1.2 Comportamento de um Objeto de Negócio
Cada entidade do objeto de negócio pode oferecer as operações padrão CUD criar(), atualizar() e excluir(). Além disso, cada entidade também pode oferecer operações específicas com uma estrutura de entrada e saída dedicada, chamadas ações. As operações CUD oferecidas, ações, bem como algumas propriedades relevantes para o comportamento, como dependências de bloqueio entre o pai e