AWS SAP on AWS Speciality 受験対策その2「SAP 基本アーキテクチャ」

SCSK 大口です。

本記事は、SAPアドベントカレンダーの12/7の記事です。
本記事では、AWS の新しい認定資格である AWS SAP on AWS Speciality の解説をしています。サンプル問題の解説の記事も掲載しています。

前回の記事は以下です。

今回は、主に、SAP Basis の基礎知識を中心に、SAP on AWS でサポートされる製品群と基本アーキテクチャの話を書いていきたいと思います。

Exam Guide を読んでいて、最初、Exam Guide の流れ通りに整理しようかなと思ったのですが、構成の話を整理するとなると用語のそもそもの解説を SAP や AWS の公式ドキュメントでも全然みかけなくて、ここは避けて通れないかなと思っているのと、自分の知識整理のために、勉強したノートを見ながら整理をしていこうと思います。

SAP Basis と SAP Netweaver

Exam Guide に、「SAP Basis およびSAPNetWeaverの管理」とあります。
そもそも、SAP Basis って何?と思っている方も多いのではないかと思います。
SAP Basis は、もともとは、SAP ERP の前身の製品である SAP R/3 の構成コンポーネント名称からきています。SAP Netweaver は、その SAP Basis を改称したもので、SAP ERP や、S/4HANA の構成ソフトウェアの一部を指します。

もう一つは、「SAP Basisエンジニア」という言い方があり、この製品のシステム管理(SAP Administrator)の仕事をする人のことも指します。

SAPエンジニアは、大きく分けて3つあり、SAP Basis の他に、各モジュール(FIやSDなど)の業務コンサルタントとして、業務のやり方を決めたり整理する人、ABAP(Advanced Business Application Programming)言語を用いてアドオンを作成するプログラマーという大きな分類があります。どんなシステムあっても、必ず SAP Basis エンジニアは必要となります。

SAP on AWS でサポートされる製品群

SAP社が提供する製品は多数に及びます。買収した会社の製品も多く、SaaS形態のみでの提供しかない製品もあります。基幹製品の SAP ERP や S/4HANA といった製品や、最近では PaaS や、SaaS 製品を総称して、SAP Business Technology Platform といった呼称もあります。

真面目に整理するときりがないので、ここではテスト対策と割り切って、SAP on AWS でサポートされる製品を以下に動画から抜粋します。

SAP本稼働ソリューション

(SAP on AWS の説明動画より抜粋)

ここで見慣れない「本稼働認定」という言葉があると思いますが、SAPのインストールされた環境を本番稼働をする環境の要件は SAP が設定していて、それを満たしているハードウェア構成やクラウド環境を認定しています。SAP を導入した場合に、導入して本番稼働が認められる EC2 インスタンスが決められています。SAP インスタンスの稼働認定と、SAP HANA の稼働認定があります。

SAPの性能指標として『SAPS』とよく出てきますが、これは、SAPが定める性能値で 100SAPS は1時間あたりに 2000 の注文明細を処理できる性能に相当するとされています。

それから、ここにある SAP Note.1656099 を見ると、実はもっと細かくて、OSも指定があります。

SAP products using SAP NetWeaver Application Servers (WebAS)
(中略)
SUSE Linux Enterprise Server (SLES) 11 or higher
Red Hat Enterprise Linux (RHEL) 6 or higher, see also SAP Note 2871484 – SAP supported variants of Red Hat Enterprise Linux
Oracle Linux (OEL) 6.4 or higher
Windows Server 2008 R2, 2012 (R2), 2016 and 2019

以上の情報を踏まえて、SAPビジネスアプリケーションのカットでデータベース、OS を整理してみました。バージョンは上記のスライドに準じます。詳細なバージョンまでは聞かれないと考えています。Amazon RDS が一部のアプリケーションで利用可能なので注意してください。

ビジネスアプリケーション 利用可能データベース 利用可能なOS 備考
SAP S/4HANA SAP HANA SLES
RHEL
Oracle Linux
Windows Server
SAPNote.
1656099
SAP BW/4HANA
SAP Business Suite SAP HANA, SAP ASE, Oracle, Microsoft SQL Server, IBM DB2, Max DB
SAP Business All-in-One
SAP Business Warehouse
SAP Business One SAP HANA, Microsoft SQL Server SLES
RHEL
Windows Server
SAPNote.
2058870
SAP Business Objects SAP HANA, SAP ASE, Oracle, Microsoft SQL Server, IBM DB2, Max DB, MySQL
Amazon RDS for Oracle, Microsoft SQL Server, MySQL
SLES
RHEL
Oracle Linux
Windows Server
SAPNote.
1656099、3015613
SAP Hybris HSQL DB, SAP HANA, Oracle,
Microsoft SQL Server, IBM DB2, MySQL
Amazon Aurora
Windows / Linux
(Only Oracle JRE / JDK and SAP JVM supported versions.)
SAP Help Protal

