試してわかる『Afrous』の可能性

Vol.1 - ビジネス環境でも使えるマッシュアッププラットフォーム
Vol.2 - マッシュアップダッシュボード画面の作成
Vol.3 - カスタムデータソースの作成(1)
Vol.4 - カスタムデータソースの作成(2)
Vol.5 - イントラネット内のCSVファイルの統合

Afrous Mashup Editor

Afrousプラットフォームには、これまで見てきたマッシュアップしたデータを表示する「Afrous Dashboard」の他に、マッシュアッププロセスを記述するためのオンライン開発環境である「Afrous Mashup Editor」があります。これによって単なるWebサービスの表示のみならず、高度なマッシュアップ処理を記述することが可能になっています。

今回はこのAfrous Mashup Editorを利用して、前回作成したCSVのデータソースに、指定したパラメータ値でフィルタリングが行えるようにします。

CSVデータをフィルタリングする

図1 「顧客名簿」を編集する

Afrous Mashup Editorを起動するには、データソースの<追加>ボタンを押してダイアログから「Afrous マッシュアッププロセス」を選択するか、すでに作成済みのデータソースに対して右クリックで編集を行います。ここでは、前回CSVウィザードを利用して作成した結果のCSVデータソースである「顧客名簿」を右クリックして編集します(図1)。

編集メニューを選択すると、Afrous Mashup Editorが新規にウィンドウとして表示されます(図2)。この中にはすでにファイルをURLから取り込んでCSVとして解析する処理がプロセスに埋め込まれています。今回はこの中のCSV解析後に得られたレコード列に対してフィルタリングを行う処理を追加します。

図2 「Afrous Mashup Editor」を表示し、「CSV Parse(result)」にフォーカスする

Mashup Editorの中には小さなウィンドウ形状のパネルが縦に並んでいます。この中の一番上にあるパネルをパラメータパネル、一番下をアウトプットパネルと呼び、その間にある数個のパネルをアクションパネルと呼びます。マッシュアッププロセスの作成とは、基本的にはパラメータパネルから入力値を受け取り、アクションパネルを連ねることによってデータを取得・変換し、最終的な出力をアウトプットパネルにつなげることになります。

ここで、アクションパネルのうちの一番下にあるパネル「CSV Parse(result)」をクリックしてフォーカスします。アクションパネル中にある<更新>ボタンを押すことによって、実際にそのアクションが出力するデータを見ることができます。出力結果はツリー状に表示され、ノードをクリックすることで出力されたオブジェクトのプロパティをデバッグすることができます(図3)。

図3 <更新>ボタンをクリックする

ここで、出力されたツリーの一番ルートとなるノード(result)をマウスでドラッグし、アクションパネルの下のスペースにドラッグ&ドロップします(図4)。ドロップした際にポップアップメニューが現れます(図5)が、これはこのドロップしたデータに対して適用できるアクション操作の一覧をリストしています。ここでは「Filter」アクションを選択し、出力結果を絞り込みできるようにします。

図4 表示されたツリーのルートになるノード(result)をアクションパネルの下のスペースにドラッグ&ドロップ

図5 「Filter」を選択する

ポップアップメニューから「Filter」を選択すると、フィルタの条件を選択するアクションパネルが現れます(図6)。パネル中の<追加>ボタンをクリックし、新たに絞り込み条件を追加します。今回は取引先名で絞り込みを行うため、プルダウンから取引先名を選択し、条件として「次の値と一致する」を選択、最後にパラメータ入力フィールドに絞り込みを行う企業名を入力します(ここでは仮に「ヤフー」と入力しておきます、図7)。

図6 フィルタリングの条件設定が行なえるようになる

図7 <追加>ボタンで絞り込み条件を設定していく

<更新>ボタンをクリックすると、出力されるレコードの全体の件数が少なくなっており、実際にツリーを展開すると取引先名が「ヤフー」に合致するレコードのみが抜き出されているのがわかります(図8)。

