T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介

Similar documents
T2 in Action

Seasar.NET入門

S2Pradoの紹介

S2BaseとZend Framework

T2のいま・そしてこれから

intra-mart WebPlatform/AppFramework

WebOTXマニュアル

intra-mart WebPlatform/AppFramework

早分かりS2Dao

intra-mart im-JavaEE Framework


(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

T2ハックス!

WTM2019SingleSignOn

Cubby in Action

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

(Microsoft PowerPoint - Java\221\3462\225\224\211\357\224\255\225\\\216\221\227\ ppt)

SpringSecurity

1 JBoss Seam と Embedded EJB3 で見る 次世代の Java EE アプリケーション開発 株式会社カサレアルプロフェッショナルサービスセンター阿島哲夫岡本充洋

メディプロ1 Javaサーブレット補足資料.ppt

--- サーバ側処理 Java servlet の例 // 通常の Java servlet での POST で受信と同じ protected void dopost(httpservletrequest request, HttpServletResponse response) throws S

プレポスト【問題】

S2DaoでもN:Nできます

Part1 159 a a

Javaと マルチスレッド

intra-mart im-JavaEE Framework

JSFからのTeeda

intra-mart im-J2EE Framework

Gartner Day

5-1- 基 開 発 フレームワークに 関 する 知 識 現 在 普 及 が 期 待 されている 開 発 フレームワークの 実 際 の 開 発 運 用 Ⅰ. 概 要 の 際 に 必 要 な 管 理 知 識 手 法 の 種 類 と 特 徴 内 容 を 理 解 し 必 要 なノ ウハウを 実 務 レベル

Microsoft PowerPoint ppt

intra-mart WebPlatform/AppFramework

プログラミング基礎I(再)


PowerPoint プレゼンテーション

メディプロ1 Javaプログラミング補足資料.ppt

untitled

Javaの作成の前に

Flex2とS2Flex2とAIR紹介

Prog2_12th

Ymir

S2Wicketの紹介

V8.1新規機能紹介記事

rcp-add-01:アーキテクチャ設計書

Web JavaScript Java Applet Flash ActionScript CGI (C, perl, ruby ) PHP Servlet, JSP (JavaServer Pages) ASP 7-2

PowerPoint Presentation

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

PowerPoint プレゼンテーション

GUIプレゼンテーションフレームワークS2JFace

スライド タイトルなし

Microsoft PowerPoint - Lecture_3

DIコンテナ 前 回 ご 説 明 したSpring DIコンテナに 共 通 するこ とは 依 存 を 注 入 することによってシステム 内 に 存 在 するオブジェクト 同 士 の 結 びつきを 緩 くすることで あり そのための 仕 組 み 提 供 を 意 味 する [Spring のDIコンテナ

ASP.NET 2.0 Provider Model 概要

Sinatra と MongoDB 今回は Sinatra で MongoDB の操作を体験してみます 進捗に合わせて ドライバから Ruby で使える便利な ORM の紹介をします

Microsoft PowerPoint - Seasar2.5.ppt

アプリケーションサーバ用データベースアクセス 汎用コントロール Version Copyright(c) 2004 MRO co;ltd All Rights Reserved

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

JBoss Application Server におけるディレクトリトラバーサルの脆弱性

サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere Gla

Prog2_9th

ゆみる は こうげきりょく が 2 あがった!

S2Dao入門

目次 第 1 部 第 2 世代 blanco Framework のご紹介 blanco Framework のご紹介 第 2 部 Eclipse 日本語化への取り組みについて 2

5-1- 応開発フレームワークに関する知識 開発フレームワークを利用した Web アプリケーションの実装方法を理 Ⅰ. 概要解する MVC や OR マッピング DIxAOP といった技術を理解する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 5-1- 基開発フレームワークに関す

9iAS_DEV.PDF

Microsoft Word - Android_SQLite講座_画面800×1280

スライド 1

java_servlet2_見本

intra-mart im-J2EE Framework

"CAS を利用した Single Sign On 環境の構築"

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

JPA & Kuina-Dao入門

03_さらなる開発生産性向上へ.pptx

Microsoft PowerPoint - sc2007spring_Aa1_Kuina.ppt

Load-time weaveingで広がるAOPの可能性

PowerPoint Presentation

Servlet JSP JSP Servlet/JSP における 日 本 語 の 処 理 - 1

第13回講義

移行支援資料 ~J2EE機能から Java EE 5機能への移行ポイント~

第 7 回の内容 動的な Web サイト フォーム Web システムの構成

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

bebras_slide.pptx

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android)

PowerPoint プレゼンテーション

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

1 ユーザ認証を受けた権限で アプリケーションを利用するために ログインプロキシにアクセスします 2 ログインプロキシにより Shibboleth SP から Shibboleth IdP の認証画面にリダイレクトされます 3 ブラウザに認証画面を表示します 4 認証画面にユーザ / パスワードを入

Microsoft PowerPoint - prog03.ppt

移行支援資料 ~J2EE機能からの移行ポイント~

ScalaFukuoka 2017 Backlog.key

Rmenuフレームワーク

FW APIServer 設定ガイド Version 年 2 月 3 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1


PowerPoint プレゼンテーション

HTML/JSP/Servlet... 7 JSP... 7 Servlet Struts Struts Struts FormBean LoginForm

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性

Transcription:

T2 でつなごう! - つなぐつながる Web フレームワーク T2 の紹介 T2 プロジェクト 米林正明 片山暁雄

自己紹介 名前 米林正明 ID id:yone098 所属 株式会社 Abby 代表取締役社長

自己紹介 名前 片山 暁雄 ID id:c9katayama 所属 株式会社キャピタルアセットプランニング

Agenda T2の概要 T2の基本姿勢 T2の目指す所 機能紹介 DIコンテナ非依存 今後の展開 デモ

T2 - The WEB Connector - T2 の概要

Web を取り巻く環境 クライアント HTML Ajax Flex3 Param XML AMF 3 フレームワーク Struts Struts2 BlazeDS サーバ Action Action Support POJO

Web を取り巻く環境 無理

T2 とは T2 とは Webフレームワーク テーマ つなぐ つながる クライアントとユーザーコードの仲介役

T2 でつなぐつながる クライアント T2! サーバ

T2 - The WEB Connector - T2 のスタイル

T2 のスタイル アノテーションドリブン エントリーポイントの POJO にアノテーション付与 エントリーポイントの分かりやすさ重視 規約とアノテーションを適切に利用 サーバ @POST @GET @ActionPath( /hoge )

T2 のスタイル 基本はステートレス 特定のコンテナへ依存しない コンテナなくても OK

T2 のスタイル ユーザーに介入してほしい コアはシンプルに ext で拡張を提供 できればプロジェクトごとに必要な機能を作ってほしい ext はあなたが作る!

T2 - The WEB Connector - T2 の目指す所

T2 の目指す所 マルチビューをさばけるフレームワーク 過渡期でも使えるフレームワーク 依存性の少ないフレームワーク ユーザーが支配出来るフレームワーク

T2 - The WEB Connector - 機能紹介

T2 - The WEB Connector - リクエストと POJO の マッピング

基本機能 STEP1:@Page でクラス特定 http://yoursite.com/t2app/hello /world @Page( /hello ) public class MyHello {

基本機能 STEP2: メソッドアノテーションでメソッド特定 http://yoursite.com/t2app/hello/world @Page( /hello ) public class MyHello { @GET @ActionPath( /world ) public Navigation helloworld(){

メソッド特定方法 @GET GETのリクエストでかつ @ActionPath( /world ) /worldのパスの場合 public Navigation helloworld(){ 全マッチの場合 呼び出される

メソッドアノテーション @GET,@POST @ActionPath @ActionParam リクエストパラメータのkey key-value 指定も可能 @Ajax @Amf (0.6から) @Default

アノテーションマッチ 複数のメソッドがマッチした場合 たくさんアノテーションがマッチした方を優先 同じ数のアノテーションがマッチした場合 先に見つかったほうを使用 ( バージョン0.5) ただしここは検討中 マッチするのがなかった場合 @Defaultがついたメソッドを呼ぶ @Defaultつきがない場合 エラー

メソッド引数特定方法 引数のアノテーションを見て 引数を解決 @RequestParam, @RequestHeader @SessionAttr @Upload @Form @Index @Var

メソッド引数特定方法 引数の型を見て 引数を解決 HttpServletRequest, HttpServletResponse HttpSession ServletContext Cookie/Cookie[] WebContext Request, Response UploadFile ErrorInfo

メソッド引数特定方法 @ActionPath( /world/{id} ) public Navigation helloworld( HttpSession session, @Var( id ) String id, @RequestParam( name ) String name){

T2 - The WEB Connector - レスポンス

レスポンス 戻り値として Navigation インターフェースを実装したクラスのインスタンスを返す Forward Redirect SimpleText Direct Json NoOperation PassThrough

レスポンス //JSP に Forward @ActionPath( /world/{id} ) public Navigation helloworld(){ return Forward.to( /WEB-INF/jsp/hoge.jsp ); } // 画像ファイルを返す @ActionPath( /worldimage ) public Navigation helloworldimage(){ File image = new File( world.png ); return Direct.from(image); }

T2 - The WEB Connector - DI コンテナ非依存

DI コンテナ非依存 T2 が動作する DI コンテナ Guice Spring Lucy

DI コンテナ非依存 今日は Seasar カンファレンスやないか!

DI コンテナ非依存 Seasar 君 どこ行ってしもたんや

DI コンテナ非依存 T2 が動作する DI コンテナ Seasar2 Guice あるよ! Spring Lucy

DI コンテナ非依存 環境構築 ~Seasar2 編 ~ 参照 t2-employee 構成 S2.4 + S2Dao

DIコンテナ非依存 作成設定ファイル~Seasar2 編 ~ aop.dicon app.dicon dao.dicon jdbc.dicon

DI コンテナ非依存 web.xml~seasar2 編 ~ <filter> <filter-name>t2</filter-name> <filter-class>org.t2framework.filter.t2filter </filter-class> <init-param> <param-name>t2.rootpackage</param-name> <param-value>examples.employee.page</param-value> </init-param> <init-param> <param-name>t2.container.adapter</param-name> <param-value>org.t2framework.plugins.container.seasar2adapter</param-value> </init-param> <init-param> <param-name>t2.eagerload</param-name> <param-value>true</param-value> </init-param> </filter>

DI コンテナ非依存 Page クラス ~Seasar2 編 ~ @RequestScope @Page("login") public class LoginPage

DI コンテナ非依存 Page クラス DI~Seasar2 編 ~ protected FooService fooservice; @Binding(bindingType = BindingType.MUST) public void setfooservice(fooservice fooservice) { this.fooservice = fooservice; }

DI コンテナ非依存 環境構築 ~Guice 編 ~ 参照 t2-guice 構成 Guice + JPA

DI コンテナ非依存 作成設定ファイル ~Guice 編 ~ persistence.xml Guice 用のモジュール (Java で )

web.xml~guice 編 ~ DI コンテナ非依存 <filter> <filter-name>t2</filter-name> <filter-class>org.t2framework.t2.filter.t2filter</filter-class> <init-param> <param-name>t2.rootpackage</param-name> <param-value>org.t2framework.samples.guice.page</param-value> </init-param> <init-param> <param-name>t2.container.adapter</param-name> <param-value>org.t2framework.t2.adapter.guiceadapter</param-value> </init-param> <init-param> <param-name>t2.exclude-resources</param-name> <param-value>css, js</param-value> </init-param> </filter>

DI コンテナ非依存 Page クラス ~Guice 編 ~ @RequestScoped @Page("add") public class AddPage

DI コンテナ非依存 Page クラス DI~Guice 編 ~ @Inject private CalcService calcservice; @Inject @RequestParameters Map<String, String[]> params;

DI コンテナ非依存 環境構築 ~Spring 編 ~ 参照 t2-spring 構成 Spring2.5 + ibatis

DI コンテナ非依存 作成設定ファイル ~Spring 編 ~ applicationcontext.xml dao-ibatis.xml sql-map-config.xml XxxSqlMap.xml

web.xml~spring 編 ~ <filter> <filter-name>t2</filter-name> <filter-class>org.t2framework.t2.filter.t2filter</filter-class> <init-param> <param-name>t2.rootpackage</param-name> <param-value>org.t2framework.samples.spring.page</param-value> </init-param> <init-param> <param-name>t2.config</param-name> <param-value>applicationcontext.xml</param-value> </init-param> <init-param> <param-name>t2.container.adapter</param-name> <param-value>org.t2framework.t2.adapter.springadapter</param-value> </init-param> <init-param> <param-name>t2.eagerload</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>t2.exclude-resources</param-name> <param-value>css, js</param-value> </init-param> </filter> DI コンテナ非依存

DI コンテナ非依存 Page クラス ~Spring 編 ~ @Component @Page("add") public class AddPage

DI コンテナ非依存 Page クラス DI~Spring 編 ~ private CalcService calcservice; @Autowired(required=true) public void setcalcservice( CalcService calcservice) { this.calcservice = calcservice; }

DI コンテナ非依存 動作確認アプリケーションサーバ Tomcat5x/6x JBoss4x/5x Jetty6x WebLogic10x その他いろいろ Yonexで確認

T2 - The WEB Connector - 今後の展望

今後の展望 バージョン0.6 Flex3 対応 (AMF3) BlazeDSのAMF3ライブラリ使用 もしくはS2Flex2のAMF3 部分使用 バージョン0.7 Atom,RSS

Commons 共通ユーティリティ郡 Lucy DI コンテナ アノテーションベース Daisy 2waySQL フレームワーク OS(Object-SQL) マッパ 薄い JDBC ラッパー その他プロダクト

その他プロダクト Yonex( 仮 ) Hyper Integration Test Suite レポーティング とかも 提供したい!

プロジェクトリソース サイト http://code.google.com/p/t-2/ リリースアーカイブ ドキュメント ソースコード メーリングリスト T2-users http://groups.google.com/group/t2-users 開発の話 仕様の話 なんでも OK

T2 - The WEB Connector - まとめ

まとめ T2はマルチビュー対応 つなぐ機能は提供します! が 組み合わせはユーザーで! まだまだ発展途上 ご意見ください!

T2 - The WEB Connector - エンドロール

T2 - The WEB Connector - 出演

T2 - The WEB Connector - テツ

T2 - The WEB Connector - テツ

T2 - The WEB Connector - テツ

T2 - The WEB Connector - イーダ

T2 - The WEB Connector -

T2 - The WEB Connector - イーダ

T2 - The WEB Connector - イーダ

T2 - The WEB Connector -

T2 - The WEB Connector - イーダ

T2 - The WEB Connector - イーダ

T2 - The WEB Connector - イーダ

T2 - The WEB Connector -

T2 - The WEB Connector - イーダ

T2 - The WEB Connector - designed by カネウチカズコ

T2 - The WEB Connector - 出演コミッタ

T2 - The WEB Connector - 片山 暁雄

T2 - The WEB Connector -

T2 - The WEB Connector - 米林 正明

T2 - The WEB Connector -

T2 - The WEB Connector - 横田 健彦

T2 - The WEB Connector -

T2 - The WEB Connector - 大谷晋平 ( 自宅 )

T2 - The WEB Connector -

T2 - The WEB Connector - 御静聴ありがとうございました