
この記事では、SAP Cloud Application Programming Model (CAP)において、SAP S/4HANA On-Premiseの実データにアクセスしながら開発を行うための「Hybrid Testing」について説明します。Hybrid Testing実行までに役立つ疎通テストに焦点を当て、具体的な環境構築方法については触れませんので、そちらの詳細を知りたい方は以下のリンクを参考にしてください。
CAPを用いたアプリ開発において、基本的にはモックデータを使用したローカル環境でテストを行いますが、クラウドやオンプレのサービスにアクセスしたい場合があります。そこで役立つ手法が「Hybrid Testing」です。このテスト方式を使うことで、開発者はローカル環境でアプリを実行しながらリモートサービスに接続できるため、開発効率の向上が見込めます。
上記の利点がある一方で、オンプレにアクセスする際にはSAP Destination Service, SAP Connectivity Service, Cloud Connector といったサービスに依存するため、モックデータを使ったローカルテストと比較すると環境の整備が煩雑になります。そこで、環境構築をスムーズに進めるために使える疎通テストを紹介します。
紹介する疎通テストは下記の図の順番となっています。依存関係が少ないものから書き出していますので、順にテストすることをお勧めします。
T-codeが /IWFND/GW_CLIENT であるSAP Gateway Clientは、OData サービスをテストする HTTP (S)クライアントとして機能します。適切なHTTP メソッド、ODataクエリ(format, top...)、リクエストURI、Content Typeなどのリクエストヘッダー、ペイロードを入力した後、アプリ上の「Execute」をクリックして、S/4HANA内で対象のODataサービスの利用可否やレスポンス結果を確認します。
エラーが発生した際には、ODataサービスが有効化されているか、正しいpathを指定しているかどうかなどをチェックしてください。
Gateway Clientからのテストが成功した後は、SCCからオンプレへの疎通をテストします。具体的には、SCCで定義したVirtual hostからInternal hostであるオンプレへの接続を確認するために、Actionsの一番左のアイコンをクリックしてください。'Reachable'が表示されたら成功です。
BTP Cockpit上でSCCに対する「Check Connection」を行うことでDestinationのURLへの到達が可能か確認できます。ただし、ここでのテストはDestination ServiceであるSCCのVirtual hostが稼働していることを保証するものではなく、到達可能かを確認するという点に注意してください。
エラーが発生した場合、SCCの設定やバージョン、サーバーのアベイラビリティに問題がある可能性があります。
最後はHybrid Testingです。Cloud Foundry Runtimeにデプロイしたアプリに対してdestinationやauthサービスをバインドし、下記コマンドを実行した状態でHTTPファイルからHTTPリクエストを行います。
# JavaScriptの場合
cds watch --profile hybrid
# TypeScriptの場合
cds-ts watch --profile hybrid
注意点:
.envファイルには、destinationのnameとurl情報をBTP CockpitのDestinations画面から取得し、destinations変数を追記する必要があります。
destinations=[{"name":"demodestination","proxyHost":"http://127.0.0.1","proxyPort":"8887","url":"http://demodestination.dest"}]
CAPを使用したアプリ開発のお役に立てれば幸いです。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
30 | |
18 | |
16 | |
16 | |
9 | |
8 | |
8 | |
8 | |
6 | |
6 |