[Integration, Cloud] Oracle Integration Cloud (OIC) - File-based Integration Best Practices

原文はこちら。
https://blogs.oracle.com/fmw/oracle-integration-cloud-oic-file-based-integration-best-practices

Introduction

Oracle Integration Cloud Service (OIC) では、幅広いユースケースやシナリオをサポートするため、ファイルの受信および処理に対し、いくつかのデザインおよびモデリング上の選択肢を用意しています。ファイルをOICでSecure Shell (SSH) File Transfer Protocol (sFTP) SSH経由で受け取ったり、REST/SOAP/HTTPインターフェースで受け取ったりできます。このエントリの目的は、ファイルサイズやコンテンツのフォーマット、Outboundへの配信方法に基づいて、重要な設計上の選択肢を紹介することにあります。また、OICでの重要なオーケストレーション手順に含まれる、Fusion Applicationのファイルベースの統合パターンもご紹介します。

ファイルベースのOracle Fusion Applicationとの統合にはいくつかのパターンがあります。以下はその例です。
  • ERP CloudはFile Based Data Integration (FBDI) インターフェースを使ったバルクデータ・インポートをサポート
  • HCM CloudはHCM Data Loader (HDL) を使ったバルクデータ・インポートをサポート
  • CRM Cloudは同様のパターンをサポート
  • ERP Cloud Bulk Extracts (BI PublisherやBI Cloud Connectorを利用) では、ファイルをUCMもしくはsFTPサーバに配信
  • 請求書、発注書やその他のサポート対象のドキュメントといった添付ファイルをERPやHCMにアップロード
詳細は、以下の各クラウドサービスのドキュメントをご覧ください。
File-Based Data Import for Oracle Financials Cloud Release 13 (update 18A)
External Data Integration Services for Oracle Cloud: Overview
https://docs.oracle.com/en/cloud/saas/financials/r13-update18a/oefbf/External-Data-Integration-Services-for-Oracle-Cloud-Overview.html
Oracle Human Capital Management Cloud Integrating with HCM Release 13 (update 18A)
HCM Data Loader: Overview
https://docs.oracle.com/en/cloud/saas/applications-common/r13-update18a/faihm/introduction-to-hcm-data-loader.html#FAIHM2243095
File-Based Data Import for Oracle Sales Cloud Release 13 (update 18A)
File-Based Data Import for Oracle Sales Cloud: Overview
https://docs.oracle.com/en/cloud/saas/applications-common/r13-update18a/oefbs/FileBased-Data-Import-for-Oracle-Sales-Cloud-Overview.html
ERPのFBDI、HCMのHDLおよびCRMの全てのファイルベースの統合では、CSV形式でそれぞれのオブジェクトテンプレートに基づきデータファイルを生成する必要があります。このファイルは、オンプレミスシステムまたは他のクラウドアプリケーションによって生成され、OICが処理できるよう、sFTPサーバーにアップロードされます。ファイルをFusion Applications Content Server(UCM)にアップロードすることもできます。
OICの統合フローは、ファイルを取得し、オプションとして、enrichmentや変換などのアクションでファイルのコンテンツを処理して、Fusion Applicationsのそれぞれのオブジェクトのデータファイルを生成します。データファイルがそれぞれのオブジェクトテンプレートに従ってオンプレミスシステムで生成された場合、OICはこのファイルをERPまたはHCM Cloudにパススルーしてインポートプロセスを開始できます。
同様に、ファイルをFusion Applicationsから抽出し、UCMサーバを介してOICに配信されます。 UCMサーバーは、Fusion Applications内にあり、このUCMサーバーには抽出されたファイルが配信され、後工程の処理のためにファイルが格納されています。
下表は、展開後のファイルサイズに基づいてファイルベースの統合フローを設計するためのハイレベルの決定モデルです。

Table 1 - インターフェースがサポートするファイルサイズ
 (展開後のファイルサイズに基づく)

オリジナルの
ファイルサイズ
Inbound
インターフェース
ランタイムの
考慮点
Outbound
インターフェース
〜1MB 任意のアダプタ 制限なし 任意のアダプタ(送信ファイルサイズが10MB以下)
BASE64エンコーディング、ファイル添付をサポート
1MB~10MB 任意のアダプタ パススルーの場合は制限なし

