!--a11y-->

以下の各セクションでは、それぞれがベーシスシステムの役割を示している R/3 システムの3 つのビューについて説明します。
次の図は、R/3 システムの論理ビューを示したものです。
論理ビューとハードウェアベースまたはソフトウェアベースのビューの相違点は、上記のコンポーネントのすべてを特定のハードウェアまたはソフトウェアユニットに割り当てられるとは限らないことです。上記の図は、R/3 ベーシスシステムが R/3 システム内でセントラルプラットフォームとして機能する仕組みを示しています。次に、R/3 ベーシスシステムの 3 つの論理コンポーネントのタスクについて説明します。
カーネルおよびベーシスサービスコンポーネントはすべての R/3 アプリケーションの実行時環境であり、ハードウェア、オペレーティングシステム、およびデータベース別に導入されます。実行時環境は、主に C および C++ で作成されています。ただし、いくつかの部分は ABAP でも作成されています。カーネルおよびベーシスサービスコンポーネントのタスクは、以下のとおりです。
キ
実行アプリケーション
すべての R/3
アプリケーションは、このコンポーネント内のソフトウェアプロセッサ (
仮想マシン)
で実行されます。
キ
ユーザおよびプロセス管理
R/3
システムはマルチユーザ環境であり、各ユーザは複数の独立したアプリケーションを実行することができます。つまり、このコンポーネントは、通常は 1
つのオペレーティングシステムに属するタスクを担当します。ユーザは R/3
システムにログオンして、その中でアプリケーションを実行します。したがって、ユーザはホストの実際のオペレーティングシステムと直接連携することはありません。R/3
システムが、ホストオペレーティングシステムの唯一のユーザになります。
キ
データベースアクセス
各 R/3
システムは、データベース管理システム (DBMS)
とデータベース自体で構成されるデータベースシステムにリンクしています。アプリケーションがデータベースと直接通信することはありません。代わりに、アプリケーションはベーシスサービスを使用します。
キ
通信
R/3
アプリケーションは、他のR/3
システムや非 SAP
システムと通信することができます。また、BAPI
インタフェースを使用して、外部システムから R/3
アプリケーションにアクセスすることもできます。通信に必要なサービスはすべて、カーネルおよびベーシスサービスコンポーネントに組み込まれています。
キ
システムモニタリングおよび管理
このコンポーネントには、実行中の R/3
システムを監視および管理し、実行時パラメータを変更できるプログラムが組み込まれています。
ABAP ワークベンチコンポーネントは、ABAP 言語によるアプリケーションを対象とした本格的な開発環境です。ABAP ワークベンチを使用して、アプリケーション開発の作成、編集、テスト、および編成を行うことができます。ABAP ワークベンチは R/3 ベーシスシステムに完全に統合されており、他の R/3 アプリケーションと同様に、それ自体も ABAP で作成されています。
プレゼンテーションコンポーネントは R/3 システムとユーザ間のインタラクションだけでなく、デスクトップコンポーネント統合( ワードプロセッサやスプレッドシートなど) を実行します。
次の図は、R/3 システムのソフトウェア指向ビューを示したものです。ソフトウェア指向ビューは、R/3 システムを構成する各種ソフトウェアコンポーネントについて説明したものです。ソフトウェア指向ビューでは、R/3 システム内のすべての SAPgui コンポーネントとアプリケーションサーバが R/3 ベーシスシステムを構成しています。
R/3 ベーシスシステムは、多階層構造のクライアント/ サーバシステムです。各ソフトウェアコンポーネントは階層式に配列されており、それぞれの位置に応じて、下位のコンポーネントのクライアントとして機能したり、上位のコンポーネントのサーバとして機能します。R/3 システムの標準構成には、以下のソフトウェア層が含まれています。
データベース層は、R/3 システム内のすべてのデータを含むセントラルデータベースシステムで構成されます。データベースシステムには、データベース管理システム (DBMS) およびデータベースという 2 つのコンポーネントが組み込まれています。R/3 システムは自社製品である SAP DB と他社サプライヤのデータベースシステム、DB2/400 (AS/400 で使用) 、DB2/Common Server 、DB2/MVS 、INFORMIX 、Microsoft SQL Server 、ORACLE および ORACLE Parallel Server をサポートしています。
データベースには、マスタデータと使用しているビジネスアプリケーションのトランザクションデータだけでなく、R/3 システム全体のすべてのデータが保存されています。たとえば、データベースには R/3 システムの実行方法を決定するコントロールとカスタマイジングデータが保存されています。また、アプリケーションのプログラムコードも保存されています。アプリケーションはプログラムコード、Dynpro 定義、メニュー、汎用モジュール、その他のさまざまなコンポーネントで構成されます。これらは、R/3 リポジトリというデータベースの特別なセクションに保存されているため、リポジトリオブジェクトと呼ばれています。これらのオブジェクトは ABAP ワークベンチで使用します。
アプリケーション層は 1 つ以上のアプリケーションサーバと1 つのメッセージサーバで構成されます。各アプリケーションサーバには、R/3 システムを実行する際に使われる一連のサービスが組み込まれています。理論上では、R/3 システムを実行するために必要なアプリケーションサーバは 1 つだけです。実際には、サービスは複数のアプリケーションサーバに分散されています。したがって、すべてのアプリケーションサーバがすべてのサービスを提供するわけではありません。メッセージサーバはアプリケーションサーバ間の通信を処理します。これは、システム内で 1 つのアプリケーションサーバから別のアプリケーションサーバにリクエストを渡します。また、メッセージサーバにはアプリケーションサーバグループに関する情報と、アプリケーションサーバグループ内の現在の負荷分散に関する情報も保存されています。この情報にもとづいて、ユーザがシステムにログオンする際に適切なサーバが選択されます。
プレゼンテーション層には、SAPgui ( グラフィカルユーザインタフェース) を構成するソフトウェアコンポーネントが組み込まれています。この層は、R/3 システムとユーザ間のインタフェースになります。R/3 システムは SAPgui を使用して、データの入力や照会をする際の直観的なグラフィカルユーザインタフェースを提供しています。プレゼンテーション層はユーザの入力をアプリケーションサーバに送信し、表示用データをアプリケーションサーバから受け取ります。SAPgui コンポーネントは、実行中ずっと、R/3 システム内のユーザの端末セッションにリンクしています。
このソフトウェア指向ビューは、インターネットトランザクションサーバ (ITS) などの層を追加するために拡張可能です。
ソフトウェア指向ビューは、システムのハードウェア構成とは連携していません。層とコンポーネントに対して、さまざまなハードウェア構成が考えられます。層を分散させる際に、たとえば、1 台のホストにすべての層を組み込むことができます。または、これとはまったく対照的に、層ごとに最低 1 台のホストを設定することもできます。コンポーネントを扱う場合、データベースコンポーネントの分散は使用するデータベースシステムによって異なります。アプリケーション層とプレゼンテーション層のコンポーネントを分散させるホストの台数に制限はありません。また、1 台のホストに複数のアプリケーションサーバをインストールすることも可能です。一般的な設定では、データベースシステムと 1 つのアプリケーションサーバ ( 特別なデータベースサービスが格納されているもの) を 1 台のホストで実行し、追加の各アプリケーションサーバをそれぞれ専用のホストで実行します。プレゼンテーション層のコンポーネントは通常、ユーザのデスクトップコンピュータで実行します。
R/3 ソフトウェアが 3 つの層に分散されているため、システム負荷も分散されることになります。したがって、システムパフォーマンスが向上します。
データベースシステムには R/3 システム全体のデータがすべて格納されているため、システム実行時に非常に大きい負荷がかかることになります。したがって、アプリケーションプログラムを同じホスト上で実行しないようにしてください。R/3 システムのアーキテクチャではアプリケーション層とデータベース層が別個に扱われるため、アプリケーション層とデータベース層をそれぞれ別のホストにインストールし、ネットワークを利用して互いに通信できるように設定することができます。
また、プログラム実行をユーザ入力の処理やデータ出力の書式化といったタスクから分離することも効果的です。これは、プレゼンテーション層とアプリケーション層を分離することで可能になります。SAPgui とアプリケーションサーバは、この 2 つの層の間で転送されるデータ量を最小限に抑えるように設計されています。したがって、プレゼンテーション層は、遠距離にあるアプリケーションサーバに低速で接続しているホストでも使用できます。
R/3 システムのソフトウェアコンポーネントはさまざまなホストを使用しているほとんどすべての設定で分散可能なため、システムのスケーラビリティが高くなります。これは、とくにアプリケーション層で重要です。アプリケーション層では、追加のアプリケーションサーバをインストールすることで、増大する需要に対して R/3 システムを容易に適合させることができます。
アプリケーション層とプレゼンテーション層が別個になっているという事実は、アプリケーションプログラマにとって重要な意味を持っています。ユーザとの対話を必要とするアプリケーションプログラムを実行しているときに、プログラムのコントロールは層間をたえず行き来しています。画面がユーザの入力に応じられるときには、プレゼンテーション層が有効になっています。アプリケーションサーバはそのプログラムに関して無効ですが、他のタスクに対応できる状態です。ユーザが画面上でデータを入力すると、プログラムのコントロールはアプリケーション層に戻されます。このときに、プレゼンテーション層が無効になります。SAPgui はこの時点でユーザに表示されており、画面もまだ表示されていますが、ユーザ入力を受け入れることはできません。SAPgui が再び有効になるのは、アプリケーションプログラムが新しい画面を呼び出して、それをプレゼンテーションサーバに送ったときです。
したがって、2 つの画面間で発生するアプリケーションプログラムのプログラムロジックをダイアログステップといいます。
次の図は、R/3 システムのユーザ指向ビューを示したものです。
R/3 システムのコンポーネントのうち、ユーザに見えるのは画面上でウィンドウとして表示されるものです。ウィンドウは R/3 システムのプレゼンテーション層によって生成され、R/3 ベーシスシステムに組み込まれています。
ユーザは、R/3 システムにログオンする前に、フロントエンドにインストールされている SAP ログオンと呼ばれるユーティリティを起動する必要があります。SAP ログオンでは、ユーザは使用可能な R/3 システムの 1 つを選択します。次に、プログラムは選択したシステムのメッセージサーバに接続して、適切な ( もっとも使用頻度の低い) アプリケーションサーバのアドレスを取得します。さらに、そのアプリケーションサーバに接続している SAPgui を起動します。このあと、SAP ログオンプログラムはこの接続に関して必要なくなります。
SAPgui によってログオン画面が起動します。ユーザが正常にログオンすると、画面上の R/3 ウィンドウに R/3 システムの第一画面が表示されます。SAPgui の中で、R/3 ウィンドウはセッションとして表示されます。ログオン後に、ユーザは単一の SAPgui の中で最大 5 つの追加セッション (R/3 ウィンドウ) を開くことができます。これらのセッションは、独立した SAPgui のように機能します。複数のセッションを使用すると、複数のアプリケーションを、互いに関係なく並行処理することができます。
1 つのセッションの中で、ユーザは追加ウィンドウ ( ダイアログボックス、グラフィックウィンドウなど) を呼び出すアプリケーションを実行することができます。これらのウィンドウは独立したものではなく、呼出元のセッションに関連しています。これらのウィンドウはモーダル ( オリジナルウィンドウが入力不可) の場合も、非モーダル ( 両方のウィンドウが入力可能) の場合もあります。
ユーザは、SAP ログオンを使用して他のSAPgui を開き、同じシステムまたは別の R/3 システムにログオンすることができます。それぞれの SAPgui と対応する R/3 端末セッションは完全に独立しています。したがって、複数の R/3 システムのプレゼンテーション層を表示する SAPgui をデスクトップコンピュータ上で開くことができます。