図8 <更新>ボタンでフィルタリングの結果を確認

プロセスのパラメータを追加

先ほどアクションの絞り込み条件に「ヤフー」と直接入力してしまいましたが、この値はプロセスの外部から自由に設定できるようにするべきです。そのため、プロセスのパラメータを新たに定義する必要があります。

プロセスパラメータの定義は、画面上部のパラメータパネル上で行います。パネルのタイトルバーの右上にある<設定>ボタンをクリックし(図9)、パラメータ定義のダイアログを表示します(図10)。

図9 パネル右上の<設定>ボタンをクリック

図10 <パラメータの追加>ボタンをクリックして、下の表の内容を入力する

取引先の名前を入力できるように、<パラメータの追加>ボタンをクリックし、以下の情報を入力し、<OK>ボタンを押します。

参照変数名 name
表示ラベル 取引先名
データ型 string

パラメータの定義を完了すると、図11のようにパラメータがパネル内に現れます。パラメータの横の<編集>ボタン(鉛筆アイコン)をクリックすることで、パラメータに指定する値を実際にテキスト入力して指定することができます(図12)。

図11 パラメータの<編集>ボタンをクリック

図12 パラメータに指定する値をテキスト入力可能に

パラメータの値を設定したら、図13のように、このパラメータの値をドラッグして、先ほどのフィルタアクションの条件式のパラメータ入力フィールドにドロップします。その後、<更新>ボタンをクリックして、実際にレコードがパラメータに設定した値フィルタリングされていることを確かめます。

図13 パラメータの値を「Filtering Condition」のパラメータ入力欄にドラッグ&ドロップ

最後に、フィルタリングの結果として得られたアクションの出力結果をそのまま画面最下部のアウトプットパネルのフィールドに図14のようにドラッグ&ドロップして、<保存>ボタンを押し、プロセスエディタを終了します。

図14 出力結果(result)をアウトプットパネルにドラッグ&ドロップ

フィルタリング結果をウィジットで表示

ここでもう一度データソースのリストから「顧客名簿」データソースを選択し、ダッシュボードにドラッグ&ドロップします。また、ウィジットの表示形式として「グリッド表」を選択します。ウィジットの変種画面が表示されますが、ここに先ほどMashup Editorで定義したパラメータがウィジットのパラメータとして追加されているのが確認できます(図15)。

図15 データソース「顧客名簿」をダッシュボードをグリッド表としてドラッグ&ドロップ

あとは、前回までに学んだように、Googleスプレッドシートのレコードの行をクリックして、その中の「取引先名」の値をそのままパラメータに設定して、ウィジット同士の関連付けを行います(図16)。最終的にクリックした取引先に合致する顧客名簿に絞り込んで表示できるのが確認できるはずです(図17)。

図16 Googleスプレッドシートのレコード(取引先名)を、「顧客名簿」ウィジットの「取引先名」にドラッグ&ドロップ

図17 取引先情報から顧客情報の絞り込みが行なえるか動作を確認

これでチュートリアルのダッシュボードはほぼ完成しました。最終回はこのダッシュボードをエクスポートして、自分のWebサイトに貼り付けたり自社のポータルとして利用する方法を学びます。

著者プロフィール:冨田慎一

2000年 東京大学大学院 理学系研究科 情報科学専攻 修士課程修了。大学院卒業後、日本オラクル株式会社に入社。おもにアプリケーションサーバ製品のコンサルティング、および新規ビジネスの研究・開発に携わる。2006年、株式会社セールスフォース・ドットコムに入社。同社在籍中の2007年にIPA未踏ソフトウェア創造事業に採択される。プロジェクト名は「宣言的アプローチによるJavaScriptマッシュアップエンジンの開発」。2008年1月に株式会社マッシュマトリックスを設立し、代表取締役に就任。ブログは「snippets from shinichitomita's journal」(技術系)、「shinichitomita @ mm」(会社系)。