SAP R / 3 Archi構造

⚡ スマートサマリー

SAP R / 3 Archiアーキテクチャは、プレゼンテーション、アプリケーション、データベースの責任を分離する 3 層のクライアント サーバー設計です。この記事では、各層、ABAP と Java コンポーネントスタック、ディスパッチャ駆動のログオンプロセス、および理由 SAP この階層型モデルを選択しました。

  • 🏗️ 重要な原則: SAP R/3は、プレゼンテーション層、アプリケーションロジック層、ストレージ層を3つの独立した階層に分離し、それぞれ異なるハードウェア上で拡張できるようにしています。
  • ⚙️ Archiテクチャーの洞察: アプリケーション層は、メッセージサーバーによって負荷分散のために調整される1つまたは複数のアプリケーションサーバー間でビジネスロジックを伝送します。
  • 🧩 コンポーネントの焦点: ABAPと Java スタックはそれぞれ異なるディスパッチャ、ワークプロセス、ゲートウェイ、および Java スタック間通信用のコネクタ(JCO)。
  • 🔄 プロセスビュー: ログオンフローは、決定論的なディスパッチャ→リクエストキュー→ワークプロセス→バッファまたはデータベース→ロールアウトサイクルに従います。
  • ⚡ パフォーマンスのヒント: バッファヒット率とデータベースミス率の比率を高くすることが、改善のための最も確実な手段です。 SAP R/3応答時間。

樹液R/3 Archi構造

SAP R / 3 Archi構造はほぼすべての古典作品の基盤となっている SAP ERP の導入。以下のセクションでは、3 つの層がどのように相互作用し、ABAP と ERP がどのように連携するかを説明します。 Java スタックは、ディスパッチャとメッセージサーバー、およびデータベース間で処理を分割します。

何ですか SAP R/3ですか?

SAP R/3は、 3層アーキテクチャ 3つの独立した層から構成される:

  1. プレゼンテーション
  2. 用途
  3. データベース
  • R の略 リアルタイム 処理。
  • 3 は、 3層 建築様式。

SAP R / 3 Archi講義概要

ユーザーのPC(フロントエンド): ユーザーはアクセスします SAP システムスルー SAP GUIまたはWebブラウザを使用します。ユーザーのマシンにはフロントエンドクライアントのみがインストールされ、アプリケーションサーバーとデータベースサーバーは専用ハードウェア上で別々に動作します。

アプリケーションサーバー: アプリケーションサーバーはビジネスロジックを実行します。ワークロードは複数のアプリケーションサーバーに分散されるため、負荷が高い場合でもユーザーはより迅速に応答を受け取ることができます。これらのサーバーは通常、ユーザーのワークステーションではなく、リモートインフラストラクチャ上で稼働します。

データベースサーバー: データベースサーバーは、 SQL ABAP によって生成されたクエリと Java アプリケーション。データベースとアプリケーションサービスは、容量要件に応じて、同じマシン上で実行することも、別々の物理ホスト上で実行することもできます。

どして SAP R/3は3層アーキテクチャを採用していますか?

プレゼンテーション、ビジネスロジック、ストレージを3つの独立した階層に分離することで、 SAP R/3は、単層または二層設計に比べて4つの実用的な利点があります。

  • 独立した拡張性: 各レイヤーは個別にスケーリング可能です。データベースハードウェアに手を加えることなくアプリケーションサーバーを追加することで、ビジネスロジックのボトルネックを解消できます。
  • ワークロードの分散: メッセージサーバーは、受信セッションをアプリケーションサーバー間で負荷分散することで、いずれかのサーバーが単一の競合ポイントとなることを防ぎます。
  • データベース保護: エンドユーザーはデータベースに直接接続することはありません。すべての読み取りおよび書き込み操作は、アプリケーションサーバーのワークプロセスを経由し、認証チェック、ロック、トランザクションログ記録が標準化されます。
  • Upgrade 柔軟性: その SAP GUI フロントエンドは進化する可能性がある (デスクトップ、ブラウザ、またはモバイル クライアントを介して) SAPアプリケーションやデータベースのコードを変更することなく、UI5)を利用できます。

この分離によって SAP 複数のデータベースバックエンドをサポートするため(以下を含む) SAP HANA, Oracle, IBM Db2、そして Microsoft SQL Server ―同じアプリケーションコードベースの下で。

総合ベスト1倹約する
9.8/ 10
★★★★★
無料トライアルを開始
Xeroなど
9.5/ 10
★★★★★
Xeroにアクセス
Paychex
9.3/ 10
★★★★★
Paychexにアクセスしてください
以下のためにベスト小売・流通業向けERPオンライン会計給与と人材
重要な特徴✓POS、在庫管理、会計が一体化✓請求書発行と銀行照合✓給与計算と税務申告
また、含まれています✓クラウド&モバイルアプリ✓1,000以上のアプリ統合✓給付管理
Free Trial 30日無料トライアル30日無料トライアル無料見積もりを入手
無料トライアルを開始XeroにアクセスPaychexにアクセスしてください

SAP R/2対 SAP R/3: Archiテクトロジーが進化

SAP R/2はメインフレーム上で動作し、ユーザー端末がデータベースと直接通信する2層アーキテクチャを採用していました。1992年に発売されたR/3は、クライアントとデータベースの間に専用のアプリケーション層を挿入しました。この2つを並べて比較すると次のようになります。

側面SAP R / 2SAP R / 3
Archi構造2層構造(メインフレーム+端末)3層構造(プレゼンテーション層+アプリケーション層+データベース層)
Hardware集中型メインフレーム分散型Unix / Windows / Linuxサーバー
拡張性垂直方向のみ(大型メインフレーム)水平方向(アプリケーションサーバーの追加)
データベースアクセスユーザーセッションから直接アプリケーションサーバーのワークプロセスによって媒介される
プログラミングモデルABAP/4のみABAPと Java 並んで

残りのセクションでは、R/3の3つのレイヤーそれぞれについて詳しく説明します。

異なる理解 SAP 層

SAP R/3階層型アーキテクチャ図

図1:3つの SAP R/3レイヤーと、それらの間を流れるトラフィック。

プレゼンテーション層

その プレゼンテーション層 を構成するソフトウェアコンポーネントが含まれています SAP GUIとは、R/3システムのグラフィカルなフロントエンドのことです。システムとユーザー間のインターフェースとして機能し、データの入力と表示を直感的に行えるレイアウトを提供します。

このレイヤーはユーザー入力をアプリケーションサーバーに転送し、応答として受信したデータをレンダリングします。 SAP GUIが実行されている間は、そのセッションの間、R/3システム内のユーザーの端末セッションにリンクされたままになります。

アプリケーション層

その アプリケーション層 1 つ以上のアプリケーション サーバーと メッセージサーバー各アプリケーションサーバーは、R/3のビジネスロジックを実行する一連のサービスを実行します。理論的には単一のアプリケーションサーバーで十分ですが、実際には容量と冗長性を確保するために、サービスは複数のサーバーに分散されます。

メッセージサーバーはアプリケーションサーバー間の通信を調整します。リクエストを転送し、 tracksアプリケーションサーバーグループを生成し、ユーザーがログオンした際に現在の負荷に基づいて適切なサーバーを割り当てます。これが水平スケーリングを可能にする仕組みです。

データベースレイヤー

その データベースレイヤー R/3システムで使用されるすべてのデータを格納する中央データベースシステムが設置されています。データベーススタックは、データベース管理システム(DBMS)とデータベース自体の2つのコンポーネントで構成されています。 SAP 独自のDBMSを搭載し、 SAP HANAまた、主要な商用データベースもすべてサポートしています(Oracle, IBM Db2、 Microsoft SQL Server).

すべての R/3 データ (カスタマイズ設定、アプリケーション コード、画面定義、メニュー、関数モジュール、ランタイム データ) はこのデータベースに格納されます。プログラム コードと設計オブジェクトは、 R/3リポジトリこれらの「リポジトリオブジェクト」は、ABAPワークベンチがシステム間で読み書きおよび転送する対象です。

のコンポーネントを理解する SAP R/3 3層 Archi構造

の構成要素 SAP R/3 3層アーキテクチャ

図2:ABAP + Java 2つのスタックがどのようにインフラストラクチャを共有しているかを示すシステムアーキテクチャ。

モダン SAP NetWeaverインスタンスはABAPと Java スタック。以下のコンポーネントは、各スタックがゲートウェイ、ICM、およびJCOブリッジを共有してスタック間の通信を行いながら、独自のディスパッチ処理をどのように行うかを示しています。

成分スタック職種
メッセージサーバー(ABAP)ABAP分散ディスパッチャー間の通信を調整します。 ABAPシステム そして、インスタンス間で負荷を分散します。
ディスパッチャーキューABAPBuffer 作業プロセスが空くまで、受信したリクエストを保留します。
発車係ABAPキューからリクエストを取り出し、それぞれを適切なワークプロセスタイプに割り当てます。
ABAPワークプロセスABAPR/3アプリケーションでダイアログステップを実行します。タイプには、ダイアログ、更新、バックグラウンド、スプール、エンキューなどがあります。
ゲートウェイ共有通信を可能にする SAP システム間およびシステム間 SAP およびRFCを介した外部システム。
メモリパイプ共有インターネット通信マネージャ(ICM)とABAPワークプロセス間でデータを転送します。
メッセージサーバー(Java)Java座標 Java ディスパッチャとサーバー プロセス。内部での通信を可能にする。 Java ランタイムクラスタ。
エンキューサーバーJava論理ロックを管理します Java サーバープロセス内で実行されるアプリケーションコード。
中央サービスJava特別 Java ロックとプロセス間メッセージングを処理するクラスタインスタンス。「インスタンス」とは、リソース(メモリ、ワークプロセスなど)のグループのことです。
Java 発車係Javaクライアントからのリクエストを受け取り、転送します。 Java サーバープロセス。
SDMJavaソフトウェア展開マネージャー — J2EE コンポーネントをインストールします Java スタック。
Java サーバープロセスJavaマルチスレッド処理を用いて、多数のリクエストを同時に処理する。
ICM共有インターネット通信マネージャー — HTTP、HTTPS、SMTP トラフィックを有効にします。 SAP ブラウザからアクセスできます。
JCOブリッジJava コネクタ — 通信を処理します Java ディスパッチャとABAPディスパッチャは、両方のスタックが並行して実行される場合に使用されます。

ABAPワークプロセスの種類 SAP R / 3

図3:ABAPワークプロセスのカテゴリ(ダイアログ、更新、バックグラウンド、スプール、エンキュー)。

方法 SAP ログオンプロセスは機能しますか?

SAP R/3ログオン処理フロー

図4:ユーザーログオンのステップバイステップフロー SAP R/3ディスパッチャおよびワークプロセス層。

ステップ1) ユーザーがクリックすると SAP からのシステム SAP GUI; リクエストは転送されます ディスパッチャ.

ステップ2) リクエストは リクエストキューディスパッチャーは 先入先出 ルールを適用し、リクエストを次に利用可能な作業プロセスに割り当てます。

ステップ3) 適切なタイプのワークプロセスが割り当てられます。ログオンするユーザーにはダイアログワークプロセスが、バックグラウンドレポートにはバックグラウンドワークプロセスが、UPDATE文には更新ワークプロセスが割り当てられます。ワークプロセスの種類は、実行されるアクションによって決まります。

ステップ4) ダイアログ作業プロセスが割り当てられると、ユーザーの権限と現在の設定は 転がり込んできた ワークプロセスがユーザーのデータに対して動作できるように、共有メモリに渡されます。ダイアログステップが終了すると、そのデータは共有メモリに渡されます。 ロールアウト 次のユーザーのためにメモリを解放する。「ダイアログステップ」とは、トランザクション内で画面間を移動することを指します。

ステップ5) 作業プロセスはまずバッファ内で要求されたデータを探します。そこでデータを見つけることは、 ヒット また、データベースとの往復通信を回避し、応答時間を改善します。見つからない場合は、 ミス そしてデータベースの読み取り。高いヒット/ミス比率は、 SAP パフォーマンス。

ステップ6) 残りのデータはデータベースから照会され、結合された結果が返送されます。 SAP ディスパッチャを介したGUI。

ステップ7) ユーザーのセッションデータは、最終的に共有メモリから削除されます。 ロールアウトメモリ領域を解放して、次のリクエストに備えます。

リクエストの発生元がどこであっても、ユーザーとのやり取りごとに同じディスパッチャ → キュー → ワークプロセス → バッファ → ロールアウトのサイクルが繰り返されます。 SAP GUI、ICM経由のブラウザ、またはゲートウェイ経由の外部システム。

よくあるご質問

SAP R/3は、複数のデータベースと互換性のあるディスクベースの3層アーキテクチャを採用しています。 SAP S/4HANAはインメモリ上でのみ動作します SAP HANA データベース、データモデルを簡素化し、リアルタイム分析と最新のユーザーエクスペリエンスに最適化されています。 SAP フィオーリ。

その SAP ディスパッチャはユーザー要求を受け取り、要求キューに入れ、先入れ先出し方式でそれぞれを空いているワークプロセスに割り当てます。これは、内部のワークロード分散を制御するゲートキーパーです。 SAP アプリケーションサーバー。

はい。AIベースの監視ツールは分析します SAP ログ、バッファヒット率、ワークプロセス利用率などを分析し、ボトルネックが発生する前に予測する。 SAP また、次のようなツールにもAIを組み込んでいます。 SAP 異常検知とインテリジェントオートメーションのためのAI CoreとJoule。

SAP R/3はサポートしています Oracle, IBM Db2、 Microsoft SQL ServerSybase ASE、MaxDB、Informix(過去)、 SAP HANA。データベース層は絶対tracOpen SQL の背後に ted があるため、ABAP コードはこれらのバックエンド間で移植可能です。

いいえ。AIはルーチン監視、ログ分析、パッチ推奨を自動化しますが、 SAP 基盤管理者は、アーキテクチャの決定、アップグレード戦略、トランスポート管理、セキュリティポリシー、インシデント対応といった、判断を要する業務を依然として担っており、AIはこれらの業務を代替するのではなく、補完するものである。