SAP R / 3 Architecture

โšก Smart sammanfattning

SAP R / 3 ArchiTecture รคr en klient-server-design i tre nivรฅer som separerar presentations-, applikations- och databasansvar. Den hรคr artikeln fรถrklarar varje lager, ABAP och Java komponentstacken, den dispatcherdrivna inloggningsprocessen och orsakerna SAP valde denna lagermodell.

  • ๐Ÿ—๏ธ Nyckelprincip: SAP R/3 separerar presentation, applikationslogik och lagring i tre oberoende nivรฅer som kan skalas pรฅ olika hรฅrdvara.
  • โš™๏ธ ArchiTekturinsikt: Applikationslagret bรคr affรคrslogik รถver en eller flera applikationsservrar som koordineras av en meddelandeserver fรถr lastbalansering.
  • ๐Ÿงฉ Komponentfokus: ABAP och Java stackar anvรคnder var och en distinkta avsรคndare, arbetsprocesser, gateways och en Java Kontakt (JCO) fรถr kommunikation mellan olika stackar.
  • ๐Ÿ”„ Processvy: Inloggningsflรถdet fรถljer en deterministisk dispatcher โ†’ fรถrfrรฅgningskรถ โ†’ arbetsprocess โ†’ buffert eller databas โ†’ utrullningscykel.
  • โšก Prestandatips: En hรถgre bufferttrรคffkvot kontra databasmisskvot รคr den mest pรฅlitliga hรคvstรฅngen fรถr att fรถrbรคttra SAP R/3 svarstid.

Sap R/3 Architecture

SAP R / 3 ArchiStrukturen ligger till grund fรถr nรคstan alla klassiker SAP ERP-distribution. Avsnitten nedan fรถrklarar hur de tre nivรฅerna samverkar och hur ABAP och Java stackar delar upp arbetet mellan dispatcher, meddelandeserver och databas.

Vad รคr SAP R/3?

SAP R/3 รคr ett klient-server-fรถretagssystem byggt pรฅ en trestegsarkitektur bestรฅende av tre oberoende lager:

  1. Presentation
  2. Ansรถkan
  3. Databas
  • R stรฅr fรถr Realtid bearbetning.
  • 3 stรฅr fรถr 3-tier arkitektoniskt mรถnster.

SAP R / 3 Archiรถversikt รถver strukturen

Anvรคndarens dator (frontend): Anvรคndare fรฅr รฅtkomst till SAP systemet genom SAP GUI eller en webblรคsare. Endast frontend-klienten installeras pรฅ anvรคndarens maskin; applikations- och databasservrar kรถrs separat pรฅ dedikerad hรฅrdvara.

Applikationsservrar: Applikationsservrar kรถr affรคrslogik. Arbetsbelastningen รคr fรถrdelad รถver flera applikationsservrar sรฅ att anvรคndare fรฅr svar snabbare under hรถg belastning. Dessa servrar kรถrs vanligtvis pรฅ fjรคrrinfrastruktur snarare รคn pรฅ anvรคndarnas arbetsstationer.

Databasserver: Databasservern lagrar och hรคmtar data som svar pรฅ SQL frรฅgor genererade av ABAP och Java applikationer. Databasen och applikationstjรคnsterna kan kรถras pรฅ samma maskin eller pรฅ separata fysiska vรคrdar beroende pรฅ kapacitetsbehov.

Varfรถr gรถr SAP Anvรคnder R/3 en 3-nivรฅarkitektur?

