SAP R / 3 XNUMX Architecture

โšก Smart oppsummering

SAP R / 3 XNUMX ArchiTektur er en trelags klient-server-design som skiller presentasjons-, applikasjons- og databaseansvar. Denne artikkelen forklarer hvert lag, ABAP og Java komponentstakken, den koordinatordrevne pรฅloggingsprosessen og รฅrsakene SAP valgte denne lagdelte modellen.

  • ๐Ÿ—๏ธ Nรธkkelprinsipp: SAP R/3 skiller presentasjon, applikasjonslogikk og lagring i tre uavhengige nivรฅer som kan skaleres pรฅ ulik maskinvare.
  • โš™๏ธ ArchiTekstuell innsikt: Applikasjonslaget bรฆrer forretningslogikk pรฅ tvers av en eller flere applikasjonsservere koordinert av en meldingsserver for lastbalansering.
  • ๐Ÿงฉ Komponentfokus: ABAP og Java stabler bruker hver sin distinkte sendere, arbeidsprosesser, gatewayer og en Java Kontakt (JCO) for kryssstakkkommunikasjon.
  • ๐Ÿ”„ Prosessvisning: Pรฅloggingsflyten fรธlger en deterministisk sender โ†’ forespรธrselskรธ โ†’ arbeidsprosess โ†’ buffer eller database โ†’ utrullingssyklus.
  • โšก Ytelsestips: En hรธyere buffer hit ratio versus database miss ratio er den mest pรฅlitelige mรฅten รฅ forbedre seg pรฅ SAP R/3 responstid.

Sap R/3 Architecture

SAP R / 3 XNUMX ArchiTeksturen ligger til grunn for nesten alle klassikere SAP ERP-distribusjon. Avsnittene nedenfor forklarer hvordan de tre nivรฅene samhandler og hvordan ABAP og Java Stabler deler arbeidet mellom sender, meldingsserver og database.

Hva er SAP R/3?

SAP R/3 er et klient-server-bedriftssystem bygget pรฅ en trelagsarkitektur bestรฅende av tre uavhengige lag:

  1. Presentasjon
  2. Sรธknad
  3. Database
  • R stรฅr for Sanntids behandling.
  • 3 stรฅr for 3-lags arkitektonisk mรธnster.

SAP R / 3 XNUMX Archioversikt over tekstur

Brukerens PC (front-end): Brukere fรฅr tilgang til SAP system gjennom SAP GUI eller en nettleser. Bare front-end-klienten er installert pรฅ brukerens maskin; applikasjons- og databaseservere kjรธrer separat pรฅ dedikert maskinvare.

Applikasjonsservere: Applikasjonsservere kjรธrer forretningslogikk. Arbeidsbelastningen fordeles pรฅ flere applikasjonsservere, slik at brukerne mottar svar raskere under tung belastning. Disse serverne kjรธrer vanligvis pรฅ ekstern infrastruktur i stedet for brukerarbeidsstasjoner.

Databaseserver: Databaseserveren lagrer og henter data som svar pรฅ SQL spรธrringer generert av ABAP og Java applikasjoner. Databasen og applikasjonstjenestene kan kjรธre pรฅ samme maskin eller pรฅ separate fysiske verter, avhengig av kapasitetsbehov.

Hvorfor gjรธr SAP Bruker R/3 en 3-lags arkitektur?

ร… separere presentasjon, forretningslogikk og lagring i tre uavhengige nivรฅer gir SAP R/3 fire praktiske fordeler fremfor en- eller to-etasjes design:

  • Uavhengig skalerbarhet: Hvert lag kan skaleres separat. En flaskehals i forretningslogikk lรธses ved รฅ legge til applikasjonsservere uten รฅ berรธre databasemaskinvaren.
  • Fordeling av arbeidsmengde: Meldingsserveren belastningsfordeler innkommende รธkter pรฅ tvers av applikasjonsservere, og forhindrer at รฉn enkelt server blir et enkelt stridspunkt.
  • Databasebeskyttelse: Sluttbrukere kobler seg aldri direkte til databasen. Alle lese- og skriveoperasjoner gรฅr gjennom arbeidsprosesser pรฅ applikasjonsserveren, som standardiserer autorisasjonskontroller, lรฅsing og transaksjonslogging.
  • Upgrade fleksibilitet: Ocuco SAP GUI-grensesnittet kan utvikles (desktop-, nettleser- eller mobilklienter via SAPUI5) uten รฅ endre applikasjons- eller databasekode.

Denne separasjonen er ogsรฅ det som tillater SAP รฅ stรธtte flere databasebackends โ€“ inkludert SAP HANNA, Oracle, IBM Db2, og Microsoft SQL Server โ€” under samme applikasjonskodebase.

SAP R/2 vs. SAP R/3: Hvordan ArchiTeksturen utviklet

SAP R/2 kjรธrte pรฅ en stormaskin og brukte en tolagsarkitektur der brukerterminalen kommuniserte direkte med databasen. R/3, lansert i 1992, satte inn et dedikert applikasjonslag mellom klient og database. De to side om side:

