Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

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

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

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

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

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

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

8 © The Seasar Project and the others 2006. 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

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

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

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

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

13 © The Seasar Project and the others 2006. 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 の数だけ記述

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

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

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

17 © The Seasar Project and the others 2006. 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

18 © The Seasar Project and the others 2006. 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"

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

20 © The Seasar Project and the others 2006. 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

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

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

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

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

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

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

27 © The Seasar Project and the others 2006. 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 をベースに品質を極限まで高める。

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

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


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

Similar presentations


Ads by Google