Att separera presentation, affรคrslogik och lagring i tre oberoende nivรฅer ger SAP R/3 fyra praktiska fรถrdelar jรคmfรถrt med en- eller tvรฅvรฅningskonstruktioner:

  • Oberoende skalbarhet: Varje lager kan skalas separat. En flaskhals i affรคrslogiken lรถses genom att lรคgga till applikationsservrar utan att vidrรถra databasens hรฅrdvara.
  • Arbetsbรถrdafรถrdelning: Meddelandeservern belastningsbalanserar inkommande sessioner รถver applikationsservrar, vilket fรถrhindrar att en enskild server blir en enda tvistepunkt.
  • Databasskydd: Slutanvรคndare ansluter aldrig direkt till databasen. Alla lรคs- och skrivoperationer gรฅr igenom applikationsserverns arbetsprocesser, vilka standardiserar auktoriseringskontroller, lรฅsning och transaktionsloggning.
  • Upgrade flexibilitet: Ocuco-landskapet SAP GUI-grรคnssnittet kan utvecklas (skrivbords-, webblรคsar- eller mobilklienter via SAPUI5) utan att รคndra applikations- eller databaskod.

Denna separation รคr ocksรฅ det som mรถjliggรถr SAP fรถr att stรถdja flera databasbackends โ€” inklusive SAP HANA, Oracle, IBM Db2, och Microsoft SQL Server โ€” under samma applikationskodbas.

SAP R/2 vs SAP R/3: Hur ArchiTektur utvecklad

SAP R/2 kรถrdes pรฅ en stordator och anvรคnde en tvรฅskiktsarkitektur dรคr anvรคndarterminalen kommunicerade direkt med databasen. R/3, som lanserades 1992, infogade ett dedikerat applikationslager mellan klient och databas. De tvรฅ sida vid sida:

AspectSAP R / 2SAP R / 3
Architecture2-nivรฅer (stordator + terminal)3-nivรฅer (presentation + applikation + databas)
hรฅrdvaraCentraliserad stordatorDistribuerad Unix / Windows / Linux-servrar
SkalbarhetEndast vertikal (stรถrre stordator)Horisontell (lรคgg till applikationsservrar)
DatabasรฅtkomstDirekt frรฅn anvรคndarsessionenMedierad av arbetsprocesser fรถr applikationsservern
ProgrammeringsmodellEndast ABAP/4ABAP och Java sida vid sida

De รฅterstรฅende avsnitten fรถrklarar vart och ett av de tre R/3-lagren i detalj.

Fรถrstรฅ annorlunda SAP skikt

SAP R/3-lagersarkitekturdiagram

Figur 1: De tre SAP R/3-lager och trafiken som flyter mellan dem.

Presentationslager

Ocuco-landskapet Presentationslager innehรฅller de programvarukomponenter som utgรถr SAP GUI โ€” det grafiska grรคnssnittet fรถr R/3-systemet. Det รคr grรคnssnittet mellan systemet och dess anvรคndare och ger en intuitiv layout fรถr att mata in och visa data.

Detta lager vidarebefordrar anvรคndarinmatning till applikationsservern och renderar den data den tar emot som svar. Medan SAP Om det grafiska anvรคndargrรคnssnittet kรถrs fรถrblir det lรคnkat till en anvรคndares terminalsession i R/3-systemet under hela sessionen.

Applikationslager

Ocuco-landskapet Applikationslager bestรฅr av en eller flera applikationsservrar och en meddelandeserverVarje applikationsserver kรถr en uppsรคttning tjรคnster som kรถr R/3-affรคrslogik. I teorin rรคcker det med en enda applikationsserver; i praktiken distribueras tjรคnsterna รถver flera servrar fรถr kapacitet och redundans.

Meddelandeservern koordinerar kommunikationen mellan applikationsservrar. Den vidarebefordrar fรถrfrรฅgningar, tracks applikationsservergrupper och tilldelar en lรคmplig server nรคr en anvรคndare loggar in baserat pรฅ aktuell belastning. Det รคr detta som mรถjliggรถr horisontell skalning.

Databaslager

Ocuco-landskapet Databaslager innehรฅller ett centralt databassystem som lagrar all data som anvรคnds av R/3-systemet. Databasstacken har tvรฅ komponenter โ€“ databashanteringssystemet (DBMS) och sjรคlva databasen. SAP levererar sitt eget DBMS, SAP HANA, och stรถder รคven alla stรถrre kommersiella databaser (Oracle, IBM Db2, Microsoft SQL Server).

