SAP R / 3 Architectura
โก Riepilogo intelligente
SAP R / 3 ArchiLa struttura รจ un'architettura client-server a tre livelli che separa le responsabilitร di presentazione, applicazione e database. Questo articolo spiega ogni livello, l'ABAP e Java stack di componenti, il processo di accesso guidato dal dispatcher e le ragioni SAP ho scelto questo modello a strati.

SAP R / 3 Archila struttura รจ alla base di quasi ogni classico SAP Implementazione ERP. Le sezioni seguenti spiegano come interagiscono i tre livelli e come ABAP e Java Gli stack suddividono il lavoro tra dispatcher, server di messaggistica e database.
Cosa รจ SAP R/3?
SAP R/3 รจ un sistema aziendale client-server costruito su un architettura a tre livelli costituito da tre strati indipendenti:
- Pronta per
- Applicazione
- Banca Dati
- R sta per Tracciamento in tempo reale della spedizione trattamento.
- 3 sta per la 3 livelli modello architettonico.
PC dell'utente (front-end): Gli utenti accedono al SAP sistema attraverso SAP Interfaccia grafica (GUI) o browser web. Solo il client front-end รจ installato sul computer dell'utente; i server applicativi e di database vengono eseguiti separatamente su hardware dedicato.
Server applicativi: I server applicativi eseguono la logica di business. Il carico di lavoro viene distribuito su piรน server applicativi, in modo che gli utenti ricevano risposte piรน rapidamente anche in caso di carico elevato. Questi server in genere vengono eseguiti su infrastrutture remote anzichรฉ sulle workstation degli utenti.
Server di database: Il server di database memorizza e recupera i dati in risposta a SQL query generate da ABAP e Java applicazioni. Il database e i servizi applicativi possono essere eseguiti sulla stessa macchina o su host fisici separati, a seconda delle esigenze di capacitร .
Perchรฉ SAP R/3 utilizza un'architettura a 3 livelli?
Separare la presentazione, la logica aziendale e l'archiviazione in tre livelli indipendenti consente SAP R/3 offre quattro vantaggi pratici rispetto ai modelli a un solo livello o a due livelli:
- Scalabilitร indipendente: Ogni livello puรฒ essere scalato separatamente. Un collo di bottiglia nella logica aziendale viene risolto aggiungendo server applicativi senza intervenire sull'hardware del database.
- Distribuzione del carico di lavoro: Il server di messaggistica bilancia il carico delle sessioni in entrata tra i server applicativi, impedendo che un singolo server diventi un punto critico di contesa.
- Protezione del database: Gli utenti finali non si connettono mai direttamente al database. Tutte le operazioni di lettura e scrittura passano attraverso i processi del server applicativo, che standardizzano i controlli di autorizzazione, il blocco e la registrazione delle transazioni.
- Upgrade flessibilitร : Migliori SAP L'interfaccia utente grafica puรฒ evolversi (client desktop, browser o dispositivi mobili tramite SAPUI5) senza modificare il codice dell'applicazione o del database.
Questa separazione รจ anche ciรฒ che permette SAP per supportare piรน back-end di database, tra cui SAP HANA, Oracle, IBM Db2 e Microsoft SQL Server โ all'interno della stessa base di codice applicativo.
SAP R/2 contro SAP R/3: Come il ArchiTecnologia evoluta
SAP R/2 veniva eseguito su un mainframe e utilizzava un'architettura a due livelli in cui il terminale utente comunicava direttamente con il database. R/3, lanciato nel 1992, introdusse un livello applicativo dedicato tra client e database. I due sistemi affiancati:
| Aspetto | SAP R / 2 | SAP R / 3 |
|---|---|---|
| Architettura | A due livelli (mainframe + terminale) | Architettura a 3 livelli (presentazione + applicazione + database) |
| Hardware | mainframe centralizzato | Unix distribuito / Windows Server Linux |
| Scalabilitร | Solo in verticale (mainframe piรน grande) | Orizzontale (aggiunta di server applicativi) |
| Accesso al database | Direttamente dalla sessione utente | Mediato dai processi di lavoro del server applicativo |
| Modello di programmazione | Solo ABAP/4 | ABAP e Java Fianco a fianco |
Le sezioni rimanenti descrivono in dettaglio ciascuno dei tre livelli di R/3.
Capire il diverso SAP galline ovaiole
Figura 1: I tre SAP Livelli R/3 e il traffico che fluisce tra di essi.
Livello di presentazione
Migliori Livello di presentazione contiene i componenti software che compongono il SAP GUI โ l'interfaccia grafica del sistema R/3. Rappresenta l'interfaccia tra il sistema e i suoi utenti, fornendo un layout intuitivo per l'inserimento e la visualizzazione dei dati.
Questo livello inoltra l'input dell'utente al server dell'applicazione e visualizza i dati che riceve in risposta. Mentre SAP L'interfaccia grafica (GUI) รจ in esecuzione e rimane collegata alla sessione del terminale dell'utente nel sistema R/3 per tutta la durata della sessione stessa.
Livello dell'applicazione
Migliori Livello dell'applicazione รจ costituito da uno o piรน server applicativi e da un server di messaggiOgni server applicativo esegue un insieme di servizi che implementano la logica di business di R/3. In teoria, un singolo server applicativo รจ sufficiente; in pratica, i servizi vengono distribuiti su piรน server per garantire capacitร e ridondanza.
Il server di messaggistica coordina la comunicazione tra i server delle applicazioni. Inoltra le richieste, tracks raggruppa i server delle applicazioni e assegna un server appropriato quando un utente effettua l'accesso, in base al carico corrente. Questo รจ ciรฒ che rende possibile la scalabilitร orizzontale.
Livello database
Migliori Livello database ospita un sistema di database centrale che memorizza tutti i dati utilizzati dal sistema R/3. Lo stack del database รจ composto da due componenti: il sistema di gestione del database (DBMS) e il database stesso. SAP spedisce il proprio DBMS, SAP HANAe supporta anche tutti i principali database commerciali (Oracle, IBM Db2, Microsoft SQL Server).
Tutti i dati R/3 โ impostazioni di personalizzazione, codice dell'applicazione, definizioni delle schermate, menu, moduli funzione e dati di runtime โ risiedono in questo database. Il codice del programma e gli oggetti di progettazione si trovano in una sezione speciale chiamata Repository R/3Questi "oggetti del repository" sono ciรฒ che ABAP Workbench legge, scrive e trasferisce tra i sistemi.
Comprendere i componenti di SAP R/3 a 3 livelli Architectura
Figura 2: ABAP + Java Architettura di sistema che mostra come i due stack condividono l'infrastruttura.
Un moderno SAP L'istanza NetWeaver puรฒ ospitare sia ABAP che Java stack. I componenti seguenti mostrano come ogni stack gestisce il proprio dispatching, condividendo al contempo il gateway, l'ICM e il bridge JCO per la comunicazione tra gli stack.
| Componente | pila | Ruolo |
|---|---|---|
| Server di messaggistica (ABAP) | ABAP | Coordina la comunicazione tra i dispatcher distribuiti nel Sistema ABAP e bilancia il carico sulle regolazioni. |
| Coda del dispatcher | ABAP | Buffer che trattiene le richieste in arrivo finchรฉ un processo di lavoro non si libera. |
| Dispatcher | ABAP | Preleva le richieste dalla coda e assegna ciascuna al tipo di processo di lavoro appropriato. |
| Processi di lavoro ABAP | ABAP | Eseguire passaggi di dialogo nelle applicazioni R/3. I tipi includono Dialogo, Aggiornamento, In background, Spool e Accodamento. |
| Gateway | diviso | Consente la comunicazione tra SAP sistemi e tra SAP e sistemi esterni tramite RFC. |
| Pipe a memoria di forma | diviso | Trasferire dati tra Internet Communication Manager (ICM) e i processi di lavoro ABAP. |
| Server di messaggistica (Java) | Java | Coordinate Java dispatcher e processi server; consente la comunicazione all'interno del Java cluster runtime. |
| Server di accodamento | Java | Gestisce i blocchi logici impostati da Java codice applicativo in esecuzione all'interno di un processo server. |
| Servizi centrali | Java | Uno speciale Java Istanza del cluster che gestisce il blocco e la messaggistica tra processi. Un'โistanzaโ รจ un gruppo di risorse (memoria, processi di lavoro, ecc.). |
| Java Dispatcher | Java | Riceve le richieste dei clienti e le inoltra a Java processi server. |
| SDM | Java | Software Deployment Manager โ installa i componenti J2EE su Java pila. |
| Java Processi del server | Java | Elabora un elevato numero di richieste contemporaneamente utilizzando il multithreading. |
| ICM | diviso | Gestore delle comunicazioni Internet: abilita il traffico HTTP, HTTPS e SMTP in modo SAP ร accessibile tramite browser. |
| JCO | Ponte | Java Connettore โ gestisce la comunicazione tra il Java dispatcher e dispatcher ABAP quando entrambi gli stack vengono eseguiti in parallelo. |
Figura 3: Categorie di processi di lavoro ABAP (Dialogo, Aggiornamento, In background, Spool, Accodamento).
Come il SAP Il processo di accesso funziona?
Figura 4: Flusso passo passo dell'accesso di un utente attraverso il SAP Livelli di dispatching e di elaborazione del lavoro di R/3.
Passo 1) L'utente fa clic su SAP sistema da SAP GUI; la richiesta viene inoltrata all' spedizioniere.
Passo 2) La richiesta arriva nel coda delle richieste. Il centralinista segue un il primo che entra รจ il primo ad uscire regola e assegna la richiesta al successivo processo di lavoro disponibile.
Passo 3) Viene assegnato un processo di lavoro del tipo appropriato. Un utente che effettua l'accesso riceve un processo di lavoro di tipo "Dialogo"; un report in background riceve un processo di lavoro di tipo "Background"; un'istruzione UPDATE viene passata a un processo di lavoro di tipo "Aggiornamento". L'azione determina il tipo di processo di lavoro.
Passo 4) Una volta assegnato il processo di lavoro Dialog, vengono visualizzate le autorizzazioni dell'utente e le impostazioni correnti arrotolato alla memoria condivisa in modo che il processo di lavoro possa agire sui dati dell'utente. Quando il passaggio di dialogo termina, quei dati sono srotolato per liberare la memoria per l'utente successivo. Un "passaggio di dialogo" รจ il passaggio da una schermata all'altra all'interno di una transazione.
Passo 5) Il processo di lavoro cerca innanzitutto i dati richiesti nel buffer. Trovarli lรฌ รจ chiamato colpire e evita un round trip del database, migliorando il tempo di risposta. Non trovarlo innesca un perdere e una lettura del database. Un elevato rapporto successi-fallimenti รจ il singolo fattore che contribuisce maggiormente a SAP e le prestazioni.
Passo 6) Tutti i dati rimanenti vengono interrogati dal database e il risultato combinato viene inviato nuovamente al SAP Interfaccia grafica tramite il dispatcher.
Passo 7) I dati della sessione dell'utente vengono rimossi dalla memoria condivisa in una fase finale srotolare, liberando l'area di memoria per la richiesta successiva.
Lo stesso ciclo dispatcher โ coda โ processo di lavoro โ buffer โ roll-out si ripete per ogni interazione dell'utente, indipendentemente dal fatto che la richiesta provenga da SAP Interfaccia grafica utente (GUI), browser tramite ICM o sistema esterno tramite gateway.





