Cloud Storage を SAP のコンテンツ リポジトリとして実装する

このドキュメントでは、ABAP SDK for Google Cloud のオンプレミスまたはクラウド エディションを使用して、SAP のコンテンツ リポジトリとして Cloud Storage を実装する方法について説明します。Cloud Storage は、PDF や画像などのさまざまなファイル形式の保存や、ビジネスデータのアーカイブなど、SAP 関連のデータ ストレージのニーズに対応できます。

SAP ドキュメントを保存し、ビジネスデータを Cloud Storage にアーカイブすることで、SAP ワークフローとの互換性を維持しながら、スケーラブルで費用対効果の高いソリューションを実現できます。

Cloud Storage をコンテンツ リポジトリとして使用する場合、ファイルサイズが 5 TB までのドキュメントを保存できます。これは、 Google Cloudの Cloud Storage バケットに対する個々のアップロードの上限です。

データフロー図

次の図は、ABAP SDK for Google Cloud を使用して、SAP システム内のドキュメントとビジネスデータが Cloud Storage にアーカイブされる方法を示しています。

SAP のコンテンツ リポジトリとして使用される Cloud Storage

上の図に示すように、SAP から Google Cloudへのデータフローには、次のコンポーネントが関係しています。

  • ビジネス オブジェクトに関連付けられたドキュメント: 保存するビジネス オブジェクトに関連付けられたドキュメント(請求書ファイルなど)を表します。

  • SAP のビジネスデータ: SAP ERP システムからアーカイブするビジネスデータを表します。

  • SAP アーカイブ プログラム: SAP データベースからストレージへのビジネスデータの移動プロセスを処理する SAP 内のプログラムです。

  • SAP ArchiveLink サービス: SAP ArchiveLink サービスは、SAP システムと Cloud Storage 間でドキュメントとビジネスデータを移動するためのブリッジとして機能します。

  • ABAP SDK for Google Cloud: この SDK を使用すると、SAP システムと Google Cloudの間で通信を行うことができます。 Google Cloud API を操作するために必要な関数を提供します。

  • SAP Internet Communication Manager(ICM): これは、ネットワーク通信を処理する SAP NetWeaver アプリケーション サーバーのコンポーネントです。HTTP ベースのリクエストのゲートウェイとして機能します。

  • Cloud Storage: Google Cloudが提供するクラウドベースのオブジェクト ストレージ サービスで、ドキュメントとビジネスデータが保存されます。

セキュリティ

SAP データをアーカイブすると、Cloud Storage API を介してデータが安全に Cloud Storage に転送されます。この通信は、HTTPS 暗号化と OAuth ベースの認証を使用して保護されます。その後、TLS 暗号化により、インターネット上のすべての経路でデータの安全性が保たれます。

Google Cloudで保存データの暗号化を有効にすると、ディスク上またはバックアップ メディア上にある保存データが保護されます。デフォルトでは、Google が暗号鍵を管理し、保存データに対してベースライン レベルの保護を提供します。デフォルトの暗号鍵は Google が管理しますが、Cloud Key Management Service で独自の暗号鍵を作成して管理し、制御を強化することもできます。

Cloud Storage では、IAM を介してアクセス制御を実装することで、アーカイブされたデータをさらに保護し、人間による改ざんを防ぎます。WRITE 権限と READ 権限は、必要なサービス アカウントにのみ付与してください。人間による確認が必要な場合は、Cloud Storage バケットに対する厳格な VIEW 権限または READ 権限を拡張します。

最小限の権限を付与し、IAM のベスト プラクティスに準拠していることを確認します。ユーザーまたはサービス アカウントが特定のタスクを実行するために絶対に必要な権限のみを付与してください。

料金

ABAP SDK for Google Cloud のインストールと利用には料金が発生しません。この SDK には、Cloud Storage を SAP のコンテンツ リポジトリとして実装できるサブパッケージが含まれています。ただし、Cloud Storage のデータ量に基づいて発生する費用はお客様のご負担となります。Cloud Storage の料金については、料金をご覧ください。

Cloud Storage を SAP のコンテンツ リポジトリとして設定する

このセクションでは、SAP システムのコンテンツ リポジトリとして Cloud Storage を構成する手順について説明します。

Cloud Storage API を有効にする

Google Cloud プロジェクトで Cloud Storage API を有効にします。 Google Cloud API を有効にする方法については、API の有効化をご覧ください。