Aspekt SAP R / 2 XNUMXSAP R / 3 XNUMX
Architecture2-lags (stormaskin + terminal)3-lags (presentasjon + applikasjon + database)
maskinvareSentralisert stormaskinDistribuert Unix / Windows / Linux-servere
skalerbarhetKun vertikal (stรธrre hovedramme)Horisontal (legg til applikasjonsservere)
DatabasetilgangDirekte fra brukerรธktenFormidlet av arbeidsprosesser for applikasjonsserveren
ProgrammeringsmodellKun ABAP/4ABAP og Java side ved side

De resterende avsnittene forklarer hvert av de tre R/3-lagene i detalj.

Forstรฅ annerledes SAP lag

SAP R/3-lags arkitekturdiagram

Figur 1: De tre SAP R/3-lagene og trafikken som flyter mellom dem.

Presentasjonslag

Ocuco Presentasjonslag inneholder programvarekomponentene som utgjรธr SAP GUI โ€” det grafiske grensesnittet til R/3-systemet. Det er grensesnittet mellom systemet og brukerne, og gir et intuitivt oppsett for รฅ legge inn og vise data.

Dette laget videresender brukerinndata til applikasjonsserveren og gjengir dataene det mottar som svar. Mens SAP Hvis det grafiske brukergrensesnittet kjรธrer, forblir det koblet til en brukers terminalรธkt i R/3-systemet sรฅ lenge รธkten varer.

Applikasjonslag

Ocuco Applikasjonslag bestรฅr av รฉn eller flere applikasjonsservere og en meldingsserverHver applikasjonsserver kjรธrer et sett med tjenester som utfรธrer R/3-forretningslogikk. I teorien er รฉn enkelt applikasjonsserver tilstrekkelig; i praksis distribueres tjenester pรฅ tvers av flere servere for kapasitet og redundans.

Meldingsserveren koordinerer kommunikasjonen mellom applikasjonsservere. Den videresender forespรธrsler, tracks applikasjonsservergrupper, og tilordner en passende server nรฅr en bruker logger seg pรฅ basert pรฅ gjeldende belastning. Dette er det som muliggjรธr horisontal skalering.

Databaselag

Ocuco Databaselag huser et sentralt databasesystem som lagrer alle data som brukes av R/3-systemet. Databasestakken har to komponenter โ€“ databasehรฅndteringssystemet (DBMS) og selve databasen. SAP sender sitt eget DBMS, SAP HANNA, og stรธtter ogsรฅ alle stรธrre kommersielle databaser (Oracle, IBM Db2, Microsoft SQL Server).

Alle R/3-data โ€“ tilpasning av innstillinger, applikasjonskode, skjermdefinisjoner, menyer, funksjonsmoduler og kjรธretidsdata โ€“ ligger i denne databasen. Programkode og designobjekter ligger i en egen seksjon kalt R/3-arkivet; disse ยซrepository-objekteneยป er det ABAP Workbench leser, skriver og transporterer mellom systemer.

Forstรฅ komponentene i SAP R/3 3-lags Architecture

Komponenter av SAP R/3 3-lags arkitektur

Figur 2: ABAP + Java Systemarkitektur som viser hvordan de to stakkene deler infrastruktur.

Et moderne SAP NetWeaver-instansen kan vรฆre vert for bรฅde ABAP og Java stabler. Komponentene nedenfor viser hvordan hver stabel hรฅndterer sin egen utsendelse mens den deler gateway-, ICM- og JCO-broen for kommunikasjon pรฅ tvers av stabler.

KomponentStableRolle
Meldingsserver (ABAP)ABAPKoordinerer kommunikasjon mellom distribuerte sendere i ABAP system og balanserer belastningen pรฅ tvers av instanser.
SenderkรธABAPBuffer som holder innkommende forespรธrsler inntil en arbeidsprosess blir ledig.
AvsenderABAPHenter forespรธrsler fra kรธen og tilordner hver av dem til riktig arbeidsprosesstype.
ABAP-arbeidsprosesserABAPUtfรธr dialogtrinn i R/3-applikasjoner. Typer inkluderer dialog, oppdatering, bakgrunn, utskriftskรธ og en kรธ.
InngangsportdeltMuliggjรธr kommunikasjon mellom SAP systemer og mellom SAP og eksterne systemer via RFC.
MinnerรธrdeltOverfรธr data mellom Internet Communication Manager (ICM) og ABAP-arbeidsprosessene.
Meldingsserver (Java)Javakoordinater Java sendere og serverprosesser; muliggjรธr kommunikasjon internt Java kjรธretidsklynge.
Legg serveren i kรธJavaAdministrerer logiske lรฅser satt av Java applikasjonskode som kjรธrer inne i en serverprosess.
SentraltjenesterJavaEn spesiell Java klyngeinstans som hรฅndterer lรฅsing og meldingsutveksling mellom prosesser. En ยซinstansยป er en gruppe ressurser (minne, arbeidsprosesser osv.).
Java AvsenderJavaMottar kundeforespรธrsler og videresender dem til Java serverprosesser.
SDMJavaProgramvaredistribusjonsbehandling โ€“ installerer J2EE-komponenter pรฅ Java stable.
Java ServerprosesserJavaBehandle et stort antall forespรธrsler samtidig ved hjelp av multi-threading.
ICMdeltInternet Communication Manager โ€“ aktiverer HTTP-, HTTPS- og SMTP-trafikk, slik at SAP kan nรฅs fra en nettleser.
JCOBridgeJava Kontakt โ€“ hรฅndterer kommunikasjon mellom Java sentralen og ABAP-stableren nรฅr begge stakkene kjรธrer side om side.

