トップ > 技術コラムNews > SAP技術情報 > 「SAP Basis概要の教科書」No.1 システム概要編

更新日 

「SAP Basis概要の教科書」No.1 システム概要編

はじめに

SAP Freelance Jobs運営事務局です。

この度は「SAP Basis概要の教科書」と題し、数回に渡って、SAP Basisの概要について解説していこうと思います。

SAPシステムはアプリケーションサーバとデータベースサーバと、サーバを分離して構成されるケースがほとんどです。

第一回の本記事では、それらサーバ上で構成させるSAPシステムの概要について説明いたします。

SAPシステムアクセスの流れ

下記イメージ図を通してSAPシステムへアクセスするまでの行程を説明いたします。

 

 

1.インスタンス

SAPシステムを構成するコンポーネントを管理するための単位になります。

処理を受け付ける「ディスパッチャ」や処理内容により振分けられる「ワークプロセス」、バッファなどのメモリ領域などで構成されます。詳細は後述いたします。

2.メッセージサーバ

SAPシステムへのアクセス窓口になります。SAPシステムにアクセスすると一旦ここで要求を受け付けます。SAPは主に基幹システムで利用されるケースが多いため、大多数の社員が利用者となるため1台のサーバに処理が集中すると負荷が上がり、サーバの性能が処理に追い付かず応答時間の遅延を招いてしまいます。そこで、SAPではメッセージサーバ(物理的なサーバではなく1つのプロセス)で処理を受け付けた後、その時に最も負荷がかかっていないサーバ(この後説明するディスパッチャ)へ処理を転送するという役割を担っています。

3.ディスパッチャ

メッセージサーバからの要求を受け付け、その処理内容に適したワークプロセスを呼び出します。大量の処理要求が押し寄せ、配下のワークプロセスが全て使用中の状態になると、ワークプロセスの空きができるまでディスパッチャ上で処理が待機します。結果として利用者側へのレスポンスが遅れることになるため、ワークプロセスは要求に対して十分な数を用意する必要があります。

4.ワークプロセス

SAPワークプロセスは処理の内容に応じて複数の種類が用意されています。

4-1.ダイアログワークプロセス(DIA)

画面表示など、フロント処理をつかさどるプロセスになります。

SAPシステムでは「トランザクションコード」を入力して伝票を入力したり、売り上げデータを表示したりしますが、そのような場合に利用されます。

4-2.バックグランドワークプロセス(BG)

文字通りバックグラウンドの処理をつかさどるプロセスになります。

例えば業務バッチジョブなど、画面に表示されない“裏方”の処理を実行します。

また、SAPの性能情報の収集や障害検知処理などもバックグラウンドプロセスが利用 されています。

アプリケーション開発者が作るアドオンプログラム(SAP標準の機能で要件を満たせない場合に作るその会社独自のプログラム)も、画面を出すものとそうでないものが存在し、前者であればダイアログが、後者であればバックグラウンドがそれぞれ使われることになります。

4-3.アップデートワークプロセス(UP1,UP2)

データやログの更新に使われるプロセスになります。UP1は同期型、UP2は非同期型の更新プロセスになり、業務データは主にUP1で更新されますが、その業務データと併せてログを更新するような場合に、ログデータはUP2プロセスで非同期に更新されます。

4-4.エンキューワークプロセス(ENQ)

上述のアップデートワークプロセスでデータを更新する前に、該当データをロックするためのプロセスになります。同じデータを複数人で参照・利用することは少なくありません。そのため、ロックを行わないと同時に同じデータを修正するとデータの不整合が発生してしまいます。そのため、SAPでは更新を行う前に更新箇所(行)をロックし、更新完了後に解除する仕組みになっています。それをつかさどるのがこのエンキューワークプロセスになります。

4-5.スプールワークプロセス(SPO)

SAPデータベースに格納されている伝票データの印刷などの印刷要求を処理するワークプロセスになります。

5.データベース

SAPシステムの根幹になる部分です。これまでご説明した部分はSAPを起動・利用するまでの「プロセス」にあたりますが、このデータベースにはSAPにアクセスした後に実際に処理するための「データ」が格納されています。(例えば会社の売り上げのデータや、人事データなど)

また、SAPシステムはABAPというプログラム言語で構成されていますが、そのプログラムで書かれた入出力用の画面など、実際の業務データのみではなく入出力インタフェースなどの開発したプログラムもここにすべて格納されています。

SAPのデータベースは様々なRDMS(リレーショナルデータマネージメントシステム)に対応しており、SQLServer、Oracle、DB2、MaxDBなど主要なRDMSからデータベースを選定、構築することが可能です。昨今ではSAP独自のインメモリデータベースであるSAP HANADBの利用も広がり、今後SAPのERP製品の主軸となる“S/4”(現在のERP6.0に代わる製品)では、このHANADBが必須となっています。

おわりに

今回SAPシステムの概要について紹介させていただきました。BasisとしてSAPシステムを管理していくためには、まずシステムの全体像、構成、言葉の定義を理解することが重要です。次回は、ここでご説明したSAPシステムの“制御方法”について詳しくご紹介してきたいと思います。

LINEで送る
Pocket

SAP案件紹介や独立相談 
その他の特典を獲得

60秒で無料登録

案件情報やSAP技術情報を
気軽に受け取る

メルマガ登録

LINE友達登録