SCSK 大口です。
前回の記事は以下です。
今回は、主に、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 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 |
おそらく問題としては、ほぼ、S/4HANA や、ERP の移行が中心に出題されるように推察しています。そのあたりを重点的に確認しておけばよいのではないかと考えています。
これ以降は、基本は、S/4HANA や、SAP Business Suite (SAP ERP等) の構成の話を説明していきます。
SAPシステムの基本の構成要素
インスタンス
SAP ERP や SAP S/4HANA などのSAPシステムは、1つのデータベースと、1つ以上のインスタンスで構成されます。その動作の中心となるインスタンスを「セントラルインスタンス(CI)」と言います。それ以外のインスタンスを「ダイアログインスタンス(DI)」と呼ぶことが多いです。
そして、その構成単位ごとに英字大文字3文字からなる「SID」と呼ばれる名前を決めます。これがシステムの名前になります。
各インスタンスには、システム番号という数字2桁からなる番号を指定します。デフォルトは、00です。同じホスト上には同じ番号では存在できませんが、異なるホスト名であれば、同じシステム番号とすることができます。
SAPシステムのインスタンスは、ABAPベースで動作するものと、Javaベースで動作する2種類があります。それぞれ動作させられるSAP製品(パッケージ)が異なります。使用したい機能によって、導入するインスタンスの種類を決めることになります。
また、各インスタンスはそれぞれ独自の EC2 インスタンスに導入したり、複数のインスタンスを一つの EC2 のインスタンスに導入したりすることができます。また、データベースインスタンスに一緒に導入することもできます。
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の責任の下に継続されるというメリットがあります。また、SAP独自の機能拡張がされていて、ABAP インスタンスとの認証の統合など、複数の機能が実装されています。
SAP のプロダクトの基本構造
SAP社が提供する SAP Business Suite (SAP ERP等) や、SAP S/4HANA のメインストリーム製品の構造は以下のように考えられると思います。以下の図は私なりの解釈なので公式説明ではないという前提で確認ください。
※ DBクライアントは、SAPインスタンスとデータベースアプリケーションを同じサーバに導入する場合は不要です。
まとめ
今回は、SAP Basis の基礎ということで、SAP のインスタンス構成や名称などを整理しました。
次回は、インスタンスの構成などをもう少し解説します。
その3の記事は以下です。
変更履歴
2022.01.04 SAP on AWS でサポートされる製品群について修正、ABAPベースのインスタンスの図を修正
2022.03.20 表記、説明について一貫性があるように調整