All R/3-data โ€“ anpassning av instรคllningar, applikationskod, skรคrmdefinitioner, menyer, funktionsmoduler och runtime-data โ€“ finns i den hรคr databasen. Programkod och designobjekt finns i en sรคrskild sektion som kallas R/3-arkivet; dessa "fรถrrรฅdsobjekt" รคr vad ABAP Workbench lรคser, skriver och transporterar mellan system.

Fรถrstรฅ komponenterna i SAP R/3 3-lager Architecture

Komponenter av SAP R/3 3-nivรฅarkitektur

Figur 2: ABAP + Java systemarkitektur som visar hur de tvรฅ stackarna delar infrastruktur.

En modern SAP NetWeaver-instansen kan vara vรคrd fรถr bรฅde ABAP och Java stackar. Komponenterna nedan visar hur varje stack hanterar sin egen dispatching samtidigt som den delar gateway-, ICM- och JCO-bryggan fรถr kommunikation mellan stackar.

KomponentStackRoll
Meddelandeserver (ABAP)ABAPKoordinerar kommunikationen mellan distribuerade dispatchers i ABAP-system och balanserar belastningen mellan instanser.
AvsรคndarkรถABAPBuffer som hรฅller inkommande fรถrfrรฅgningar tills en arbetsprocess blir ledig.
AvsรคndareABAPHรคmtar fรถrfrรฅgningar frรฅn kรถn och tilldelar var och en till lรคmplig arbetsprocesstyp.
ABAP-arbetsprocesserABAPUtfรถr dialogrutesteg i R/3-applikationer. Typer inkluderar dialog, uppdatering, bakgrund, spool och kรถlรคggning.
GatewayDeladeMรถjliggรถr kommunikation mellan SAP system och mellan SAP och externa system via RFC.
MinnesrรถrDeladeร–verfรถr data mellan Internet Communication Manager (ICM) och ABAP-arbetsprocesser.
Meddelandeserver (Java)Javakoordinater Java avsรคndare och serverprocesser; mรถjliggรถr kommunikation inom Java kรถrtidskluster.
Kรถa servernJavaHanterar logiska lรฅs som stรคllts in av Java applikationskod som kรถrs inuti en serverprocess.
Centrala tjรคnsterJavaEn speciell Java klusterinstans som hanterar lรฅsning och meddelanden mellan processer. En โ€instansโ€ รคr en grupp resurser (minne, arbetsprocesser etc.).
Java AvsรคndareJavaTar emot kundfรถrfrรฅgningar och vidarebefordrar dem till Java serverprocesser.
SDMJavaSoftware Deployment Manager โ€” installerar J2EE-komponenter pรฅ Java stack.
Java ServerprocesserJavaBearbeta ett stort antal fรถrfrรฅgningar samtidigt med hjรคlp av multi-threading.
ICMDeladeInternet Communication Manager โ€” aktiverar HTTP-, HTTPS- och SMTP-trafik sรฅ att SAP kan nรฅs frรฅn en webblรคsare.
JCObroJava Kontakt โ€” hanterar kommunikationen mellan Java dispatchern och ABAP-dispatchern nรคr bรฅda stackarna kรถrs sida vid sida.

Typer av ABAP-arbetsprocesser i SAP R / 3

Figur 3: Kategorier av ABAP-arbetsprocesser (Dialog, Uppdatering, Bakgrund, Spool, Enqueue).

Hur SAP Fungerar inloggningsprocessen?

SAP R/3-inloggningsprocessflรถde

Figur 4: Steg-fรถr-steg-flรถde fรถr en anvรคndarinloggning genom SAP R/3-dispatcher och arbetsprocesslager.

Steg 1) Anvรคndaren klickar pรฅ SAP system frรฅn SAP GUI; begรคran vidarebefordras till avsรคndare.

Steg 2) Begรคran hamnar i fรถrfrรฅgningskรถn. Ledaren fรถljer en fรถrst in, fรถrst ut regel och tilldelar begรคran till nรคsta tillgรคngliga arbetsprocess.