Cloud Storage バケットを作成する

SAP データは Cloud Storage バケットに保存されます。ストレージ バケットを作成するには、ストレージ バケットの作成に移動し、手順に沿って操作します。データに適したストレージ クラスを選択してください。Cloud Storage で使用可能なストレージ クラスの概要については、ストレージ クラスをご覧ください。

ストレージ バケットの作成と管理に関するベスト プラクティスについては、バケットの命名ガイドラインバケットのロケーションをご覧ください。

SDK をインストールする

ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションの最新バージョンをインストールすると、Cloud Storage をコンテンツ リポジトリとして実装するためのサブパッケージが自動的にインストールされます。SDK のインストール方法については、ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションをインストールして構成するをご覧ください。

ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションのバージョン 1.9 以前を使用している場合は、SDK を最新バージョンに更新してください。詳細については、ABAP SDK for Google Cloud を更新するをご覧ください。

この機能は、ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションでのみ使用できます。

認証を設定する

ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションで Google Cloud API にアクセスするための認証を設定すると、同じ認証方法を使用して Cloud Storage API にアクセスできます。ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションで認証を設定する方法については、認証の概要をご覧ください。

認証設定の一部として作成したクライアント キーをメモします。このクライアント キーは、Cloud Storage をコンテンツ リポジトリとして構成するときに使用します。

必要な IAM のロール

クライアント キー構成で構成した API アクセス専用のサービス アカウントに Cloud Storage バケットへのアクセス権があることを確認します。

クライアント キー構成で構成されたサービス アカウントには、次の IAM ロールが必要です。

バックグラウンド ユーザーを作成する

Cloud Storage を SAP のコンテンツ リポジトリとして実装するために、SDK には SICF HTTP ハンドラクラス /GOOG/CL_CONTENT_REPO_GCS が含まれています。

実行時に SICF HTTP ハンドラクラス /GOOG/CL_CONTENT_REPO_GCS を呼び出すには、バックグラウンド ユーザーを作成する必要があります。

バックグラウンド ユーザーを作成するには、次の操作を行います。

  1. バックグラウンド ユーザーを作成します。バックグラウンド ユーザーの作成方法については、バックグラウンド ユーザーを作成するをご覧ください。

  2. ユーザー ID: ARCHIVEUSER を指定します。

  3. バックグラウンド ユーザーの初期パスワードを設定します。

    後で使用できるように、ユーザー ID とパスワードをメモしておきます。

SAP ArchiveLink サービスが SAP と Cloud Storage 間の通信リンクを確立するには、SICF ノードが必要です。

SICF ノードを作成する手順は次のとおりです。

  1. SAP GUI で、トランザクション SICF を開きます。
  2. 新しいノードを作成する適切な場所に移動します。
  3. 親ノードを右クリックして [New Sub-element] を選択します。
  4. SAP ArchiveLink サービスの名前を入力します(例: gcs_archivelink)。
  5. 新しく作成したサービスをダブルクリックして、そのプロパティにアクセスします。
  6. [Logon Data] タブに移動します。
  7. [Procedure] フィールドで、[Required with Logon Data] を選択します。
  8. バックグラウンド ユーザーを作成するで作成したバックグラウンド ユーザーの ARCHIVEUSER とパスワードを指定します。
  9. [Handler list] タブに移動します。
  10. コンテンツ リポジトリの HTTP ハンドラクラスを構成するには、「/GOOG/CL_CONTENT_REPO_GCS」と入力します。
  11. 新しいエントリを保存します。

コンテンツ リポジトリ定義を作成する

Cloud Storage との統合用のコンテンツ リポジトリ定義を作成します。

コンテンツ リポジトリ定義を作成するには、次の操作を行います。

  1. SAP GUI で、トランザクション OAC0 を開きます。
  2. [New Entries] をクリックします。
  3. コンテンツ リポジトリの名前を入力します。
  4. コンテンツ リポジトリの説明を入力します。
  5. [Document area] フィールドで [ARCHIVELINK] を選択します。
  6. [Storage type] フィールドで、[HTTP content server] を選択します。
  7. [Version no.] フィールドに、コンテンツ サーバーのバージョン番号を入力します。
  8. [HTTP server] フィールドに、SAP システムの HTTP ホスト名を入力します。
  9. [Port number] フィールドに、SAP システムの HTTP ポートを入力します。HTTPS ポートを使用している場合は、そのポート番号を [SSL port number] フィールドに入力します。
  10. [HTTP Script] フィールドに、SAP ArchiveLink サービス用に作成した SICF ノードのパスと名前を入力します(例: sap/bc/gcs_archivelink)。

    この情報は、SAP アプリケーションとコンテンツ サーバーの SICF ノードとの間の内部通信に使用されます。

  11. 新しいエントリを保存します。

