オペレーティングシステムⅡ 第5回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/11/6.

Slides:



Advertisements
Similar presentations
1 WSIF における Web サービス・メソッドの自動設 定 2004 年 3 月 23 日 越田高志 松江工業高等専門学校 情報工学科 電子情報通信学会 2004年総合 大会.
Advertisements

1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Copyright © Ariel Networks, Inc. AJAX 勉強会 アリエル・ネットワーク株式会社.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
© 2005 株式会社はてな 本資料の一部または全部の無断複製・転載を禁じます prototype.js と Perl で Ajax 株式会社はてな 伊藤 直也
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ヘルスケア連動型 市販薬検索システム 研究者 : 加納 えり 指導教員 : 越田 高志.
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
第9回 2007年6月22日 応用Java (Java/XML).
レンタルショッピングカートマニュアル ~ Google Analytics 編 ~
JPAを利用した RESTful Webサービスの開発
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (2日目) 担当:清水,田代 副手:浦辺,石井.
IDLTM/IONTMを使用した UDON (Universe via Darts ON-line) プロトタイプの作成
REST型Webサービスによる 楽曲検索システムの開発
Google AJAX Search APIのお勉強
IE5でアプリケーション開発 東日本計算センター 小野 修司.
売れるためのWEBサイト構築.
Hot Pepper for iPod touch
アプレット (Applet)について.
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
ホームページの作り方.
Webサービスマッシュアップを利用したWebアプリケーションの開発
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
JavaScript 成瀬 基樹 平野 敦 北浦 繁.
卒研:データベースチーム 第4回 DOMを使った処理
オペレーティングシステムⅡ 第1回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/02.
卒業研究 PHPによるGoogleMapAPI を利用した 喜田村緑郎日記システムの 試作 平成19年2月10日 情報システム解析学科
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
押さえておきたいIE8の セキュリティ新機能
HTTPプロトコル J2EE I 第7回 /
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (1日目) 担当:清水,田代 副手:浦辺,石井.
XML読み込みとDOM操作で Ajaxに近づこう
情報整理のための Google Map API入門
GoogleMapsを利用した コレクションシステムの試作
実際にたたいてAPI APIの初歩からプログラムまで使用方法のAtoZ.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
介護支援システム SYLVIE 頼れる介護のセキュリティ 開発メンバー リーダー 岩本 和磨
9.1 DOMの概要 9.2 DOMプログラミングの基礎 9.3 DOMのプログラミング例
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
第7回JavaScriptゼミ セクション4-5 発表者 直江 宗紀.
オペレーティングシステムⅡ 第13回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
制作技術ー3 双方向通信 : CGIシステムと環境変数
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
平成19年10月19日 図書系のための アプリケーション開発講習会
端末およびサービス透過的な 情報閲覧支援システムの構築
第13回 2007年7月20日 応用Java (Java/XML).
基礎プログラミング演習 第12回.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
地域生活支援システムの開発 越田研究室 j0431 野津洋二.
オペレーティングシステムⅡ 第2回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/09.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
オペレーティングシステムⅡ 第10回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
第14回放送授業.
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
第2回 Webサーバ.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
今の俺にシカクはねぇ!! 資格取得支援システム.
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
情報基礎 空間情報の利用 講義の資料は下記のURLを参照.
Presentation transcript:

オペレーティングシステムⅡ 第5回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/11/6

本日の内容(WebAPI) Web からのデータ・サービスの取得 データ形式 取得方法 2009/11/6

データ形式 XML JSON <students> <student> <id>5J01</id> <name>Amano</name> </student> <id>5J02</id> <name>Aruga</name> </students> [ { "id":"5J01" "name":"Amano" } "id":"5J02" "name":"Aruga" ] JavaScriptオブジェクトに 変換するのが容易! 2009/11/6

データの取得方法 iframe XMLHttpRequest JSONP SOAP 専用 API 2009/11/6

データの取得方法 iframe XMLHttpRequest JSONP SOAP 専用 API 2009/11/6

iframe 特徴 利点: 欠点: Web ページの取得と表示が同時に可能 データ抽出だけの(表示しない)場合、 style='visibility: hidden' で対応可能 他サイトのページもそのまま見せられる (著作権に注意) 欠点: 他サイトの場合、データの抽出が不可能 同期がとりにくい 2009/11/6

一番簡単な例は・・・ なんといっても GoogleMaps !! 2009/11/6

2009/11/6

JavaScript を利用すれば・・・ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> <!-- function doubleSearch() { var keyword = document.getElementById('if_key').value; var uri_go = "http://www.google.co.jp/search?q=" + keyword; var uri_ya = "http://search.yahoo.co.jp/search?p=" + keyword; document.getElementById('if_go').src = uri_go; document.getElementById('if_ya').src = uri_ya; } //--> </script> </head> 2009/11/6

