はじめに
この記事では、SAP Cloud Application Programming Model (CAP)において、SAP S/4HANA On-Premiseの実データにアクセスしながら開発を行うための「Hybrid Testing」について説明します。Hybrid Testingの実行をするまでに役立つ疎通テストに焦点を当て、具体的な環境構築方法については触れませんので、そちらの詳細を知りたい方は以下のリンクを参考にしてください。
SAP Gateway – Activate and Maintain ServicesDiscovery Center – Connect S/4HANA system using Cloud ConnectorSAP CAP – Consuming Services #Connect to Remote Services LocallySAP CAP – Hybrid TestingSAP Cloud SKD – Connecting to External Systems From the Business Application Studio #Connection to an On-Premise System
Hybrid Testingとは?
CAPを用いたアプリ開発において、基本的にはモックデータを使用したローカル環境でテストを行いますが、クラウドやオンプレのサービスにアクセスしたい場合があります。そこで役立つ手法が「Hybrid Testing」です。このテスト方式を使うことで、開発者はローカル環境でアプリを実行しながらリモートサービスに接続できるため、開発効率の向上が見込めます。
SAP S/4HANA On-Premiseに対するHybrid Testingの課題
上記の利点がある一方で、オンプレにアクセスする際にはSAP Destination Service, SAP Connectivity Service, Cloud Connector といったサービスに依存するため、モックデータを使ったローカルテストと比較すると環境の整備が煩雑になります。そこで、環境構築をスムーズに進める際に使える疎通テストを紹介します。
疎通テスト一覧
紹介する疎通テストは下記の図の順番となっています。依存関係が少ないものから書き出していますので、順にテストすることをお勧めします。
1. SAP Gateway Clientからの疎通テスト
T-codeが /IWFND/GW_CLIENT であるSAP Gateway Clientは、OData サービスをテストする HTTP (S)クライアントとして機能します。適切なHTTP メソッド、ODataクエリ(format, top…)、リクエストURI、Content Typeなどのリクエストヘッダー、ペイロードを入力した後、アプリ上の「Execute」をクリックして、S/4HANA内で対象のODataサービスの利用可否やレスポンス結果を確認します。
エラーが発生した際には、ODataサービスが有効化されているか、正しいpathを指定しているかどうかなどをチェックしてください。
2. Cloud Connector administration UIからの疎通テスト
Gateway Clientからのテストが成功した後は、SCCからオンプレへの疎通をテストします。具体的には、SCCで定義したVirtual hostからInternal hostであるオンプレへの接続を確認するために、Actionsの一番左のアイコンをクリックしてください。’Reachable’が表示されたら成功です。
3. BTP Cockpitからの疎通テスト
BTP Cockpit上でSCCに対する「Check Connection」を行うことでDestinationのURL(SCC)への到達が可能か確認できます。ただし、ここでのテストはDestination ServiceであるSCCのVirtual hostが稼働していることを保証するものではなく、到達可能かを確認するという点に注意してください。
エラーが発生した場合、SCCの設定やバージョン、サーバーのアベイラビリティに問題がある可能性があります。
4. SAP Business Application Studio(BAS)からの疎通テスト
最後はHybrid Testingです。Cloud Foundry Runtimeにデプロイしたアプリに対してdestinationやauthサービスをバインドし、下記コマンドを実行した状態でHTTPファイルからHTTPリクエストを行います。
# JavaScriptの場合
cds watch –profile hybrid
# TypeScriptの場合
cds-ts watch –profile hybrid
注意点:
ローカルマシンからSCCにHybrid Testingでアクセスする際には、VS CodeなどのIDEではなく、BASを使用してください。参考リンク
.envファイルにはdestinationsを追記する必要があります。
destinations=[{“name”:”demodestination”,”proxyHost”:”http://127.0.0.1″,”proxyPort”:”8887″,”url”:”http://demodestination.dest”}]
おわりに
CAPを使用したアプリ開発のお役に立てれば幸いです。
はじめにこの記事では、SAP Cloud Application Programming Model (CAP)において、SAP S/4HANA On-Premiseの実データにアクセスしながら開発を行うための「Hybrid Testing」について説明します。Hybrid Testingの実行をするまでに役立つ疎通テストに焦点を当て、具体的な環境構築方法については触れませんので、そちらの詳細を知りたい方は以下のリンクを参考にしてください。SAP Gateway – Activate and Maintain ServicesDiscovery Center – Connect S/4HANA system using Cloud ConnectorSAP CAP – Consuming Services #Connect to Remote Services LocallySAP CAP – Hybrid TestingSAP Cloud SKD – Connecting to External Systems From the Business Application Studio #Connection to an On-Premise SystemHybrid Testingとは?CAPを用いたアプリ開発において、基本的にはモックデータを使用したローカル環境でテストを行いますが、クラウドやオンプレのサービスにアクセスしたい場合があります。そこで役立つ手法が「Hybrid Testing」です。このテスト方式を使うことで、開発者はローカル環境でアプリを実行しながらリモートサービスに接続できるため、開発効率の向上が見込めます。SAP S/4HANA On-Premiseに対するHybrid Testingの課題上記の利点がある一方で、オンプレにアクセスする際にはSAP Destination Service, SAP Connectivity Service, Cloud Connector といったサービスに依存するため、モックデータを使ったローカルテストと比較すると環境の整備が煩雑になります。そこで、環境構築をスムーズに進める際に使える疎通テストを紹介します。疎通テスト一覧紹介する疎通テストは下記の図の順番となっています。依存関係が少ないものから書き出していますので、順にテストすることをお勧めします。1. SAP Gateway Clientからの疎通テストT-codeが /IWFND/GW_CLIENT であるSAP Gateway Clientは、OData サービスをテストする HTTP (S)クライアントとして機能します。適切なHTTP メソッド、ODataクエリ(format, top…)、リクエストURI、Content Typeなどのリクエストヘッダー、ペイロードを入力した後、アプリ上の「Execute」をクリックして、S/4HANA内で対象のODataサービスの利用可否やレスポンス結果を確認します。エラーが発生した際には、ODataサービスが有効化されているか、正しいpathを指定しているかどうかなどをチェックしてください。2. Cloud Connector administration UIからの疎通テストGateway Clientからのテストが成功した後は、SCCからオンプレへの疎通をテストします。具体的には、SCCで定義したVirtual hostからInternal hostであるオンプレへの接続を確認するために、Actionsの一番左のアイコンをクリックしてください。’Reachable’が表示されたら成功です。3. BTP Cockpitからの疎通テストBTP Cockpit上でSCCに対する「Check Connection」を行うことでDestinationのURL(SCC)への到達が可能か確認できます。ただし、ここでのテストはDestination ServiceであるSCCのVirtual hostが稼働していることを保証するものではなく、到達可能かを確認するという点に注意してください。’The check does not guarantee that the target system or service is operational. It only verifies if a connection is possible.’エラーが発生した場合、SCCの設定やバージョン、サーバーのアベイラビリティに問題がある可能性があります。4. SAP Business Application Studio(BAS)からの疎通テスト最後はHybrid Testingです。Cloud Foundry Runtimeにデプロイしたアプリに対してdestinationやauthサービスをバインドし、下記コマンドを実行した状態でHTTPファイルからHTTPリクエストを行います。 # JavaScriptの場合
cds watch –profile hybrid
# TypeScriptの場合
cds-ts watch –profile hybrid 注意点:ローカルマシンからSCCにHybrid Testingでアクセスする際には、VS CodeなどのIDEではなく、BASを使用してください。参考リンク.envファイルにはdestinationsを追記する必要があります。 destinations=[{“name”:”demodestination”,”proxyHost”:”http://127.0.0.1″,”proxyPort”:”8887″,”url”:”http://demodestination.dest”}] おわりにCAPを使用したアプリ開発のお役に立てれば幸いです。 Read More Technology Blogs by SAP articles
#SAP
#SAPTechnologyblog