APIs liberadas e SAP Business Accelerator Hub
APIs liberadas são objetos e serviços SAP, como serviços OData e SOAP, eventos, CDS views e classes ABAP, que a SAP marcou com um estado de liberação e um contrato de liberação que promete estabilidade ao longo dos upgrades. O SAP Business Accelerator Hub é o catálogo público da SAP onde as APIs remotas e os eventos são documentados e podem ser testados.
Resumo
- Tipo
- Contrato de estabilidade sobre objetos SAP, mais o catálogo público de APIs da SAP
- Camada
- Serviços e APIs
- Contratos de liberação
- C0 extend, C1 system-internal use, C2 remote API, C3 configuration, C4 AMDP
- Estados de liberação
- Released, Deprecated, Decommissioned
- Onde consultar
- SAP Business Accelerator Hub (remotas); aba API State no ABAP Development Tools (locais)
- Quem trabalha com elas
- Arquitetos de integração, desenvolvedores ABAP e SAP BTP, arquitetos corporativos
- Aplica-se a
- SAP S/4HANA (todas as opções de implantação), SAP BTP ABAP environment
Camada: Serviços e APIsOnde se encaixa ▾
Camada: Serviços e APIs
Abrir o mapa de arquitetura →O que torna uma API SAP liberada?
Um objeto está liberado quando seu estado de liberação é Released sob um contrato de liberação específico, que define o uso permitido e as alterações que a SAP evitará:
| Contrato | Finalidade |
|---|---|
| C0 Extend | Pontos de extensão estáveis, por exemplo em tabelas ou CDS views |
| C1 Use system-internally | Interface estável para código customizado no mesmo sistema |
| C2 Use as remote API | Interface estável para consumidores externos ao longo dos upgrades |
| C3 Manage configuration content | Persistência estável para conteúdo de configuração |
| C4 Use in AMDP | Interface estável para ABAP-managed database procedures |
Um objeto Deprecated ainda funciona, mas deve ser substituído pelo seu sucessor; um objeto Decommissioned não é mais suportado, estado que a SAP atualmente aplica apenas a APIs remotas. Para objetos C0 e C1, uma configuração de visibilidade decide se desenvolvedores ABAP Cloud, key users ou ambos podem usar o objeto.
Uma API liberada é, portanto, uma promessa sobre um objeto e uma finalidade, e não um rótulo genérico para qualquer coisa que tenha uma interface.
O que há no SAP Business Accelerator Hub?
O SAP Business Accelerator Hub, antes chamado SAP API Business Hub, é uma aplicação web hospedada pela SAP. Ele cataloga APIs da SAP e de parceiros (OData, SOAP, REST), business events, CDS views, data products, integration flows e process blueprints.
Para cada API, o hub mostra a especificação, a documentação e, para muitas APIs, um sandbox para testar chamadas antes de conectar qualquer sistema. Um desenvolvedor da Alder Manufacturing que precisa criar faturas de fornecedor a partir de um portal externo começa por aqui: encontra a API, lê seu status e seu sucessor, testa no sandbox e depois baixa a especificação.
Dois limites importam. O hub documenta as APIs padrão da SAP, não as específicas de cada cliente, e as APIs são listadas por produto, então uma API listada para uma edição não está automaticamente disponível em outra. O SAP Business Accelerator Hub é o ponto de partida para o desenho de APIs remotas, e não a prova de que uma API existe em um determinado sistema.
Como as APIs liberadas locais e remotas diferem?
As APIs liberadas se dividem em dois grupos práticos:
- APIs locais (contrato C1). CDS views, classes, behavior definitions e outros objetos liberados, usados por código ABAP customizado no mesmo sistema. O código ABAP Cloud só pode chamar estas. Os desenvolvedores as encontram no ABAP Development Tools, onde a aba API State mostra o estado de liberação e o contrato, e na seção de extensibilidade de desenvolvedor do Business Accelerator Hub.
- APIs remotas (contrato C2). Serviços OData, SOAP e outros chamados pela rede por apps no SAP BTP, middleware ou sistemas de terceiros. Elas são documentadas no Business Accelerator Hub.
Quando a SAP substitui uma API, a antiga passa a deprecated e um sucessor é indicado; a SAP tornou obsoleta a API OData Production Order no SAP S/4HANA Cloud 2008, por exemplo.
A distinção define a arquitetura: as APIs locais atendem extensões on-stack construídas com ABAP Cloud, enquanto as APIs remotas atendem extensões side-by-side e integrações.
O que muda entre SAP S/4HANA Cloud, on-premise e SAP BTP?
- SAP S/4HANA Cloud Public Edition: as APIs liberadas são o único caminho de acesso. O código ABAP customizado usa apenas APIs locais liberadas, e as APIs remotas são expostas por meio de communication scenarios que um administrador ativa com um communication arrangement.
- Private Edition e on-premise: as APIs liberadas coexistem com interfaces clássicas como as BAPIs. As APIs OData remotas são ativadas como os demais serviços OData no SAP Gateway, por exemplo com a /IWFND/MAINT_SERVICE para OData V2. Onde não existe API liberada, a orientação da SAP permite wrappers customizados em torno de APIs clássicas listadas, liberados com o contrato C1.
- SAP BTP ABAP environment: valem os mesmos contratos de liberação, e objetos customizados usados entre software components são liberados ou conectados por meio de software component relations.
Os clientes só podem liberar seus próprios objetos com os contratos C0 e C1. O conceito de API liberada é idêntico em todas as edições; o que difere é quanto acesso não liberado cada edição ainda tolera.
Por que as APIs liberadas importam para o clean core?
- Estabilidade em upgrades por contrato. A SAP verifica os objetos entregues contra seu contrato de liberação, de modo que alterações incompatíveis em uma API liberada não são esperadas em um upgrade.
- Imposição, e não apenas recomendação. No ABAP Cloud, o compilador rejeita chamadas a objetos não liberados para desenvolvimento cloud, o que transforma a regra do clean core em uma verificação de sintaxe.
- Um único vocabulário. Os mesmos estados e contratos valem em todas as edições do SAP S/4HANA e no SAP BTP ABAP environment.
- Mudança planejada. A descontinuação com um sucessor indicado dá às equipes um caminho de migração em vez de uma interface quebrada.
As APIs liberadas são a regra de dependência em que se apoia o nível A da classificação do clean core.
Onde as APIs liberadas terminam?
- A cobertura é desigual. Nem todo business object ou campo tem uma API liberada. Uma queixa frequente nas comunidades de profissionais é encontrar a operação necessária apenas em uma BAPI clássica ou em uma tabela interna.
- Um contrato não é um desenho. Uma API liberada garante estabilidade técnica, não que sua granularidade se ajuste a um processo; várias chamadas podem ser necessárias para uma etapa de negócio.
- O comportamento ainda pode mudar. As regras de contrato da SAP permitem alterações compatíveis em APIs liberadas e não prometem compatibilidade retroativa total, então os consumidores precisam testar novamente após os upgrades.
- A descontinuação é fácil de ignorar. As APIs deprecated continuam funcionando por um tempo, então a troca pelo sucessor tende a ser adiada.
As APIs liberadas removem o risco de upgrade da interface; a adequação ao processo e o ciclo de vida de cada consumidor continuam sendo responsabilidade da equipe.
Quais são os erros comuns com APIs liberadas?
- Supor que todo serviço OData é uma API. Um serviço OData gerado para um app SAP Fiori é um serviço de UI. Verifique o estado de liberação antes que uma integração dependa dele.
- Desenhar apenas a partir do hub. Confirme que a API existe e está ativada no sistema e na release de destino.
- Ignorar avisos de descontinuação. Acompanhe os sucessores de cada API em uso.
- Encapsular tudo. Wrappers C1 customizados em torno de APIs clássicas cobrem lacunas; cada um precisa de um responsável e de uma revisão quando a SAP liberar um sucessor.
O critério de decisão prático é simples: se o objeto não tem estado de liberação para o uso pretendido, trate qualquer dependência dele como dívida técnica e registre-a.
APIs liberadas vs. OData: qual é a diferença?
| APIs liberadas | OData | |
|---|---|---|
| O que é | Um contrato de estabilidade que a SAP associa a objetos específicos | Um protocolo para ler e alterar dados via HTTP |
| Pergunta que responde | Posso confiar nisto ao longo dos upgrades? | Como um cliente chama o serviço? |
| Escopo | OData, SOAP, eventos, CDS views, classes e mais | Qualquer serviço OData, liberado ou não |
| Onde verificar | Estado de liberação no ABAP Development Tools ou no Business Accelerator Hub | Metadados do serviço e catálogo de serviços do sistema |
Muitas APIs liberadas usam OData, mas o OData sozinho não diz nada sobre estabilidade: é o estado de liberação que faz de um serviço uma API liberada.
Perguntas frequentes
Como saber se um objeto SAP é uma API liberada?
Verifique seu estado de liberação e seu contrato. No ABAP Development Tools, a aba API State na view Properties mostra se um objeto está released, deprecated ou decommissioned e sob qual contrato. As APIs remotas mostram seu status e sucessores no SAP Business Accelerator Hub.
Posso usar objetos SAP não liberados no SAP S/4HANA Cloud Public Edition?
Não em código ABAP customizado. A Public Edition oferece apenas o modelo de desenvolvimento ABAP Cloud, que permite APIs liberadas. A Private Edition e o on-premise também permitem ABAP clássico, então os objetos não liberados continuam tecnicamente acessíveis ali, ao custo do risco de upgrade.
O que acontece quando uma API liberada fica deprecated?
Uma API deprecated continua funcionando, mas não deve mais ser usada em novos desenvolvimentos, e a SAP indica um sucessor quando existe um. As equipes devem planejar a troca junto com seu ciclo de releases, porque APIs remotas decommissioned não são mais suportadas.
Os clientes podem liberar suas próprias APIs?
Sim, com limites. Os clientes podem liberar seus próprios objetos de desenvolvimento com o contrato C0 ou C1, para que seu próprio código ABAP Cloud possa usá-los. O contrato de API remota C2 e os demais contratos são usados pela SAP para os objetos entregues.
Fontes
- SAP Help Portal: Released APIs — release states, contracts and visibility (ABAP Cloud)
- SAP Help Portal: Release contracts C0–C4 (ABAP keyword documentation)
- SAP Help Portal: What is SAP Business Accelerator Hub?
- SAP Help Portal: Developing in ABAP Cloud and consuming classic APIs
- SAP Business Accelerator Hub
- Aplica-se a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Última revisão