Slik bygger du clean SAP BTP-utvidelser for S/4HANA

· 8 min lesing ·
SAP BTPS/4HANACAPClean coreArkitektur

Hva betyr "clean BTP-utvidelse"?

En clean BTP-utvidelse er en utvidelse av S/4HANA-funksjonalitet som er bygget på SAP BTP – ikke direkte i S/4HANA-systemet. Den kommuniserer med S/4HANA via stabile, Released API-er, og den er designet slik at SAP-kjernesystemet kan oppgraderes uten at utvidelsen bryter.

"Clean" betyr i denne sammenhengen at utvidelsen:

  • Ikke modifiserer SAP-standardkode
  • Bruker kun Released API-er for kommunikasjon med S/4HANA
  • Har en klar separasjon av ansvar mellom kjernesystemet og utvidelsen
  • Er deployert på BTP, ikke direkte i S/4HANA

    Arkitekturmønsteret: Side-by-Side Extension

    Det vanligste og anbefalte mønsteret for BTP-utvidelser er Side-by-Side Extension:

    1. BTP-applikasjonen inneholder forretningslogikk og brukergrensesnitt

  • 2. S/4HANA er kildesystemet for forretningsdata 3. Kommunikasjonen skjer via OData-tjenester eller Event Mesh

    Fordelen er at BTP-applikasjonen er fullstendig uavhengig av S/4HANA-internene. Den kan oppgraderes, deployes og skaleres uavhengig av kjernesystemet.

    CAP vs ABAP Cloud: hva er riktig for utvidelsen?

    Dette er det vanligste spørsmålet i SAP BTP-prosjekter:

    Bruk CAP (Cloud Application Programming Model) når:

  • Utvidelsen har betydelig forretningslogikk som passer bedre i Node.js eller Java
  • Du trenger tette integrasjoner mot ikke-SAP-tjenester
  • Teamet har sterk JavaScript/TypeScript-kompetanse
  • Du vil utnytte CAP's innebygde støtte for OData, multitenancy og HANA Cloud

    Bruk ABAP Cloud (BTP ABAP Environment) når:

  • Forretningslogikken er tett koblet til SAP-standardprosesser og passer best i ABAP
  • Teamet har sterk ABAP-kompetanse og begrenset Node.js-erfaring
  • Du vil bruke RAP og CDS Views direkte i BTP-miljøet
  • Utvidelsen integrerer tett med SAP Released Business Objects

    I praksis ser vi stadig mer hybride arkitekturer der CAP håndterer integrasjonslaget og API-orkestrering, mens ABAP Cloud (via Remote Function Call eller SAP Event Mesh) håndterer SAP-spesifikk forretningslogikk.

    Kommunikasjon: Direct API vs Event-Driven

    For kommunikasjon mellom BTP-utvidelsen og S/4HANA er det to primære mønstre:

    Synkron via OData (Direct API): Utvidelsen kaller S/4HANA-API direkte og venter på svar. Enkelt å implementere, men skaper tett kobling og sårbart for S/4HANA-nedetid.

    Asynkron via SAP Event Mesh: S/4HANA publiserer forretningshendelser (Business Events) til Event Mesh, og BTP-utvidelsen abonnerer på disse. Løsere kobling, bedre resiliency, men mer kompleks implementasjon.

    For de fleste norske virksomheter i dag anbefaler vi å starte med synkron OData-integrasjon og migrere til Event Mesh for de mest kritiske integrasjonene etter hvert som Event Mesh-infrastrukturen modnes.

    ## Praktisk guide: fem ting du bør gjøre riktig fra starten

    1. Definer API-kontrakten tidlig. Avklar hvilke Released API-er fra S/4HANA utvidelsen skal bruke, og designet datamodellen i BTP rundt disse. Ikke anta at S/4HANA gir deg alt du trenger – sjekk SAP Business Accelerator Hub (api.sap.com) for tilgjengelige Released API-er.

    2. Bruk SAP Cloud Connector riktig. For S/4HANA on-premise trenger du SAP Cloud Connector som tunnel mellom BTP og on-premise systemet. Konfigurer dette sikkert med minimale privilegier og god nettverkssegmentering.

    3. Planlegg tilgangskontroll fra dag én. BTP-applikasjoner bruker SAP Identity Authentication Service (IAS) for autentisering og XSUAA for autorisasjon. Disse er annerledes enn klassisk SAP-brukerstyring og krever planlegging.

    4. Design for feil. BTP-utvidelser kommuniserer over nettverket med S/4HANA. Designet må håndtere nettverksforsinkelse, S/4HANA-nedetid og API-feil elegant, uten at sluttbrukerne opplever kryptiske feilmeldinger.

    5. Dokumenter API-avhengighetene. Hold oversikt over hvilke S/4HANA API-er utvidelsen bruker. Ved S/4HANA-oppgradering vet du da hvilke API-er du bør validere.

  • Har du spørsmål til artikkelen?

    Ta kontakt

    Interessert i å ta SAP-prosjektet Viidre?