ファイル処理する場合の制限事項
XMLもしくはCSV形式のみサポート
StageFile - ファイルのセグメント読み取りを利用(ファイル全体の読み込みは非サポート)
    任意のアダプタ
    BASE64エンコーディング、ファイル添付をサポート
    10MB ~ 500MB FTP、REST、SOAPアダプタ パススルーの場合は制限なし

    ファイル処理する場合の制限事項
    XMLもしくはCSV形式のみサポート
    StageFile - ファイルのセグメント読み取りを利用(ファイル全体の読み込みは非サポート)
      添付のみ
      ファイル添付をサポートする任意のアダプタ(FTP、REST、SOAP)
      500MB以上

      (注意)
      ファイルサイズの最大値は並列度、利用可能なリソース、I/Oタイムアウトの考慮事項に依存
      (デフォルトは300秒)
      FTP、REST、SOAPアダプタ パススルーの場合は制限なし

      ファイル処理する場合の制限事項
      XMLもしくはCSV形式のみサポート
      StageFile - ファイルのセグメント読み取りを利用(ファイル全体の読み込みは非サポート)
        添付のみ
        ファイル添付をサポートする任意のアダプタ(FTP、REST、SOAP)

        全てのファイル送受信で、アップロード/ダウンロードは自動的に300秒を超えるとタイムアウトします。

        OIC Design/Modeling Consideration

        ファイルサイズ、コンテンツ形式、および処理要件によって、OICで統合フローをモデル化する方法が決まります。下表は、ファイルサイズ、コンテンツ、パススルーもしくはOIC内での処理が必要かどうか(Fusion Applicationsがそれぞれのオブジェクトまたはインターフェイスでサポートするファイルを生成するためのEnrichmentや変換アクションが必要かどうか)に基づいて、統合フローを設計する方法を示しています。

        Table 2 - 決定モデル(ファイルサイズは展開後のファイルに基づく)
        InboundファイルインターフェースInbound 展開後のファイルサイズ 主要なオーケストレーションの手順 Outboundファイルサイズ ファイル配信形態Outboundインターフェース
        1FTP
        (File ReadもしくはStageFile -Readでファイル全体を読み取り)

        展開後のファイルのみ
        コンテンツ形式はXMLもしくはCSV
          (注意)
          ファイルサイズにかかわらず、バイナリファイルに対しては使わないこと(バイナリファイルの場合、FTPでファイルダウンロードを推奨)
          〜1MB1. FTP - Read FileもしくはStageFile - Readでファイル全体を読み取り
          2. Enrichmentや変換を実行
          3. StageFile - Writeでターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
          4. StageFile - Zipで圧縮
          5. FTP/SOAP/REST - 配信(encodeReferenceToBase64関数もしくは添付を利用)
            〜10MB BASE64、もしくは添付
              任意
              2FTP

              展開後のファイル、もしくは圧縮ファイル
              コンテンツ形式はXMLもしくはCSV

              (注意)
              バイナリファイルはStageFile操作で読み取り不可
              〜10MB 1. FTP - ファイルのリスト取得
              2. FTP - ファイルダウンロード
              3. StageFile - ファイルのセグメント読み取り
              4. Enrichmentや変換を実行
              5. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
              6. StageFile - Zipで圧縮
              7. FTP/SOAP/REST - 配信(encodeReferenceToBase64関数もしくは添付を利用)
                〜10MB BASE64、もしくは添付
                  任意
                  3FTP
                  (2と同じだが、ファイルサイズが10MBを超える場合)

                  (注意)
                  バイナリファイルはStageFile操作で読み取り不可
                  10MB〜 1. FTP - ファイルのリスト取得
                  2. FTP - ファイルダウンロード
                  3. StageFile - ファイルのセグメント読み取り
                  4. Enrichmentや変換を実行
                  5. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                  6. StageFile - Zipで圧縮
                  7. FTP/SOAP/REST - 配信(添付のみ利用可)
                    10MB〜 添付のみ FTP
                    SOAP
                    REST
                    4REST
                    統合フローのOICインターフェース、Base64を利用

                    展開後のファイル、もしくは圧縮ファイル
                    コンテンツ形式はXMLもしくはCSV


                    (注意)
                    バイナリファイルはStageFile操作で読み取り不可
                    〜10MB 1. Mapperでファイル参照(decodeReferenceFromBase64 もしくはAttachmentを利用)
                    2. StageFile - Zipファイルを展開
                    3. StageFile - ファイルのセグメント読み取り
                    4. Enrichmentや変換を実行
                    5. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                    6. StageFile - Zipで圧縮
                    7. FTP/SOAP/REST - 配信(encodeReferenceToBase64関数もしくは添付を利用)
                    〜10MB BASE64、もしくは添付
                      任意
                      5REST
                      統合フローのOICインターフェース、添付を利用

                      展開後のファイル、もしくは圧縮ファイル
                      コンテンツ形式はXMLもしくはCSV

                      (注意)
                      バイナリファイルはStageFile操作で読み取り不可
                      10MB〜 1. Mapperでファイル参照
                      2. StageFile - Zipファイルを展開
                      3. StageFile - ファイルのセグメント読み取り
                      4. Enrichmentや変換を実行
                      5. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                      6. StageFile - Zipで圧縮
                      7. FTP/SOAP/REST - 配信(添付のみ利用可)
                        10MB〜 添付のみFTP
                        SOAP
                        REST
                        6中間SOAP/RESTレスポンス・ペイロードのファイル

                        展開後のファイル、もしくは圧縮ファイル
                        コンテンツ形式はXMLもしくはCSV

                        (注意)
                        バイナリファイルはStageFile操作で読み取り不可
                        〜10MB 1. Mapperでファイル参照(decodeReferenceFromBase64 もしくはAttachmentを利用)
                        2. StageFile - Zipファイルを展開
                        3. StageFile - ファイルのセグメント読み取り
                        4. Enrichmentや変換を実行
                        5. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                        6. StageFile - Zipで圧縮
                        7. FTP/SOAP/REST - 配信(encodeReferenceToBase64関数もしくは添付を利用)
                          〜10MB BASE64、もしくは添付
                            任意
                            76と同上だが、ファイルサイズが10MBを超える場合

                            (注意)
                            バイナリファイルはStageFile操作で読み取り不可
                            10MB〜 1. Mapperでファイル参照
                            2. StageFile - Zipファイルを展開
                            3. StageFile - ファイルのセグメント読み取り
                            4. Enrichmentや変換を実行
                            5. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                            6. StageFile - Zipで圧縮
                            7. FTP/SOAP/REST - 配信(添付のみ利用可)
                            10MB〜 添付のみ FTP
                            SOAP
                            REST

                            Fusion Applications - SaaS Common Use Cases with file-based integrations


                            Table 3 - Fusion Applicationでのユースケース
                            ユースケース OICの主要なオーケストレーション手順
                            1sFTPサーバからデータファイルを取得し、圧縮データファイルをERP/HCM/UCM SOAP統合インタフェースにパススルーで送信する場合

                            (注意)
                            圧縮後のファイルサイズ:10MB以下
                            コンテンツ形式:XMLもしくはCSV
                            (バイナリファイルはパススルーのみ)

                              - FBDIまたはHDLバルクインポートを利用。それぞれのテンプレートに従ってデータファイルを生成する。ERPまたはHCM Cloudへのデータファイル・インポートプロセスを開始する前に、変更や処理は不要。
                              - データファイルはパススルーするので、Enrichmentや変換をせずに表2のモデル2もしくは3の利用を検討する
                                1. FTP - ファイルリスト取得
                                2. FTP - ファイルダウンロード
                                3. Mapper - encodeReferenceToBase64関数の利用もしくは添付
                                4. Outbound - Base64もしくは添付
                                  21と同様だが、ファイルサイズが10MBを超える場合


                                  - FBDIまたはHDLバルクインポートを利用。それぞれのテンプレートに従ってデータファイルを生成する。ERPまたはHCM Cloudへのデータファイル・インポートプロセスを開始する前に、変更や処理は不要。
                                  - データファイルはパススルーするので、Enrichmentや変換をせずに表2のモデル3の利用を検討する
                                  1. FTP - ファイルリスト取得
                                  2. FTP - ファイルダウンロード
                                  3. Mapper - 添付のみ利用可
                                  4. Outbound - 添付のみ利用可
                                  3sFTPサーバからデータファイルを取得し、データファイルを処理(Enrichment、変換など)した上で、ERP/HCM/UCM SOAP統合インタフェースに送信する場合

                                  (注意)
                                  展開後のファイルサイズが10MB以下
                                  コンテンツ形式はXMLもしくはCSV


                                  - FBDIまたはHDLバルクインポートを利用。ソースファイルを基にして、FBDIやHDLファイルを生成し、ターゲットファイル用にEnrichmentや変換をする必要がある。
                                  - 表2のモデル2もしくは3の利用を検討する
                                    1. FTP - ファイルリスト取得
                                    2. FTP - ファイルダウンロード
                                    3. Mapper - encodeReferenceToBase64関数の利用もしくは添付
                                    4. StageFile - ファイルのセグメント読み取り
                                    5. Enrichmentや変換を実行
                                    6. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                                    7. StageFile - Zipで圧縮
                                    8.  Outbound  - FTP/SOAP/REST
                                    MapperではencodeReferenceToBase64関数もしくは添付を利用
                                    43と同様だが、展開後のファイルサイズは10MBを超える場合


                                    - FBDIまたはHDLバルクインポートを利用。ソースファイルを基にして、FBDIやHDLファイルを生成し、ターゲットファイル用にEnrichmentや変換をする必要がある。
                                    - 表2のモデル3の利用を検討する
                                      1. FTP - ファイルリスト取得
                                      2. FTP - ファイルダウンロード
                                      3. Mapper - encodeReferenceToBase64関数の利用もしくは添付
                                      4. StageFile - ファイルのセグメント読み取り
                                      5. Enrichmentや変換を実行
                                      6. StageFile - ターゲットファイルを生成(注意:並列"for each"内で利用するWrite操作はCSV形式のみサポート)
                                      7. StageFile - Zipで圧縮
                                      8.  Outbound  - FTP/SOAP/REST
                                      Mapperでは添付のみ利用可

                                      5Fusion Application UCM サーバーからファイルを取得する場合

                                      (注意)
                                      展開後のファイルサイズは10MB以下
                                      コンテンツ形式はXMLもしくはCSV

                                      - ERP/BIP (BI Publisher) もしくはHCM Extractsが生成したファイル、もしくはsFTPサーバではなくUCMにアップロードされたソースファイルを、Fusion ApplicationのUCMからダウンロード
                                      - 表2のモデル6もしくは7の利用を検討する
                                        1. UCMのSOAPサービスの呼び出し
                                        2. SOAPアダプタの添付オプションを選択
                                        3. Mapper - encodeReferenceToBase64関数もしくは添付を利用
                                        4. StageFile - Zipファイルを展開
                                        5. StageFile - ファイルのセグメント読み取り
                                          65と同様だが、ファイルサイズが10MBを超える場合

                                          - ERP/BIP (BI Publisher) もしくはHCM Extractsが生成したファイル、もしくはsFTPサーバではなくUCMにアップロードされたソースファイルを、Fusion ApplicationのUCMからダウンロード
                                          - 表2のモデル7の利用を検討する
                                            1. UCMのSOAPサービスの呼び出し
                                            2. SOAPアダプタの添付オプションを選択
                                            3. Mapper - 添付のみ利用可
                                            4. StageFile - Zipファイルを展開
                                            5. StageFile - ファイルのセグメント読み取り
                                              7SOAP/REST/HTTPインターフェースのレスポンス(メディアタイプはapplication/octet-stream)からファイルを取得する場合


                                              - SOAP/REST/HTTPレスポンスに添付されたファイルをダウンロード
                                              - 表2のモデル7の利用を検討する
                                                1. SOAP/RESTインターフェース管理を呼び出し、レスポンス・ペイロードのファイルを取得
                                                2. 添付オプションを選択(SOAP/RESTアダプタとも。APIは添付をサポートしている必要がある)
                                                3. Mapper - 添付のみ利用可
                                                4. StageFile - ファイルのセグメント読み取り
                                                  8OIC/ICSのRESTインターフェースを使う場合(マルチパート)
                                                  OIC統合フローをRESTインターフェースで呼び出す際にファイルを受信する

                                                  (注意)
                                                  ファイルサイズが10MBを超える
                                                  コンテンツ形式はXMLもしくはCSV


                                                  - オンプレミスもしくは他のクラウドシステムからOICの統合フローを呼び出す
                                                  1. OICでファイルを受信(オンプレミスもしくはOIC以外のシステムから呼び出す)
                                                  2. Mapper - 添付のみ利用可
                                                  3. StageFile - ファイルのセグメント読み取り

                                                    Conclusion

                                                    このブログは、上記のベストプラクティスとFusion Applicationsまたは他のアプリケーションでの一般的なファイルベースの統合ユースケースに基づいて、OICの統合フローのモデリングを支援するために用意しました。ファイルサイズ、コンテンツ形式、および配信形態に基づいて、OIC内のファイル処理方法に関する詳細情報を提供しました。

                                                    0 件のコメント:

                                                    コメントを投稿