<h1><code>iframe</code> でのデータ取得の例</h1> <body> <h1><code>iframe</code> でのデータ取得の例</h1> <p>Enter a search term: <input type="text" id="if_key" /> <button onclick="doubleSearch()">Search now!</button></p> <p>検索の結果: google.com (左) と yahoo.co.jp (右)</p> <p><iframe id="if_go" style="float: left; width: 45%; height: 350px;"> Wait for something to appear here!</iframe> </p> <p><iframe id="if_ya" style="width: 45%; height: 350px;"> Wait for something to appear here, too!</iframe> </body> </html> 2009/11/6

2009/11/6

データの取得方法 iframe XMLHttpRequest JSONP SOAP 専用 API 2009/11/6

XMLHttpRequest JavaScript などのウェブブラウザ搭載の スクリプト言語で、サーバとの HTTP 通信を行うための組み込みオブジェクト(API) すでに読み込んだページからさらに HTTPリクエストを発することができ、 ページ遷移することなしにデータを 送受信できる Ajax の基幹技術 2009/11/6

Ajax JavaScript とダイナミック HTML を 使った非同期通信アプリケーション 画面遷移を伴わない動的な Web アプリケーションの製作が実現可能に 従来の技術の組み合わせ JavaScript DHTML XML CSS ・・・etc. 2009/11/6

ブラウザによってやり方が異なるので注意! <script type="text/javascript"><!-- function loadTextFile() { httpObj = new XMLHttpRequest(); // 1. リクエストオブジェクトの取得 httpObj.onload = displayData; // 2. callback 関数の用意 httpObj.open("GET", "data.txt", true); // 3. リクエストの準備 httpObj.send(null); // 4. リクエストの実行 } function displayData() document.ajaxForm.result.value = httpObj.responseText; // --></script> ブラウザによってやり方が異なるので注意! <body> <form name="ajaxForm"> <input type="button" value="読み込み" onClick="loadTextFile()"><br> <textarea name="result" cols="40" rows="5"></textarea> </form> </body> 2009/11/6

クロスドメイン制約 セキュリティ上、HTMLファイル(スクリプト)はそれが置かれているドメインのサーバとしか通信できないという制約がある これを回避しなければ、スクリプトが置いてあるサーバ以外からファイルを読込めない 制約あり iframe XMLHttpRequest 制約なし 画像やスタイルシート スクリプト 解決策の1つ    JSONPを使う 2009/11/6

データの取得方法 iframe XMLHttpRequest JSONP SOAP 専用 API 2009/11/6

JSONP 前提 問題点 スクリプトにクロスドメイン制約がない <script> 要素を追加すると実行される データの提供者を信頼しなければならない 2009/11/6

データ形式 JSON JSONP {"students":[ { "id":"5J01" "name":"Amano" } "id":"5J02" "name":"Aruga" ]} callback( {"students":[ { "id":"5J01" "name":"Amano" } "id":"5J02" "name":"Aruga" ]} ); JSON に関数呼び出しの 仕組みを加えたもの! 2009/11/6

HTML ファイル <html> <head> <script src="hoge.js"></script> </head> <body> <input type="button" value="OK" onclick="loadJsonp();" /> <div id="result"></div> </body> </html> 2009/11/6

kosen.jsonp result( {"kosen":[{ "prefecture":"北海道", "school_name":"函館工業高等専門学校", },{ "prefecture":"東京都", "school_name":"東京工業高等専門学校", "prefecture":"沖縄県", "school_name":"沖縄工業高等専門学校", }] }); 2009/11/6

function loadJsonp() { // hoge.js function loadJsonp() { var objScript = document.createElement("script"); objScript.src = "http://www.sw.it.aoyama.ac.jp/akiyo/lesson/kosen.jsonp"; document.getElementsByTagName("head")[0].appendChild(objScript); } function result(retdata) { var target = document.getElementById('result'); var html = ''; var i = 0; html += "<table><tr><td>都道府県</td><td>高専名</td></tr>"; for (i = 0; i < retdata.kosen.length; i++) { html += "<tr><td>"; html += retdata.kosen[i].prefecture; html += "</td><td>"; html += retdata.kosen[i].school_name; html += "</td></tr>"; html += "</table>"; target.innerHTML = html; 2009/11/6

練習課題 ホットペッパーのAPIを利用して 検索サービスを作ってみよう ユーザ登録を行いAPIキーを取得する まずはサンプルを改造してみては? http://webservice.recruit.co.jp/hotpepper/reference.html https://webservice.recruit.co.jp/register/index.html http://mtl.recruit.co.jp/blog/2007/08/jsonp_code_sample.html 2009/11/6

例 2009/11/6

データの取得方法 iframe XMLHttpRequest JSONP SOAP 専用 API 2009/11/6

SOAP IBM や Microsoft など大企業が支持 W3C で標準化 仕様が大掛かりで複雑 「Web Service = SOAP」だった時期も マッシュアップには向かない 2009/11/6

データの取得方法 iframe XMLHttpRequest JSONP SOAP 専用 API 2009/11/6

専用API Web サービスが URI のみで提供されるのでは なく専用の JavaScript のライブラリを使って データ交換を自動的にやってくれる 典型例: Google Maps 利点: データ交換を意識する必要が無く便利 欠点: 専用 API まで用意してあるところは    まだまだ少数 2009/11/6