Steg 3) En arbetsprocess av lรคmplig typ tilldelas. En anvรคndare som loggar in fรฅr en Dialog-arbetsprocess; en bakgrundsrapport fรฅr en Bakgrundsarbetsprocess; en UPDATE-sats skickas till en Uppdatera-arbetsprocess. ร…tgรคrden avgรถr typen av arbetsprocess.

Steg 4) Nรคr dialogarbetsprocessen har tilldelats sparas anvรคndarens behรถrigheter och aktuella instรคllningar. rullade in till delat minne sรฅ att arbetsprocessen kan agera pรฅ anvรคndarens data. Nรคr dialogsteget รคr klart, รคr dessa data utrullad fรถr att frigรถra minne fรถr nรคsta anvรคndare. Ett "dialogsteg" รคr fรถrflyttningen frรฅn en skรคrm till en annan inuti en transaktion.

Steg 5) Arbetsprocessen letar fรถrst efter den begรคrda datan i bufferten. Att hitta den dรคr kallas en slรฅ och undviker en databas-tur och retur, vilket fรถrbรคttrar svarstiden. Att inte hitta den utlรถser en Frรถken och en databaslรคsning. En hรถg trรคff-till-miss-kvot รคr den enskilt stรถrsta bidragande faktorn till SAP prestanda.

Steg 6) Eventuell รฅterstรฅende data hรคmtas frรฅn databasen och det kombinerade resultatet skickas tillbaka till SAP GUI via dispatchern.

Steg 7) Anvรคndarens sessionsdata tas bort frรฅn det delade minnet i en slutlig utrullning, vilket frigรถr minnesomrรฅdet fรถr nรคsta begรคran.

Samma avsรคndare โ†’ kรถ โ†’ arbetsprocess โ†’ buffert โ†’ utrullningscykel upprepas fรถr varje anvรคndarinteraktion, oavsett om begรคran kommer frรฅn SAP GUI, en webblรคsare via ICM eller ett externt system via gatewayen.

Vanliga frรฅgor

SAP R/3 anvรคnder en diskbaserad 3-nivรฅarkitektur som รคr kompatibel med flera databaser. SAP S/4HANA kรถrs uteslutande pรฅ minnesservern SAP HANA databas, fรถrenklar datamodeller och รคr optimerad fรถr realtidsanalys och moderna anvรคndarupplevelser via SAP Fiori.

Ocuco-landskapet SAP Dispatchern tar emot anvรคndarfรถrfrรฅgningar, placerar dem i fรถrfrรฅgningskรถn och tilldelar var och en till en ledig arbetsprocess enligt principen fรถrst in, fรถrst ut. Det รคr grindvakten som kontrollerar arbetsfรถrdelningen inom en SAP applikationsserver.

Ja. AI-baserade รถvervakningsverktyg analyserar SAP loggar, bufferttrรคfffรถrhรฅllanden och utnyttjande av arbetsprocesser fรถr att fรถrutsรคga flaskhalsar innan de uppstรฅr. SAP bรคddar รคven in AI i verktyg som SAP AI Core och Joule fรถr avvikelsedetektering och intelligent automatisering.

SAP R/3-stรถd Oracle, IBM Db2, Microsoft SQL Server, Sybase ASE, MaxDB, Informix (historisk) och SAP HANA. Databaslagret รคr abstracbakom Open SQL sรฅ att ABAP-kod fรถrblir portabel รถver dessa backend-system.

Nej. AI automatiserar rutinรถvervakning, logganalys och patchrekommendationer, men SAP Grundadministratรถrer รคger fortfarande arkitekturbeslut, uppgraderingsstrategi, transporthantering, sรคkerhetspolicy och incidenthantering โ€“ ett arbete som krรคver mycket omdรถme och som AI snarare fรถrstรคrker รคn ersรคtter.

Sammanfatta detta inlรคgg med: