© The Seasar Project and the others 2006. all rights reserved. 1 Seasar Conference 2006 Spring JSF の波に乗れ! ~ Teeda ではじめる JSF 2006.05.14 Teeda プロジェクトリーダ.

Slides:



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

Copyright© The Seasar Foundation and the others. All rights reserved. 1 Seasar Conference 2007 Spring Seasar Conference 2007 Spring 今から役立つ !
OSC-kansai 2009 EC-CUBE の設計思想 EC-CUBE の設計思想について 2009/7/11( 土 ) 有限会社 Loop AZ 大河内健太郎.
© Copyright the Seasar Foundation and the others all rights reserved. 1 S2Axis2 による Web2.0 らくらく実践 2006/05/14 Seasar Conference 2006 Spring 鈴木 貴典.
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
Struts VS SAStruts ・ STRUTS と SAStruts を比較します。. Struts のメリット1 STRUTS はディファクトスタンダード。 ↓ プログラマがたくさんいる。 ライブラリ、ツールがたくさんある。 ビジネス案件が豊富。 書籍などの情報元が豊富。
Genius Framework について 吉津 卓保( S2 ファクトリー株式会社). 自己紹介.
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
Scala + Liftフレームワーク その2.
OpenOffice.org 2.3の 紹介と今後の展開について
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ZKプラグインで、Grailsの Viewをリッチに楽しく
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
JPAを利用した RESTful Webサービスの開発
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Visual Studio 2005による XML Web サービス入門
S2Container.NET, S2Dao.NET コミッタ 藤井 宏明
CakePHPを業務に導入する Shin x blog 新原 雅司.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
CubbyでRESTfulなWebアプリを
WebサービスII (第10回) 2007年11月28日 植田龍男.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
PowerPoint スライドの HTML化支援ツール epppt version 3
JavaScript Language Update
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
共同ローカリゼーション フレームワーク 井上 謙次.
WebサービスII (第8回) 2007年11月14日 植田龍男.
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
JSPの作成 J2EE II 第3回 2005年4月10日.
ユーザ毎にカスタマイズ可能な Web アプリケーション用のフレームワークの実装
基礎プログラミング演習 第1回.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
パフォーマンス徹底比較 Seasar2 vs Spring
 Inside of Teeda おおたに.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
WebサービスII (第7回) 2007年11月7日 植田龍男.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
ソフトウェア工学 知能情報学部 新田直也.
.NET Framework 3.0 概要 (旧称 : WinFX)
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
Limeを使ったユニットテストの実装方法
Javaによる Webアプリケーション入門 第11回
JSFによるWebアプリケーション開発 第3回
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
稚内北星学園大学 情報メディア学部 安藤 友晴
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
JSFによるWebアプリケーション開発 第5回
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
Presentation transcript:

© The Seasar Project and the others all rights reserved. 1 Seasar Conference 2006 Spring JSF の波に乗れ! ~ Teeda ではじめる JSF Teeda プロジェクトリーダ 大谷 晋平

© The Seasar Project and the others all rights reserved. 2 Seasar Conference 2006 Spring 自己紹介 名前:大谷 晋平 ハンドルネーム: shot ブログ: 某社システムエンジニア – オープンソースとは無縁の生活・・・・ –Seasar に出会うまでは。 メール:

© The Seasar Project and the others all rights reserved. 3 Seasar Conference 2006 Spring 質問たーいむ Struts 使ったことある人? JSF 使ったことある人? Teeda って聞いたことある 人?

© The Seasar Project and the others all rights reserved. 4 Seasar Conference 2006 Spring アジェンダ プレゼンテーション層の変革 JSF とは? JSF の問題点 Teeda とは? Teeda と S2JSF Teeda の JSF 問題点へのアプローチ Teeda のロードマップ まとめ

© The Seasar Project and the others all rights reserved. 5 Seasar Conference 2006 Spring プレゼンテーション層の変革 プレゼンテーション層の変革 – オープンソースからの改善点の取り込み よりリッチな Web アプリケーションの構築に向けて – 標準化への動き( JavaEE 仕様) Web フレームワークでは Struts から JSF へ JSF は Web フレームワークの新しい標準

© The Seasar Project and the others all rights reserved. 6 Seasar Conference 2006 Spring JSF とは? –JavaServer Faces の略 –JavaEE の仕様の一部( JSR127 、 252 ) –UI コンポーネントフレームワーク 単純な request/response ではなく、 GUI プログラミン グのようなコンポーネントモデル イベントドリブン 標準コンポーネント提供による開発効率向上 –JSF の実装 MyFaces 、 Sun の RI など

© The Seasar Project and the others all rights reserved. 7 Seasar Conference 2006 Spring JSF の問題点 – 相変わらず、、、 XML 地獄 – 簡易 DI 機能 JSF に備わっている簡易 DI では機能不足 – 高機能な DI コンテナ( DI と AOP )があるので余計見劣りす る –JSF 実装の未成熟さ Struts で出来ることを上回っていない View のデフォルトが JSP テスタビリティの低さ

© The Seasar Project and the others all rights reserved. 8 Seasar Conference 2006 Spring Teeda とは? –Seasar ファンデーションの JSF ベース Teeda (てぃーだ)とは沖縄の言葉で「太陽」という 意味。 – コンセプト 「 JSF meets DI x AOP 」 信頼性の高い 「最強」 Web フレームワーク 全ての面で今のデファクトを上回る –Teeda の構成 JSF 標準実装 → Teeda Core JSF 拡張機能 → Teeda Extension

© The Seasar Project and the others all rights reserved. 9 Seasar Conference 2006 Spring Teeda Core – 純粋な JSF 実装( JSF1.1 に準拠) – ところがそれだけだと使いにくい 開発者の使いやすさ >> 仕様準拠 開発者の使いやすさ重視 –Seasar2 利用による使いやすさの追求 –S2JSF のノウハウの再利用 – 独自で組み込んだ使いやすさのための機能 Test 重視 – テスティングフレームワーク TeedaUnit

© The Seasar Project and the others all rights reserved. 10 Seasar Conference 2006 Spring Teeda Extension –JSF 拡張機能 ページ駆動アーキテクチャ – 1ページ= HTML + Page クラス( POJO ) – 必要な機能を任意で選択 HTML テンプレート機能、レイアウト機能 Ajax 機能、クライアントサイドバリデーション ダブルサブミット防止、 URL 直叩き防止 – でも S 2 JSF がもうあるじゃん? –Teeda Extension は、 S2JSF の進化系

© The Seasar Project and the others all rights reserved. 11 Seasar Conference 2006 Spring Teeda と S2JSF MyFaces S2JSF 1.0 Teeda Core S2JSF 1.1 Teeda Core Teeda Ext 過去 現在未来

© The Seasar Project and the others all rights reserved. 12 Seasar Conference 2006 Spring XML 地獄へのアプローチ XML 地獄解消に向けて –Less Configuration & アノテーション – 開発者が設定ファイルに記述するのはほとんど が managed-bean と navigation-rule の設定 managed-bean の自動登録 –Teeda は内部で Seasar2 でコンポーネントを一括管理 –Seasar2 で出来ることは Teeda で全て可能 navigation-rule のアノテーション化

© The Seasar Project and the others all rights reserved. 13 Seasar Conference 2006 Spring managed-bean の自動登録 managed-bean の自動登録 (BEFORE) helloBean examples.jsf.bean.HelloBean request addBean examples.jsf.bean.AddBean request ・ managed-bean の数だけ記述

© The Seasar Project and the others all rights reserved. 14 Seasar Conference 2006 Spring managed-bean の自動登録 managed-bean の自動登録 (AFTER) <component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRe gister" > "examples.jsf.bean" ".*Bean" コンポーネントの数が増えても設定はこれのみ

© The Seasar Project and the others all rights reserved. 15 Seasar Conference 2006 Spring managed-bean 数と設定量 設定量 managed-bean 数 BEFORE AFTER

© The Seasar Project and the others all rights reserved. 16 Seasar Conference 2006 Spring navigation-rule の自動登録 public class HogeAction public static final String SUCCESS = “success”; } /pages/hoge.html success /pages/foo.html

© The Seasar Project and the others all rights reserved. 17 Seasar Conference 2006 Spring 簡易 DI 機能 JSF の簡易 DI –managed-bean のみ addCalculateBean teeda.example.AddCalculateBean request calculater #{calculater} calculater teeda.example.AddCalculater request

© The Seasar Project and the others all rights reserved. 18 Seasar Conference 2006 Spring 高度な DI 機能 Teeda では、 S2 を利用 –managed-bean –Validator 、 Converter 、 UIComopnent も可能 – 当然、アスペクトも利用可能 <component name="lengthValidator1“ class="javax.faces.validator.LengthValidator"> 10 aop.traceInterceptor <component name="outputDateTimeConverter“ class="javax.faces.convert.DateTimeConverter"> "yyyy/MM/dd"

© The Seasar Project and the others all rights reserved. 19 Seasar Conference 2006 Spring vs Struts 既存JSF実装の未熟さ –Struts で出来ることを上回っていない クライアントサイドバリデーション 初期化処理、例外処理 –Teeda はコンセプトとして、デファクトで出来 ることを全て上回る フレームワークは機能の星取り表 機能比較で一つずつデメリットをつぶしていく –

© The Seasar Project and the others all rights reserved. 20 Seasar Conference 2006 Spring HTML テンプレート 既存JSF実装の未熟さ –View のデフォルトが JSP Teeda を使えば今からでも HTML で利用可能 –Teeda Core + S2JSF(1.1.x) – デザイナとの協業も楽 Teeda Extension を使えば、規約に沿って更に記述量 が減る –Teeda Core + Teeda Extension

© The Seasar Project and the others all rights reserved. 21 Seasar Conference 2006 Spring TeedaUnit 既存JSF実装の未熟さ – テスタビリティの低さ TeedaUnit でひたすらテスト自動化(笑) – 親テストクラス( TeedaTestCase )+ Mock クラス群 » はっきり言って ShaleTestCase 超えてる –Teeda-selenium »Selenium ベースの View テスト –Teeda-integration-test »HtmlUnit + Jetty でテスト → これからの Web フレームワークのあるべき姿

© The Seasar Project and the others all rights reserved. 22 Seasar Conference 2006 Spring Teeda のロードマップ Teeda Core –JSF 実装残り部分 Portle t対応など – 各種コンポーネントの開発 FileUpload 、 Calendar など有用なものをピックアップ – ドキュメント、 Example の充実 – テストとリファクタリング – パフォーマンスチューニング

© The Seasar Project and the others all rights reserved. 23 Seasar Conference 2006 Spring Teeda のロードマップ Teeda Extension –HTML テンプレート機能 – レイアウト機能 – アノテーション機能 目標は faces-config の記述なし –HOT 対応 Web コンテナを起動させたまま、ソースの変更が可能 – セキュリティ対応

© The Seasar Project and the others all rights reserved. 24 Seasar Conference 2006 Spring Teeda のロードマップ Kumu (くむ) –Ajax + JS ライブラリ Ajax 機能の開発効率を劇的に向上 – コンセプトは「最速」 習得するまで「最速」 コード書くのも「最速」 実行速度も「最速」 –Ajax 基本機能は既に完成 JavaScript から、 S2Component を呼び出す – 今後、 JavaScript-Java のリモーティング機能も。

© The Seasar Project and the others all rights reserved. 25 Seasar Conference 2006 Spring Ajax サンプル( Ajax 呼び出し) function demo(zipcode){ Kumu.ajax.executeTeedaAjax(zipBean_getAddress, {"zipcode" : zipcode}); }

© The Seasar Project and the others all rights reserved. 26 Seasar Conference 2006 Spring Ajax サンプル( dicon )

© The Seasar Project and the others all rights reserved. 27 Seasar Conference 2006 Spring まとめ Teeda は JSF 実装。でもそれだけじゃない。 –Teeda Core → JSF 実装+ JSF の欠点除去 –Teeda Extension → HTML ベースの JSF 拡張機能 –Kumu → 最速 JS ライブラリ。 Ajax も楽勝 Teeda は開発者のフィードバックを重視。 – Web開発をもっともっと楽に。 Teeda は Web フレームワークとして JSF をベースに品質を極限まで高める。

© The Seasar Project and the others all rights reserved. 28 Seasar Conference 2006 Spring ご参考 Teeda – この後、参加型のイベントやります! –Teeda のブースで LIVE で Teeda Extension の HTML テンプレートの仕様 LIVE で!! –Kumu & Ajax の仕様についても LIVE で!! Feedback 重要

© The Seasar Project and the others all rights reserved. 29 Seasar Conference 2006 Spring Thanks!! ご清聴ありがとう ございました。