Ajax フレームワークの比較 株式会社 フォアフロンティア たにあん. 説明の範囲 今回の技術発表会の説明範囲としては、 Ajax 開発におけるプ ログラム言語と連携するフレームワークについて比較し、特 に DWR について説明を行なうものとします。

Slides:



Advertisements
Similar presentations
1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
Advertisements

Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
© Copyright the Seasar Foundation and the others all rights reserved. 1 S2Axis2 による Web2.0 らくらく実践 2006/05/14 Seasar Conference 2006 Spring 鈴木 貴典.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
© 2005 株式会社はてな 本資料の一部または全部の無断複製・転載を禁じます prototype.js と Perl で Ajax 株式会社はてな 伊藤 直也
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
Scala + Lift フレームワーク. Scala の概要 JVM 上で動作するオブジェクト指向+関数型言 語 JVM のスケーラビリティを適用できる Java との相互利用が可能 trait を利用した多重継承( Mix-In )が可能.
Project Next-L プロトタイ プ 東京工科大学 田辺浩介
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
オープンソースCMS「ZOMEKI」を利用した 業務システムの開発手法
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
ZKプラグインで、Grailsの Viewをリッチに楽しく
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
第3回参考文献発表 PHP言語 岩永逸平.
ハルビン絵葉書コレクションシステムの再構築と機能追加 -サーバ側:PHPとMySQLを用いて
JPAを利用した RESTful Webサービスの開発
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:推奨タイプ (サンプルソースコードの公開)
パートナー様向けトレーニングメニュー セールストレーニング プレSEトレーニング SEトレーニング 検索の基礎
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
WebサービスII (第10回) 2007年11月28日 植田龍男.
IE5でアプリケーション開発 東日本計算センター 小野 修司.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
アプレット (Applet)について.
Step-by-Step Guide on How to Start ALICE Analysis
WagbyR6.5 Update 12 PPT版 更新情報
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
第4回 個人の動画配信補足のためのWeb構築
BlueBeanClientを用いた連携の概要
Ajaxフレームワーク 松嶋慎太郎.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JSFによるWebアプリケーション開発 第6回
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
Day3 Day4 Day3 Day4.
JSPの作成 J2EE II 第3回 2005年4月10日.
CiNIIほかに関連語提示機能を ~つっこみの第二回~
Javaによる Webアプリケーション入門 第5回
実際にたたいてAPI APIの初歩からプログラムまで使用方法のAtoZ.
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室
その他の図 Chapter 7.
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
○ ○ ○ こんな場合にお勧め 機能概要 SAP ERP伝票/マスタ入力をExcelを使って簡単に実現 Excel入力テンプレート
暗黙的に型付けされる構造体の Java言語への導入
Webアプリケーションの方向性 データベース論 第13回.
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
オーバレイ構築ツールキットOverlay Weaver
Jakarta Struts (2) ソフトウェア特論 第11回.
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
ゲーム開発モデルの基礎.
JAVAについて 高橋 雅哉.
アプリケーション依存の先読みが可能なO/Rマッピングツール
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
JSFによるWebアプリケーション開発 第3回
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
Javaによる Webアプリケーション入門 第4回
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
プログラム分散化のための アスペクト指向言語
使用する CSS・JavaScrpitも指定
統合開発環境のための プログラミング言語拡張 フレームワーク
第2回 Webサーバ.
今の俺にシカクはねぇ!! 資格取得支援システム.
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

Ajax フレームワークの比較 株式会社 フォアフロンティア たにあん

説明の範囲 今回の技術発表会の説明範囲としては、 Ajax 開発におけるプ ログラム言語と連携するフレームワークについて比較し、特 に DWR について説明を行なうものとします。

Ajax フレームワーク一覧 Java ベースの Ajax フレームワークにはさまざまなものがあ り以下にその一部を挙げます。 ・ DWR ・ Seam Remoting ・ jMaki ・ RichFaces ・ ICEFaces

前項に挙げた Ajax フレームワークはそれぞれタイプが異な り 3種類に分ける事ができます。 ・ DWR ・ Seam Remoting ・ jMaki ・ RichFaces ・ ICEFaces

Java Ajax フレームワークの比較 Java Ajax フレームワークをタイプ別に分け、 DWR 、 jMaki RichFaces の3つに焦点をあて、比較、解説を行ないます。 < 既存 Ajax ツールキットの ラッパータ イプ >

DWR( Direct Web Remoting ) ・どんなもの? Ajax 独特の複雑な JavaScript を必要とせず, JavaScript 内で「クラス名. メソッ ド名」と 記述することにより, Java の該当メソッドを呼び出すことが出来きる、サーバ ー側の リモート・オブジェクトの 呼び出しに特化したフレームワーク。 ・利点 フレームワークによって自動生成された Javascript を読み込む以外には画面側 に 制約がない ため、既存の Ajax ツールキットと自由に併用することができます。 シンプルで余計な機能を提供しない分だけ、幅広く連携することが出来ます。 ・欠点 DWR がカバーする範囲は、基本的には「サーバのロジックを呼び出し、戻り値 を 受け取る」までとなるため、その値を画面側でどのように利用するかはについ ては、 Javascript でそのロジックを記述しなければなりません。 また、リッチな UI コンポーネントなども用意されていませんので、操作性の高 い画面を 実現するには他のツールキットと併用する必要があり、別途そのツールキット の 知識も必要となります。

jMaki (じぇーまき) ・どんなもの? prototype.js 、j Query 、 Dojo 、 script.acul.us 、 Yahoo UI Library などのさま ざまな ライブラリ(フレームワーク)をラップし、 Java 、 Ruby 、 PHP 等からから簡単 に利用 できるようにするライブラリ(フレームワーク)です。 ・利点 カスタムタグを利用して JavaScript ライブラリを利用するため、 JavaScript を 意識せずに、 Ajax アプリケーションを記述できるようになる。 ・欠点 さまざまな既存 Ajax ツールキットのラッパーとしての動作を想定しているの で、 カスタムタグは汎用的な設計となっています。 その為、 1 つのタグで、描画される UI コンポーネントの種類や詳細な設定をすべ て まかなおうとするので、属性値が多くなっている。 また、当然各 UI コンポーネントごとにどのような設定項目があるかは異なり、 それを覚えていく 必要と Ajax ツールキット自体の知識も必要となります。

RichFaces ・どんなもの? JSF を拡張し、独自のカスタムタグで、 Javascript を記述することなく Ajax 通 信や リッチな UI コンポーネント ( トグルパネルやツリーメニュー、ドラッグ & ドロッ プ ) を 実現することができるようになっており、基本的にカスタムタグの使い方さえ 覚えれば、 Ajax+ リッチ UI コンポーネントの Web アプリケーションが作成できる ように なっています。 ・利点 基本的に Javascript は記述せず、用途にあったカスタムタグを記述するだけ で、 Ajax を利用したリッチなアプリケーションを作成することができます。 ・欠点 抽象度の高い技術(JSF)をベースにし、さらにその中に Javascript を隠蔽 している為、 既存の Ajax ツールキットとの連携や、 Javascript を記述する場合などには逆に 制約があります。

・それぞれのフレームワークのタイプは以下のような位置づけとなります。 ・「 Ajax 呼び出し専門系」 他の Ajax ツールキットとの連携など、カスタマイズ性を備えたタイプ ・「既存 Ajax ツールキットのラッパー系」 カスタマイズ性と生産性のバランスがよいタイプ ・「 JSF 拡張系」 カスタマイズ性よりもわかりやすさや生産性重視のタイプ ◆今回は上記の中で「 Ajax 呼び出し専門系」の技術であるDWRについて 説明いたします。

DWR について DWRの概要 DWRは Direct Web Remoting の略で Ajax アプリケーションを Java で 開発するための JavaScript と Java の連携を行なうフレームワークです。 以下、DWRの全体像となります。 ( 参照)

DWR の特徴 ・リモートオブジェクトの呼び出し JavaScript 内で「クラス名. メソッド名」と記述することによって, Java の該当メソッド を 透過的に呼び出すことが出来ます。 以下、呼び出しイメージとなります。 ( 参照)

・リバース Ajax Java (サーバーサイド)から JavaScript (クライアントサイド)を非同期に呼び出す, サーバープッシュを実現する機能を備えています。 当機能には3つの通信方式(以下、表参照)があり、どの方式を採用するかは DWR が 自動的に判断し利用する仕組みになっています。 ・他のフレームワークとの連携 DWR は, Spring , Struts , WebWork , JSF , Hibernate , Beehive , EJB3 との連携機能 を あらかじめ用意しています。 ( DWR の定義ファイルを Spring の Bean 定義ファイル内に記述できる等) 多少の拡張により, Seasar2 と連携させることも可能。 通信方式説明 Comet 長期間接続したままにする方式 Polling 定期的に通信を発生させる方式 Piggyback 他の通信時にデータを相乗りさせる方 式

・テストの容易性 DWR を利用するための web.xml 内で DWR から提供されているサーブレットの デバッグ・モー ドを有効化することにより Web ブラウザから 「 コンテキストルート /dwr/ 」にアクセスすると,以下の画面が表示されます。 ( 参照) 参照 ※ sayHello の引数に “DWR2.0” を入力して実行した画面

・セキュリティ Ajax では懸念事項になりやすい XSS (クロスサイト・スクリプティング), CSRF (クロ スサイト・ リクエスト・フォージェリ)の攻撃を抑えやすい構造になっています。 セキュリティのため,リバース Ajax などの一部機能はデフォルトでは利用できない設定に なっており,利用する場合は明示的に web.xm で設定を行う必要があります。 ・マルチブラウザ対応 JavaScript は Web ブラウザによって方言があり,これが Ajax 開発では大きな妨げとなる が、 DWR がライブラリとして提供する JavaScript や動的に生成する JavaScript は, IE 、 FireFox 、 Opera 、 Safari 、 Konqueror など複数のブラウザに対応しています。 ・アノテーションのサポート DWR は,アノテーションをサポートしており, dwr.xml に設定する内容を Java コードに 埋め込むことも可能になっています。 以上