カスタムデータソースの作成

Afrousではマッシュアップデータソースを自分自身で追加作成することができます。現在データソースの種類として3種類のウィザードを用意しており、またAfrous MashupEditorと統合されており、複雑なマッシュアッププロセスを作成できるようになっています。

データソースウィザードの起動

データソースの追加は、引き出し(ドロワー)パネル内の「追加」ボタンをクリックすることで行います。最初にデータソースの種類に応じてウィザードを選択するためのダイアログが現れます。

datasource-button.pngdatasource-dialog.png

ダイアログには、データソースを作成するために、以下の選択肢が表示されます。

XMLデータソース
XML形式のサービス/ファイルをデータソースとして追加します。
CSVデータソース
CSV形式のサービス/ファイルをデータソースとして追加します。
JSONPデータソース
JSONP形式のWebサービスをデータソースとして追加します。
Afrous マッシュアッププロセス
Afrous プロセスを記述するためのAfrous MashupEditorを起動して表示します。

XMLデータソースの追加

XMLデータソースウィザードによって、RESTful XMLサービスやシンプルなXMLファイルをマッシュアップデータソースとしてダッシュボードに追加することができます。

ステップ1. URL/パラメータの入力

xml-datasource-urlinput.png

ウィザードを起動すると最初にXMLリソースのエンドポイントURLの入力を求められます。もしリソースがクエリパラメータを受け取ることができる場合は、パラメータの情報および表示ラベル名、データ型、およびデフォルト値を設定できます。ここで作成されたパラメータはウィジットとして描画される際の入力パラメータになります。

ここでサービスのURLの中にテンプレートパラメータを指定することもできます。たとえば、サービスのURLを「http://api.example.com/users/{username}.xml 」と指定すると、パラメータ「username」の値が中括弧で囲まれた部分を置き換えます。(例:http://api.example.com/users/john.xml

ステップ2. クロスドメインプロキシの設定

xml-datasource-xdsetting.png

統合したいXMLリソースがダッシュボードが提供されているドメインとは異なるドメインに位置している場合については注意が必要です。残念なことに、現在のほとんどの主要なWebブラウザはブラウザから直接他のドメインに存在するリソースに対してリクエストを行うことを許していません(同一生成元ポリシー)。そのため、リクエストを行うためには何らかのプロキシを設置する必要があります。

現在Afrousプラットフォームにはこのようなクロスドメインのリソースに接続するためのサーバサイドでのプロキシサービスは提供していませんが、クライアントサイドでプロキシを行う方法を提案しています。このためには、Afrousが提供するHTMLファイルをダウンロードし、XMLリソースがあるサーバと同じドメインに配置する必要があります。つまり、Webサーバの管理権限が必要になります。

XMLデータソースウィザードはクロスドメインプロキシのHTMLファイルをダウンロードするリンクを表示します。リンクからHTMLファイルをダウンロードしWebサーバ上に配置した後、入力ボックスに配置したHTMLファイルのURLを入力します。このURLはWebブラウザからアクセスできる状態であれば、特にインターネット上のアドレスである必要はなく、イントラネットあるいはローカルWebサーバのアドレスでもかまいません。

ステップ3. プレビュー表示

xml-datasource-preview.png

プレビュー表示のステップで、実際にXMLリソースに対してリクエストを送信します。これにより返信メッセージのフォーマットをチェックすることができます。データソースはレコード情報が連続したものと考えることができるため、応答結果のツリーから連続したレコードの配列となっているノードをルートとして選択する必要があります。

ステップ4. メタデータの保存

プレビュー表示が完了したら、データソースの名前および説明を記載して保存します。作成されたXMLデータソースは引き出しパネルの「カスタムデータソース」内に保存されます。

CSVデータソースの追加

CSVデータソースの場合もXMLデータソースと同様に、クロスドメインの場合にはプロキシHTMLファイルを配置する必要があります。なお、現在の実装上の制限から、CSVファイルあるいはデータのレスポンスはUTF-8でエンコードされている必要があります。そうでない場合にはパースの際にエラーが発生します。

JSONPデータソースの追加

JSONP (JSON with Padding) は、JSON ( http://www.json.org ) フォーマットのデータをやり取りするWebサービスの種類の一つで、scriptタグを利用した読み込みのためにコールバック関数を指定して受け付けることができるようになっています。この種類のWebサービスはほとんど何も考えることなく簡単に追加することが可能です。ウィザードではJSONPサービスのエンドポイントURLとコールバック関数を指定するパラメータの名前を指定します。

XMLデータソースの場合と同様に、実際にJSONPサービスにリクエストを送信して返送されるメッセージのフォーマットをチェックする必要があります。データソースは連続したレコード情報であると考えられるので、応答結果のツリーから連続したレコードの配列となっているノードをルートとして選択する必要があります

MashupEditorを利用してデータソースをカスタマイズする

データソースはAfrous MashupEditorによって編集可能な Afrous Processによって表現されます。このため、MashupEditorでデータソースを作成ししたり、あるいはウィザードによって作成された結果のデータソースを修正することができます。

カスタムデータソースのノードを右クリックして、コンテキストメニューから「編集」を選択することで、作成されたデータソースをMashupEditorによって編集できます。MashupEditorの使用方法はこちらから参照できます。

Getting Started with Afrous MashupEditor

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License