Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki.

Slides:



Advertisements
Similar presentations
Rails 勉強会@大阪 -002 cuzic. 今日はなすこと 相対パスプラグイン Double Filter Plugin 埋め草 –Cuzic の環境とか –1 つのボタンで複数の Ajax なアクションを実 行.
Advertisements

ECLフレームワー ク 近畿大学 理工学部 情報学 科 間野 哲 弥.
ネットワークプログ ラミング論 平成27年 11 月 1 6日 森田 彦. 【基礎課題 6-1 】の解答 ① サーブレットを記述して保管するとコン パイルが自動的に行われる。 ② サーブレットの記述後、開発者がコンパ イル命令を実行しなければならない。 ③ プロジェクト名が Web アプリケーション.
Ruby on Rails (RoR) 講習会 近畿大学大学院 田中大介. 本日の目標 Web アプリケーションを作ろう!
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
© 2005 株式会社はてな 本資料の一部または全部の無断複製・転載を禁じます prototype.js と Perl で Ajax 株式会社はてな 伊藤 直也
Struts VS SAStruts ・ STRUTS と SAStruts を比較します。. Struts のメリット1 STRUTS はディファクトスタンダード。 ↓ プログラマがたくさんいる。 ライブラリ、ツールがたくさんある。 ビジネス案件が豊富。 書籍などの情報元が豊富。
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
2002/2/8 ASUG Conference in PAGE 2002 Mac OS X 開発環境と AppleScript MDOnline 編集長 新居雅行.
Web サービス II ( 第 13 回 )‏ 2008 年 1 月 9 日 植田龍男. 本日の目的 Web サービスの歴史と将来の展望 (1) WSDL 2.0 の登場 ‏ Jersey プロジェクト Ver 0.5 による開発.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
Apache Camel Data Format Component Apache Camel
BBT大学 Ruby on Rails開発環境セットアップマニュアル
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
JPAを利用した RESTful Webサービスの開発
CakePHPを業務に導入する Shin x blog 新原 雅司.
JSFによるWebアプリケーション開発 第9回
Applet 岡部 祐典 鈴木 敬幸.
Apache Camel Data Format Component Apache Camel
CubbyでRESTfulなWebアプリを
WebサービスII (第10回) 2007年11月28日 植田龍男.
rails under “production”
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
JSFによるWebアプリケーション開発 第11回
Servlet J2EE I 第8回 /
Iアプリプログラミング その1  鳥居秀徳.
Apache Camel Data Format Component Apache Camel
JavaServlet&JSP入門 01K0018 中村太一.
第4回 個人の動画配信補足のためのWeb構築
WebサービスII (第8回) 2007年11月14日 植田龍男.
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
Day3 Day4 Day3 Day4.
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
JSPの作成 J2EE II 第3回 2005年4月10日.
片岡 哲也 (社) システムエンジニアリング岡山
RMI ソフトウェア特論 第6回 /
プログラミング演習3 第2回 GUIの復習.
第8章 Web技術とセキュリティ   岡本 好未.
第12回 2007年7月13日 応用Java (Java/XML).
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
Javaによる Webアプリケーション入門 第6回
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
プログラミング演習3 第2回 GUIの復習.
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第11回
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JSFによるWebアプリケーション開発 第3回
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
C#プログラミング実習 第3回.
Javaによる Webアプリケーション入門 第8回
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
統合開発環境のための プログラミング言語拡張 フレームワーク
JAVA入門⑥ クラスとインスタンス.
Presentation transcript:

Cubby Web アプリケーションのためのシ ンプルなフレームワーク BABA Yasuyuki

自己紹介 馬場保幸 ( ばば やすゆき ) ‏ 株式会社ヌーラボ ( ‏

本日のアジェンダ Cubby って何? Cubby を使うと幸せになるポイント Maven2 と連携した簡単なデモ

Cubby って何? Java で Web アプリケーションを開発するための シンプルなフレームワーク 現在のバージョンは ▫ 近日中の 1.0 リリースを目指して、 seasar.org の sandbox で開発中 Cubby = 小さな整理箱

Cubby って何?

アーキテクチャ サーブレットフィ ルタ アクションク ラス ( ビジネスロジ ックを実行 )‏ JSP Seasar2 HTTP リクエス ト HTTP レスポン ス 実行 リクエストされた URL か ら実行するアクションク ラスを生成、メソッドを 決定 フォワー ド カスタムタ グ

Cubby を作った理由 Struts の設定ファイルにうんざり きれいな URI のアプリケーションを作りたい 作りたかったから

Cubby を使うと幸せになれるポイント その1

HTML に近い JSP カスタムタグ Struts の場合 <html:optionsCollection property="choices" value="id" label="name"/>

HTML に近い JSP カスタムタグ Cubby の場合 <t:select name="typeId" items="${action.todoTypes}" labelProperty="name" valueProperty="id"/> HTML タグに近い構文なので、直感的

JSP カスタムタグの種類が少ない カスタムタグは 5 つです。 ▫t:form ▫t:input ▫t:select ▫t:textarea ▫t:token 種類が少ないので、覚えることも少ない

Cubby を使うと幸せになれるポイント その2

メタ情報の記述 Struts の場合 ▫ 設定ファイル struts-config.xml にまとめて記述 <form-bean name="todoForm” type="example.form.TodoForm" /> <action path="/todoEdit.do” type="ex.action.TodoEditAction“ name="todo">

メタ情報の記述 Cubby の場合 ▫ アノテーションを用いてアクションクラスのメソッドに記述 public class TodoAction extends Action { public ValidationRules editValidation = new DefaultValidationRules(“todo.") public void initialize() { add("userId", new RequiredValidator());... } errorPage = "/todo/edit.jsp")‏ public ActionResult edit() {... return new Forward("/todo/confirm.jsp"); }

アノテーションの種類  アクションにアクセスするためのパス (URL) ‏  アクションが受け付ける HTTP メソッド (GET や POST な ど ) ‏  リクエストパラメータを指定するためのオブジェクト ( デ フォルトはアクション自身 ) ‏  バリデーションを行うオブジェクト ソースコード上に記述するため、ソースコードを見 るだけでどのような動作をするかが明確になる

Cubby を使うと幸せになれるポイント その3

hashimoto/ /

35

Cool URI ▫ ▫ 一意のリソースを表す URI ウェブサイトを構築する際には、きれいな URI を設計することが重要 なにせ気持ちがいい

mod_rewrite の場合 httpd.conf RewriteRule ^\/todo\/([0-9]+)? /todo.do?id=$1

Ruby on Rails の場合 config/routes.rb ActionController::Routing::Routes.draw do |map| map.connect '/todo/:id', :controller => "todo", :action=> "show" end

Cubby の場合 アノテーションを用いてアクションクラスのメソッドに記述してい く // public class TodoAction extends Action { public String public ActionResult show() { System.out.println(id); } // 正規表現も使えます }

Cubby を使うと幸せになれるポイント その 4

Mayaa との連携 HTML テンプレートエンジン Mayaa と連携すること もできる ▫login.html ユーザ ID: パスワード : ▫login.mayaa

Maven2 との連携 Maven2 Archetype ▫ プロジェクトのひな形を作成する仕組み ▫Struts の blank.war や Rails の rails コマンドのような もの ▫Cubby による実際に動作するプロジェクトが生成 される  Cubby が依存するライブラリが設定された pom.xml  基本的なパッケージ構成のディレクトリ  Hello World

Maven2 との連携 ここで、実際にプロジェクトを作成してみます 。 $> mvn archetype:create -DgroupId=( 作成するプロジェクトのグループ ID 例 :com.foo.bar)‏ -DartifactId=( 作成するプロジェクトのアーティファクト ID 例 :barapp)‏ -Dversion=( 作成するプロジェクトのバージョン 例 :1.0-SNAPSHOT)‏ -DarchetypeGroupId=org.seasar.cubby -DarchetypeArtifactId=cubby-archetype -DremoteRepositories= $> mvn eclipse:eclipse $> mvn tomcat:run

まとめ

Cubby は シンプルで習得が容易です。 きれいな URI が得意です。 まずは、 1 度触ってみてください。

今後の予定 Maven2 との連携 ▫URI 一覧などのドキュメント出力 ▫Scaffold サンプルアプリケーションの充実 シンプルであり続けること

ありがとうございました ご意見、ご要望をお待ちしております。 ▫ user