Ajaxフレームワークアプリケーションで利用するWebサービスを決定します。HTML形式やXML形式のWebサービスからHTMLアダプタとRESTアダプタによって、JSON形式に変換されたものを利用することができます。
この開発例では、以下のようなWebサービスにアクセスして、マッシュアップを行うことを想定しています。
REST形式のWebサービス(サービス名: PublicCalendar)
アクセスに認証が不要で、公開カレンダの一覧をREST形式で出力するWebサービスです。
HTML形式のWebサービス(サービス名: PrivateCalendar)
アクセスに基本認証(ユーザID/パスワード)が必要で、個人の私用カレンダの一覧をHTML形式で出力するWebサービスです。
ポイント
上記のWebサービスは、サンプルアプリケーション(muServicesサンプルアプリケーション)として提供されています。
REST形式のWebサービス
REST形式のデータ例
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<appointment_list>
<appoint>
<date>2008/10/08</date>
<timerange>13:00 - 17:00</timerange>
<subject>仕様書レビュー</subject>
</appoint>
<appoint>
<date>2008/10/22</date>
<timerange>15:00 - 17:30</timerange>
<subject>社内打ち合わせ</subject>
</appoint>
<appoint>
<date>2008/10/28</date>
<timerange>15:00 - 17:30</timerange>
<subject>社内打ち合わせ(2nd)</subject>
</appoint>
</appointment_list>JSON形式に変換後のデータ(注)
{
"tagName":"appointment_list",
"childNodes":[
{"tagName":"appoint",
"childNodes":[
{"tagName":"date","childNodes":["2008/10/08"]},
{"tagName":"timerange","childNodes":["13:00 - 17:00"]},
{"tagName":"subject","childNodes":["仕様書レビュー"]}
]},
{"tagName":"appoint",
"childNodes":[
{"tagName":"date","childNodes":["2008/10/22"]},
{"tagName":"timerange","childNodes":["15:00 - 17:30"]},
{"tagName":"subject","childNodes":["社内打ち合わせ"]}
]},
{"tagName":"appoint",
"childNodes":[
{"tagName":"date","childNodes":["2008/10/28"]},
{"tagName":"timerange","childNodes":["15:00 - 17:30"]},
{"tagName":"subject","childNodes":["社内打ち合わせ(2nd)"]}
]}
]
}注) 実際のデータに改行は含まれません。
HTML形式のWebサービス
HTML形式のデータ例
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>私用カレンダ</title>
<style type="text/css">
th {background-color: silver;}
</style>
</head>
<body>
<span>user1 さんの予定を表示しています。</span>
<hr />
<table border="1">
<tr>
<th>予定日</th><th>時間帯</th><th>表題</th>
</tr>
<tr>
<td>2008/10/03</td><td>09:30 - 12:00</td><td>健康診断</td>
</tr>
<tr>
<td>2008/10/16</td><td>09:30 - 17:30</td><td>私用で休み</td>
</tr>
<tr>
<td>2008/10/19</td><td>19:30 - 21:30</td><td>同窓会</td>
</tr>
</table>
</body>
</html>HTML形式のデータの場合、スクレイピングツールを利用する必要があります。詳細は、“5.11.3 XSLの作成(マッシュアップ開発例)”を参照してください。