Magic xpiトレーニングテキスト
21. ODataアダプタの使い方

21.1 ODataとは

【ODataとは】

  • 正式名称はOpen Data Protocol
  • Microsoft主導で策定され、OASISとISOで標準化されている
  • データの照会と更新を行うための、RESTfulなWebAPI(Webサービス)プロトコル
  • RESTfulとは下記4つの原則を持つこと
Addressability どのデータも一意なURI表現が可能
Stateless セッションの状態管理(ECサイトのカート等)などに依存しない
Connectability 情報と情報をリンクさせることができる
Uniform Interface 情報の操作はHTTPメソッド(GET,POST,PUT,DELETE..)を利用

 

21.2 テスト用ODataサービスの準備

【テスト用ODataサービスの準備】 ※トレーニング用マシンでは準備されているので下記手順の実施は不要です。

  • Magicモニタは内部的にApache Tomcatを使用しています。
  • Apache Olingoのサイトで公開されているODataのサンプルサービスwarファイルをダウンロードし、Tomcatのwebappsフォルダにデプロイします。
  • https://olingo.apache.org/doc/odata4/tutorials/od4_quick_start_sample.html
  • https://repository.apache.org/index.html#nexus-search;gav~org.apache.olingo~odata-server-sample~~~

テスト用ODataサービスの準備

 

  • ダウンロードしたwarファイルを、Tomcatのwebappsフォルダにデプロイします。
  • 「Magic xpi 4.13 Monitor Display Server」サービスが起動した状態でデプロイすると自動的に展開されます。

ダウンロードしたwarファイル

21.3 ODataで取得したデータをCSVとして出力

【リソースの設定】

  • メニュー > プロジェクト > 設定より、リソース設定画面を開き、ODataのリソースを追加します。

リソースの設定

 

リソースタイプ OData
リソース名 OData

 

ルートURL http://localhost:8068/odata-server-sample-4.0.0-beta-02-RC01/cars.svc/

 

  • 「メタデータ取得」ボタンを押し、メタデータが取得できることを確認します。
  • 「エンティティ」ボタンを押し、エンティティリストが表示されることを確認します。

メタデータ取得

 

【メタデータ】
ODataのメタデータには、ODataサービスで取得できるデータの構造や関係性などの情報がXML形式で記載されています。<プロジェクトフォルダ>\OData\ODataリソース名\metadata.xmlとして保存されます。

 

【ビジネスプロセスとフローの作成】

  • ビジネスプロセスを追加し、名前を「OData」に変更します。
  • 追加されたフローの名前を「OData→CSV出力」に変更します。

ビジネスプロセスとフローの作成

 

 

【ODataコンポーネントの配置】

  • 「OData→CSV出力」フローをダブルクリックし、フローエディタを開きます。
  • ツールボックスからODataコンポーネントをフローエリアにDrag&Dropします。

ODataコンポーネントの配置

 

【エラーコードの自動追加】

  • ODataコンポーネントはxpiのコネクタビルダを使用して作られています。
  • コネクタビルダで作成されたコンポーネントをはじめてプロジェクトに配置する際、エラーリポジトリにそのコンポーネントのエラーコードが自動的に追加されます。

エラーコードの自動追加

 

【コネクタビルダ】
xpiの標準コネクタ以外に、ユーザ独自のコネクタを開発することができる機能UIの開発は.NET、ランタイムの開発は.NET、Java、Magic xpaのいずれかを選択可能

 

【ODataコンポーネントの設定】

  • ODataコンポーネントをダブルクリックし、OData設定画面を開きます。
  • エンティティとして「Cars」を選択します。

ODataコンポーネントの設定

 

  • メソッドとして「Get」を選択します。
  • パラメータを設定するため、パラメータ欄横の[…]ボタンをクリックします。

メソッドとして「Get」

 

  • 制限として、「top 20」を選択します。
  • Whereは何も設定しません。

制限として、「top 20」

 

  • 項目選択では、全項目を選択します。
  • 拡張では何も設定しません。

全項目を選択

 

  • 「追加」ボタンで順序のエントリを追加し、「Id」の「Ascending」(昇順)に設定します。
  • 「終了」ボタンを押すと、ウィザードで選択したパラメータがURL文字列として生成されます。

「追加」ボタンで順序のエントリを追加

 

 

  • 取得したデータを変数「C.UserBlob」に格納します。
  • 「OK」ボタンを押すとマッパ画面が表示されますが、特に何も設定しません。

C.UserBlob

 

 

【ODataコンポーネントの画面遷移】

  • ODataコンポーネントは初回設定時と、2回目以降の設定時で画面遷移が異なります。

ODataコンポーネントの画面遷移

 

【CSV出力】

  • ODataで取得したデータをCSVとして出力します。
  • ツールボックスからデータマッパーをODataコンポーネントの下にDrag&Dropします。

CSV出力

 

【送り元と送り先エントリの追加】

  • データマッパーをダブルクリックし、マッパ画面を表示します。
  • 送り元にXMLエントリ、送り先にFlat Fileエントリを追加します。

送り元と送り先エントリの追加

 

【送り元の設定】

  • 送り元XMLのプロパティを下記の通り設定します。

送り元の設定

 

XSDファイル OData\OData\schema\Cars.xsd
送り元タイプ Variable
変数 C.UserBlob

 

【XSDファイル】
XSDファイルはOData設定画面でエンティティを選択し、「OK」ボタンを押した時点でダウンロードされます。

 

【送り先の設定】

  • 送り先Flat Fileのプロパティを下記の通り設定します。

送り先の設定

 

送り先タイプ File
送り先エンコーディング ANSI
ファイルパス EnvVal (‘currentprojectdir’) &’Output\Car’&DStr (Date(),’YYYYMMDD’)&TStr (Time (),’HHMMSS’)&’.csv’

 

  • Flat Fileの項目を下記の通り設定します。

Flat File

 

【マッピング】

  • 送り元と送り先の項目を下記の通りマッピングします。

マッピング

 

【フローデバッグ】

  • ソリューションエクスプローラで「OData→CSV出力」フローを右クリックし、デバッグします。

フローデバッグ

 

【Magic モニタの確認】

  • Magic モニタで実行状況を確認します。

Magic モニタの確認

 

【ファイルの確認】

  • 正しくファイルが作成されていることを確認します。
  • メニュー > デバッグxpi > デバッグ停止でデバッグを停止します。

ファイルの確認