AWS Blog

おそらく問題としては、ほぼ、S/4HANA や、ERP の移行が中心に出題されるように推察しています。そのあたりを重点的に確認しておけばよいのではないかと考えています。

これ以降は、基本は、S/4HANA や、ERP の構成の話を説明していきます。

SAPシステムの基本の構成要素

インスタンス

SAP ERP や SAP S/4HANA などのSAPシステムは、1つのデータベースと、1つ以上のインスタンスで構成されます。その動作の中心となるインスタンスを「セントラルインスタンス(CI)」と言います。それ以外のインスタンスを「ダイアログインスタンス(DI)」と呼ぶことが多いです。
そして、その構成単位ごとに英字大文字3文字からなる「SID」と呼ばれる名前を決めます。これがシステムの名前になります。

各インスタンスには、システム番号という数字2桁からなる番号を指定します。デフォルトは、00です。同じホスト上には同じ番号では存在できませんが、異なるホスト名であれば、同じシステム番号とすることができます。

SAPシステムのインスタンスは、ABAPベースで動作するものと、Javaベースで動作する2種類があります。それぞれ動作させられる製品が異なります。使用したい機能によって、導入するインスタンスの種類を決めることになります。

また、各インスタンスはそれぞれ独自の EC2 インスタンスに導入したり、複数のインスタンスを一つの EC2 のインスタンスに導入したりすることができます。また、データベースインスタンスに一緒に導入することもできます。

SAPインスタンスの構成

ABAP インスタンス

ABAP言語で書かれたプログラムを動作させるインスタンスを ABAPインスタンスと言います。古くから使われているインスタンスで、SAPのインスタンスというと、ABAPインスタンスを指すことは多いです。

ABAPインスタンスは、プログラムを処理するためにのワークプロセスがあり、以下の種類があります。

表記 呼び方 処理内容
DIA ダイアログ ダイアログステップを実行する
BTC バックグラウンド バックグラウンドジョブを処理する
UPD アップデート データベース変更を行う(クリティカルなもの)
UP2 アップデート データベース変更を行う(クリティカルではないもの)
ENQ エンキュー SAP ロックオブジェクトのロックを設定してリリースする
SPO スプール スプール処理に対して使用する

ワークプロセスに以外にも処理はしないですが、処理の振り分けや仲介をするプロセスもいます。

表記 フルスペル 呼び方 処理内容
MS Message Server メッセージサーバ インスタンス間の中への処理の振り分けをする
DP Dispatcher ディスパッチャ インスタンスの中での処理の振り分けをする
GW Gateway ゲートウェイ SAP内と外部との通信の仲介をする
ICM Internet Communication Manager アイシーエム HTTP/HTTPS などの処理をワークプロセスに渡す

各プロセスを配置も含めて図解をすると以下のようになります。

データベースへの処理ですが、更新処理は、ダイアログまたはバックグラウンドプロセスから発生した処理は、アップデートプロセスに流れます。その際にSAPの内部では、エンキュープロセスを使って更新ロックをかけ、DBクライアントを経てデータベースへ更新の処理をかけます。読み込み処理は、各ワークプロセスからDBクライアントを経てデータベースに読み込み処理をする仕組みになっています。

Java インスタンス

SAP の Java インスタンスは、世の中一般にある Java の J2EE サーバと同じものと考えてもらって差支えないかと思います。リリースされた当初は、Sun Java(現Oracle Java) のJDK上で動作していましたが、途中から、SAPが提供するものに切り替えられ、それを利用することで、SAPが提示する保守サイクルにあわせてサポートが継続されるというメリットがあります。また、SAP独自の機能拡張がされていて、ABAP インスタンスとの認証の統合など、複数の機能が実装されています。

SAP のプロダクトの基本構造

SAP社が提供する SAP ERP や、SAP S/4HANA のメインストリーム製品の構造は以下のように考えられると思います。以下の図は私なりの解釈なので公式説明ではないという前提で確認ください。

SAPインスタンスの基本構造

まとめ

今回は、SAP Basis の基礎ということで、SAP のインスタンス構成や名称などを整理しました。

次回は、インスタンスの構成などをもう少し解説します。

その3の記事は以下です。

変更履歴

2022.01.04 SAP on AWS でサポートされる製品群について修正、ABAPベースのインスタンスの図を修正

タイトルとURLをコピーしました