Cloud Storage のコンテンツ リポジトリを構成する

SAP システムがコンテンツ リポジトリとして Cloud Storage とやり取りできるように、接続パラメータを構成します。

コンテンツ リポジトリを構成する手順は次のとおりです。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Content Repository: Configuration] をクリックします。

  3. [New Entries] をクリックします。

  4. 次のフィールドに値を入力します。

    フィールド データ型 説明
    コンテンツ リポジトリ 文字列 コンテンツ リポジトリ定義の名前。詳細については、コンテンツ リポジトリの定義を作成するをご覧ください。
    Google Cloud キー名 文字列 認証の設定時に Google Cloud への認証用に構成したクライアント キー。
    Cloud Storage バケット 文字列 SAP データを保存する Cloud Storage バケットの名前。
    データファイルの命名規則 文字列 Cloud Storage バケット名に保存されるデータファイルのファイル命名規則。次のいずれかを選択します。
    • データファイルを DOC_ID データとして保存する
    • データファイルをデータとして保存する
  5. 新しいエントリを保存します。

これで、コンテンツ リポジトリの準備ができました。構成したコンテンツ リポジトリは、ドキュメントの保存や、SAP でサポートされているユースケースのビジネスデータのアーカイブに使用できます。

ユースケース

Cloud Storage は、次のユースケースのコンテンツ リポジトリとして使用できます。

ドキュメントを保存する

ビジネス オブジェクトに関連付けられたドキュメントを Cloud Storage バケットに保存するには、トランザクション OAC3 で関連するビジネス オブジェクトを選択し、コンテンツ リポジトリ定義を作成するで作成したコンテンツ リポジトリを構成します。

ビジネス オブジェクトに関連付けられたドキュメントを保存するようにコンテンツ リポジトリを構成する方法については、SAP ドキュメントの How to configure the Archivelink scenario をご覧ください。

データをアーカイブする

ビジネスデータを Cloud Storage バケットにアーカイブするには、SAP アーカイブ管理(SARA)トランザクションを使用して、コンテンツ リポジトリ定義を作成するで作成したコンテンツ リポジトリを構成します。

ビジネスデータをアーカイブするためにコンテンツ リポジトリを構成する方法については、SAP ドキュメントの Archive Administration をご覧ください。

拡張出口

Cloud Storage を SAP のコンテンツ リポジトリとして実装する場合は、拡張ポイントを使用してコードを挿入し、カスタム機能を追加できます。

次の表に、拡張ポイントがサポートする関数、メソッド、拡張ポイントを含むクラスを示します。

関数 クラス メソッド スポット オプション
DOC_SEARCH メソッドでの追加の前処理 /GOOG/CL_CONTENT_REPO_GCS DOC_SEARCH /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_DOC_SEARCH
APPEND メソッドでの追加の前処理 /GOOG/CL_CONTENT_REPO_GCS APPEND /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_APPEND
APPEND メソッドの後の追加の後処理 /GOOG/CL_CONTENT_REPO_GCS APPEND /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_APPEND
PROCESS_CREATE メソッドでの追加の前処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_CREATE
PROCESS_CREATE メソッドでの追加の後処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_CREATE
PROCESS_CREATE_POST メソッドでの追加の前処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_CREATE_POST
PROCESS_CREATE_POST メソッドでの追加の後処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_CREATE_POST
PROCESS_GET メソッドでの追加の後処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_GET /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_GET
PROCESS_UPDATE メソッドでの追加の前処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_UPDATE
PROCESS_UPDATE メソッドでの追加の後処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_UPDATE
PROCESS_UPDATE_POST メソッドでの追加の前処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_UPDATE_POST
PROCESS_UPDATE_POST メソッドでの追加の後処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_UPDATE_POST
削除後の追加の後処理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_DELETE /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_DELETE

サポートを利用する

ABAP SDK for Google Cloud の問題を解決するには、次の操作を行います。

コミュニティ リソース

SAP のコンテンツ リポジトリとして Cloud Storage を実装する際は、次のコミュニティ リソースをご覧ください。