SAP導入プロジェクトに参画する上で、『移送』の仕組みを理解していることが重要です。移送を語る上で、システム構成やクライアントについての理解が必要不可欠です。
今回は、SAPが推奨している『スリーランドスケープ』やクライアントなど、移送の仕組みや考え方を解説します。
SAPのシステム構成
SAPのシステム構成はプロジェクトによって異なりますが、SAPでは『3(スリー)ランドスケープ』を推奨しています。実際に私が過去に経験したほとんどのプロジェクトで、この『3ランドスケープ』を採用していました。
『スリーランドスケープ』とは、「開発機」「検証機」「本番機」の3つのシステムで構成することを意味します。
開発機
「開発機」とは、カスタマイズやプログラム開発を行う環境です。また、開発を行う環境であるため、単体テストもこの開発機で行います。開発機で実装されたカスタマイズや開発オブジェクトは、単体テストで問題なければ検証機へ移送されます。
検証機
「検証機」とは、名前の通りテストを行う環境です。結合テスト、総合テスト、受入テスト、移行リハーサルなど、様々な検証がこの環境で行われます。そして問題がなければ、開発機から移送されてきたカスタマイズや開発オブジェクトを本番機へと移送されます。
障害があった場合は、開発機でカスタマイズやプログラムを修正し、修正内容を改めて検証環境に移送し再検証を行います。検証機でカスタマイズや開発プログラムを修正することは禁止されています。
本番機
「本番機」は、実際にユーザーは利用する環境です。実際にエンドユーザーが通常業務で使用する環境であるため、この環境で作業することはまずありません。障害が発生した場合は、保守・運用メンバーが検証機で調査を行います。
クライアントとは
3つのシステムを解説しましたが、それぞれのシステム内で『クライアント』という複数の環境を持つことができます。クライアントを分けることで、1つのシステム内(同一サーバー)でデータを区別して管理することが可能となります。
例えば、「検証機」で品質検証(テスト)とユーザトレーニングを行うとします。トランザクションやマスタデータを区別したい場合、品質検証用のクライアントとユーザトレーニング用のクライアントを分けることで、データを別々に管理することができます。
移送とは
上述の通り、カスタマイズやプログラム開発は「開発機」で実装し、検証機や本番機に移送します。
また、移送時には移送するカスタマイズや開発オブジェクトがクライアント依存か非依存かを考慮しなければなりません。クライアント依存のオブジェクトは、その名の通りクライアントに依存するため、各クライアントごとに移送しなければなりません。一方、クライアント非依存のオブジェクトは、マスタとなる1つのクライアントに移送されることで、その環境(システム)内の他のすべてのクライアントにも反映されます。
例えば、検証機で障害が発生し、開発機のクライアント'CUST'でカスタマイズを修正したとします。このカスタマイズがクライアント依存であった場合は、開発機上の他のクライアント'TEST'や'SAND'に移送をしなければなりません。これをクライアント間移送と呼びます。逆に修正したカスタマイズがクライアント非依存であった場合は、修正内容が他のクライアントにも反映されるため、同一システム内では移送を実施する必要はありません。
クライアント依存/非依存とは
- クライアント依存:
1つのクライアントで修正が行われても、他のクライアントには修正内容が反映されないため、クライアントごとに移送が必要 - クライアント非依存:
修正内容は同一システム内のすべてのクライアントに反映されるため、クライアント間の移送は不要
最後に
ここまで、移送の仕組みや考え方を解説しました。SAP導入プロジェクトに参画する上で必要不可欠な知識であるため、参考にしていただければと思います。
まとめ
- SAPは『スリーシステムランドスケープ』(開発機・検証機・本番機)を推奨している。
- カスタマイズやプログラム開発は「開発機」で行い、「検証機」と「本番機」に移送する。
- クライアント依存のオブジェクトは、クライアント間移送を行う必要がある。