Typer av ABAP-arbeidsprosesser i SAP R / 3 XNUMX

Figur 3: Kategorier av ABAP-arbeidsprosesser (Dialog, Oppdatering, Bakgrunn, Spol, Enqueue).

Hvordan i SAP Fungerer pรฅloggingsprosessen?

SAP R/3-pรฅloggingsprosessflyt

Figur 4: Steg-for-steg-prosess for brukerpรฅlogging gjennom SAP R/3-koordinator og arbeidsprosesslag.

Trinn 1) Brukeren klikker pรฅ SAP system fra SAP GUI; forespรธrselen videresendes til avsender.

Trinn 2) Forespรธrselen havner i forespรธrselskรธ. Sentralbordet fรธlger en fรธrst inn fรธrst ut regel og tilordner forespรธrselen til den neste tilgjengelige arbeidsprosessen.

Trinn 3) En arbeidsprosess av riktig type tildeles. En bruker som logger pรฅ mottar en Dialog-arbeidsprosess; en bakgrunnsrapport mottar en Bakgrunns-arbeidsprosess; en UPDATE-setning sendes til en Oppdater-arbeidsprosess. Handlingen bestemmer typen arbeidsprosess.

Trinn 4) Nรฅr Dialog-arbeidsprosessen er tilordnet, lagres brukerens autorisasjoner og gjeldende innstillinger. rullet inn til delt minne slik at arbeidsprosessen kan reagere pรฅ brukerens data. Nรฅr dialogtrinnet er ferdig, blir disse dataene rullet ut for รฅ frigjรธre minne til neste bruker. Et ยซdialogtrinnยป er bevegelsen fra ett skjermbilde til et annet i en transaksjon.

Trinn 5) Arbeidsprosessen sรธker fรธrst etter de forespurte dataene i bufferen. ร… finne dem der kalles en rammet og unngรฅr en rundtur i databasen, noe som forbedrer responstiden. Hvis du ikke finner den, utlรธser det en gรฅ glipp av og en databaseavlesning. En hรธy treff-til-miss-ratio er den stรธrste enkeltstรฅende bidragsyteren til SAP ytelse.

Trinn 6) Eventuelle gjenvรฆrende data blir spรธrt fra databasen, og det kombinerte resultatet sendes tilbake til SAP GUI via koordinatoren.

Trinn 7) Brukerens รธktdata fjernes fra delt minne i en endelig rull ut, og frigjรธr minneomrรฅdet for neste forespรธrsel.

Den samme koordinatoren โ†’ kรธ โ†’ arbeidsprosess โ†’ buffer โ†’ utrullingssyklusen gjentas for hver brukerinteraksjon, enten forespรธrselen stammer fra SAP GUI, en nettleser via ICM, eller et eksternt system via gatewayen.

Spรธrsmรฅl og svar

SAP R/3 bruker en diskbasert 3-lagsarkitektur som er kompatibel med flere databaser. SAP S/4HANA kjรธrer utelukkende pรฅ minnet SAP HANNA database, forenkler datamodeller og er optimalisert for sanntidsanalyse og moderne brukeropplevelser via SAP Fiori.

Ocuco SAP En sentral mottar brukerforespรธrsler, plasserer dem i forespรธrselskรธen og tilordner hver enkelt til en ledig arbeidsprosess etter fรธrst inn, fรธrst ut-prinsippet. Det er portvokteren som kontrollerer arbeidsfordelingen i en SAP applikasjonsserver.

Ja. AI-baserte overvรฅkingsverktรธy analyserer SAP logger, buffertreffforhold og utnyttelse av arbeidsprosesser for รฅ forutsi flaskehalser fรธr de oppstรฅr. SAP bygger ogsรฅ inn AI i verktรธy som SAP AI Core og Joule for avviksdeteksjon og intelligent automatisering.

SAP R/3-stรธtter Oracle, IBM Db2, Microsoft SQL Server, Sybase ASE, MaxDB, Informix (historisk) og SAP HANA. Databaselaget er abstractet bak Open SQL, slik at ABAP-kode forblir portabel pรฅ tvers av disse backend-ene.

Nei. AI automatiserer rutinemessig overvรฅking, logganalyse og anbefalinger for oppdateringer, men SAP Basisadministratorer eier fortsatt arkitekturbeslutninger, oppgraderingsstrategi, transportstyring, sikkerhetspolicy og hendelsesrespons โ€“ vurderingstungt arbeid som AI forsterker i stedet for รฅ erstatte.

Oppsummer dette innlegget med: