Sap-fiori-odata-services
SAP Fiori-ODataサービス
ODataは、RESTful APIを構築および使用するために必要なベストプラクティスを定義するために使用されます。 変更を見つけ、再利用可能な手順の関数を定義し、バッチ要求などを送信するのに役立ちます。
重要な機能のいくつかは次のとおりです-
- ODataは、RESTful APIのカスタムニーズを満たす拡張機能を提供します。
- RESTはRepresentational State Transferの略で、「ReST」と綴られることもあります。
- これは、ステートレスなクライアント/サーバー、キャッシュ可能な通信プロトコルに依存しています。 ほとんどすべての場合、HTTPプロトコルが使用されます。
- RESTは、ネットワークアプリケーションを設計するためのアーキテクチャスタイルとして定義されています。
- ODataは、リクエストヘッダーとレスポンスヘッダー、ステータスコード、HTTPメソッド、URL規則、メディアタイプ、ペイロード形式、クエリオプションなどを定義するアプローチを心配することなく、RESTful APIを構築しながらビジネスロジックに集中するのに役立ちます。
- OData RESTful APIは簡単に使用できます。
ODataサービスのライフサイクル
ODataサービスのライフサイクルには、ODataサービスのスパンが含まれます。 ODataサービスライフサイクルで考慮すべき重要な手順を以下に示します。
- ODataサービスのアクティブ化。
- ODataサービスの維持。
- メタデータキャッシュのクリーンアップまでのモデルとサービスの維持。
- RESTfulアプリケーションは、HTTP要求を使用してデータを送信し、データを作成または更新、読み取り、データを削除します。 RESTは、4つのCRUD(作成/読み取り/更新/削除)操作すべてにHTTPを使用します。
- RESTは、RPC(リモートプロシージャコール)やWebサービスなどのメカニズムの軽量な代替手段です。
REST
RESTは、Webサービスおよびリモートプロシージャコールのオプションとして定義されています。 ネットワークアプリケーションの設計に使用されます。
WebサービスのようなRESTサービスと以下の機能のサポート-
- ファイアウォールを操作する
- 言語に依存しない
- 標準ベース
- プラットフォームに依存しません
RESTアーキテクチャ
以下に、RESTアーキテクチャのコンポーネントを示します。
リソース
RESTでは、状態と機能の両方がリソースとして表示されます。 RPCおよびSOAP Webサービスで使用される「メソッド」または「サービス」とは対照的に、リソースはRESTfulデザインの重要な要素です。
「 getProductName 」や「 getProductPrice 」などのRPC呼び出しはRESTでは使用されません。 製品データをリソースとして表示します。このリソースには必要な情報がすべて含まれている必要があります。
リソースのWeb
これは、単一のリソースに詳細データを含めるべきではなく、追加のWebページへのリンクを含めることを意味します。
クライアントサーバー
RESTクライアントサーバーモデルでは、1つのコンポーネントサーバーを他のコンポーネントクライアントにすることができます。
接続状態なし
各要求には、各クライアントへの接続に関する詳細を含める必要があり、同じクライアントへの以前の接続で応答しないでください。
キャッシュ可能
このプロトコルでは、サーバーがキャッシュできるリソースとその期間を明示的に指定できる必要があります。
プロキシサーバー
パフォーマンスとスケーラビリティを向上させるために、プロキシサーバーを使用できます。 任意の標準HTTPプロキシを使用できます。
SAP NetWeaver Gateway Service Builderを使用したODataサービス
*Tコードを使用:SEGW*
新しいウィンドウが開きます。 *プロジェクトの作成*をクリックします。
さて、以下の手順に従ってください-
- 下の画像に示すように、プロジェクト名を入力します。 一意である必要があり、特殊文字を含めることはできません。
- 必須フィールドであるため、プロジェクトの説明を入力します。
- プロジェクトタイプ、生成戦略などのさまざまな属性を入力します。
- これをローカルで作成する場合は、[パッケージ]を選択するか、ローカルオブジェクトをクリックします。
ローカルオブジェクトをクリックすると、サービスビルダーは空のフォルダー構造を持つ新しいプロジェクトを作成します。 これらはすべて新しいプロジェクトで自動的に作成され、保存アイコンをクリックします。
次に、データモデルにエンティティタイプを作成します。 データモデルを展開→右クリック→作成→エンティティタイプ。
エンティティタイプ名を入力し、エンティティセットを自動的に作成するには、関連するエンティティセットのチェックボックスオプションをクリックします。
オプション*行の挿入*をクリックして、データモデルに別のエンティティタイプを追加し、以下に示すように詳細を追加します。 保存をクリックします。
同様に、データモデルを右クリックして詳細を入力するか、[エンティティタイプ]の[行の挿入]オプションを使用して、エンティティセットを作成できます。
次のステップは、異なるエンティティ間の関連付けと関係を定義することです。 ウィザードまたはマスク編集ビューを使用して、2つの方法で作成できます。
- 右クリック*データモデル→作成→関連付け*または
- *関連付けフォルダー→作成*を右クリックします
[関連付けフォルダー]→[編集モード]→[行の挿入]をダブルクリックします*
指定されたラベルの詳細を入力してください-
- 協会の名前
- 外部関連付けエディター
- 主要なエンティティとカーディナリティ
- 依存エンティティとカーディナリティ
- 関連付けセット*をクリックします。 *データモデル→作成→関連セット*を右クリックします。
Service Builderで*関数インポート*を作成するには、*データモデル→作成→関数インポート*を右クリックします。
- 関数インポート*の名前を入力すると、他のオプションから選択して*保存アイコン*をクリックできます。
複合型を定義するには、*データモデル→右クリック→複合型*に移動します。
要件に従って詳細を入力し、保存します。
これは、データモデル、エンティティセット、タイプ、関連付け、および複合タイプを作成する方法です。
データモデルをインポートする方法
ファイルからデータモデルをインポートするために利用可能な4つのオプションがあります-
- ファイルからのデータモデル
- DDIC構造
- RFC/BORインターフェイス
- 検索ヘルプ
データモデルをインポートするには、以下の手順に従ってください-
*Tコードの実行:SEGW*
プロジェクト名を右クリック→インポート→インポート方法を選択
パスを入力し、エンティティタイプ、エンティティセット、関連付け、および複合タイプをインポートします。
データソースへのマッピング
データモデル→サービス実装→マッピング用のエンティティセットを選択します
ローカルまたはリモートシステムのデータソースを入力し、名前を入力して保存します。
これにより、クエリ操作でノードのマッピングが有効になります。 単一のオブジェクトのマッピングを行うことも、 Propose mapping オプションのオプションを使用することもできます。
サービスのメンテナンスと登録
データモデル*に移動します。 *Service Maintenance をダブルクリックします。
登録するシステムを選択し、上部の[*登録]オプションをクリックします。
- プロジェクト→ローカルオブジェクト*を選択し、チェックマークをクリックして保存します。
- サービス登録*のステータスを確認してください。
サービスを維持するには、[維持]ボタンをクリックします。 別のウィンドウが開きます。
[ Call browser ]をクリックし、このサービスをURLとして使用することを選択します。 OK をクリックしてください。
ブラウザが開きます。ユーザー名とパスワードを入力して、サービスがODataサービスとして公開されているかどうかを確認します。