Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Spring Roo のご紹介 日本 Spring ユーザ会 てらひで
自己紹介 <ul><li>寺島 秀樹 </li></ul><ul><ul><li>所属 </li></ul></ul><ul><ul><ul><li>株式会社アクシスウェア( http://www.axisware.co.jp ) </li><...
最近の興味 <ul><li>社内勉強会 </li></ul><ul><ul><li>社内の技術者の教育 </li></ul></ul><ul><ul><li>他社の社内勉強会の実情 </li></ul></ul><ul><ul><li>勉強会の...
今回のお話をお受けするにあたり <ul><li>JSUG で Roo のお話をする機会を頂いた </li></ul><ul><li>テーマ「大規模開発で Roo は使えるか」 </li></ul><ul><li>Web で調べながら1カ月で評価...
Spring Roo <ul><li>RAD ツール </li></ul><ul><li>コマンドベース </li></ul><ul><li>自動生成 </li></ul><ul><li>Usable and  </li></ul><ul><l...
SpringSource の戦略 <ul><li>Framework  ベンダを脱却して </li></ul><ul><li>   Java  エンタプライズ システムの All In One 企業へ </li></ul><ul><ul><li...
Roo の位置づけ <ul><li>SpringSource の中核技術の1つ </li></ul><ul><li>RAD ツールのしての競合 </li></ul><ul><ul><li>RoR </li></ul></ul><ul><ul><...
Roo の構成要素 <ul><li>構成 </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>SpringFramework </li></ul></ul><ul><ul><li>Spri...
nTier  アーキテクチャ <ul><li>Goodbye DAOs </li></ul>View Action  ※1 Service DAO 従来 Roo View Controller Entity ※ 1 Spring MVC の場合...
Roo の機能–自動生成 <ul><li>コマンドを打つ↓ </li></ul><ul><li>ファイルを生成 </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>JSP </li></u...
Roo の機能 - コマンド <ul><li>コマンドなんて覚えられない! </li></ul><ul><li>hint  コマンド </li></ul><ul><li>Tab キー </li></ul>Learnable !
自動生成 <ul><li>個人的なお話ですが </li></ul>自動生成で 得をしたことがない! 痛い目には いっぱいあった(;;)
よく聞くお話 <ul><li>開発者 A さん「 Excel で書かれた○ × 設計書から </li></ul><ul><li>           Javaのコードを自動生成して...」 </li></ul><ul><li>自動生成 -> 修...
自動生成の問題点を考える <ul><li>ジェネレーションギャップ </li></ul><ul><li>生成にかかるコスト(時間) </li></ul><ul><ul><li>開発のリズム </li></ul></ul><ul><li>完璧なコ...
Roo の自動生成 <ul><li>× 設計書から自動生成 </li></ul><ul><li>プログラムベース </li></ul><ul><ul><li>自動生成して終わりではない </li></ul></ul><ul><ul><li>プロ...
デモ <ul><li>チュートリアル </li></ul>
なんとなく分かった <ul><li>気になる点 </li></ul><ul><ul><li>エンタプライズは scaffold だけでは成り立たない </li></ul></ul><ul><ul><li>機能を追加するのは簡単? </li></...
実際にやってみた <ul><li>評価期間:3週間 </li></ul><ul><li>作業者:2人 </li></ul><ul><li>評価内容: </li></ul><ul><ul><li>簡単な Web アプリケーション(ちょっとしたゲー...
調べられなかった点 調べられなかった点 使用される技術 他システム連携 JMS Entity の拡張 JPA 複雑な トランザクション制御 SpringFramework セキュリティ SpringSecurity View (非同期) Spr...
困った点 <ul><li>やりたいことの実現方法を探せない </li></ul><ul><ul><li>日本語のドキュメントが皆無 </li></ul></ul><ul><li>開発のリズムがつかみにくい </li></ul><ul><ul><...
良かった点 ごめんなさい(><) よく分かりませんでした。
Roo のアドバンテージ① <ul><li>Java ・ Spring ベースである </li></ul><ul><ul><li>タイプセーフの利点 </li></ul></ul><ul><ul><ul><li>大規模開発に向く </li></...
Roo のアドバンテージ② <ul><li>非ランタイム </li></ul><ul><ul><li>実行時に必要な jar ファイルを含める必要がない </li></ul></ul><ul><ul><li>war の肥大化を防ぐ </li><...
Roo のアドバンテージ③ <ul><li>一貫性のある開発スタイル </li></ul><ul><ul><li>アプリケーションの構造・開発方法がおのずと決まってくる </li></ul></ul><ul><li>プログラムを書く時間を短縮で...
感想① <ul><li>大規模開発で使用するには... </li></ul><ul><ul><li>ドキュメントの難 </li></ul></ul><ul><ul><li>例外的な機能などへの戦略 </li></ul></ul><ul><ul>...
感想② <ul><li>開発中に部分部分で使用する手もあるかも </li></ul><ul><ul><li>最初に機能のテンプレートを作ってそれを拡張する </li></ul></ul><ul><ul><ul><li>テンプレートの作成に ro...
Happy Roo Life !
ご清聴ありがとうございました
ライセンスについて <ul><li>JSUG マスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 </li></ul><ul><li>非商用目的に限り、本作品(...
Upcoming SlideShare
Loading in …5
×

Roo

1,851 views

Published on

2011/08/01のJSUGでプレゼンテーションした資料です。

Published in: Technology
  • ズレてるね。。。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Roo

  1. 1. Spring Roo のご紹介 日本 Spring ユーザ会 てらひで
  2. 2. 自己紹介 <ul><li>寺島 秀樹 </li></ul><ul><ul><li>所属 </li></ul></ul><ul><ul><ul><li>株式会社アクシスウェア( http://www.axisware.co.jp ) </li></ul></ul></ul><ul><ul><ul><li>ソフトウェアデザイン事業部 </li></ul></ul></ul><ul><ul><ul><li>チーフアーキテクト </li></ul></ul></ul><ul><ul><ul><ul><li>アーキテクトとして全体最適や標準化を行う </li></ul></ul></ul></ul><ul><ul><li>連絡先 </li></ul></ul><ul><ul><ul><li>[email_address] </li></ul></ul></ul><ul><ul><ul><li>mixi :てらひで!!( ID : 3315992 ) </li></ul></ul></ul>
  3. 3. 最近の興味 <ul><li>社内勉強会 </li></ul><ul><ul><li>社内の技術者の教育 </li></ul></ul><ul><ul><li>他社の社内勉強会の実情 </li></ul></ul><ul><ul><li>勉強会の円滑な運営 </li></ul></ul><ul><ul><li>社内講師はどうすれば育成できるか? </li></ul></ul><ul><li>意見交換させて頂ければ幸いです。 </li></ul>ご参考: http://www.slideshare.net/terahide/ss-8600885
  4. 4. 今回のお話をお受けするにあたり <ul><li>JSUG で Roo のお話をする機会を頂いた </li></ul><ul><li>テーマ「大規模開発で Roo は使えるか」 </li></ul><ul><li>Web で調べながら1カ月で評価すればいいや </li></ul><ul><li>1週間後-> チュートリアルが動かない </li></ul><ul><li>日本語の記事がほぼ皆無であると気づく </li></ul><ul><li>テーマ変更「 Roo を触ってみたお」 </li></ul><ul><li>今青ざめた自分がここにいる。。。 </li></ul>や ば さ 指 数
  5. 5. Spring Roo <ul><li>RAD ツール </li></ul><ul><li>コマンドベース </li></ul><ul><li>自動生成 </li></ul><ul><li>Usable and </li></ul><ul><li>     Learnable </li></ul>http://www.springsource.org/roo
  6. 6. SpringSource の戦略 <ul><li>Framework ベンダを脱却して </li></ul><ul><li>   Java エンタプライズ システムの All In One 企業へ </li></ul><ul><ul><li>ビルド </li></ul></ul><ul><ul><ul><li>etc. </li></ul></ul></ul><ul><ul><li>実行 </li></ul></ul><ul><ul><ul><li>              etc. </li></ul></ul></ul><ul><ul><li>管理 </li></ul></ul><ul><ul><ul><li>Hyperic etc. </li></ul></ul></ul><ul><li>パブリッククラウド で エンタープライズを! </li></ul>
  7. 7. Roo の位置づけ <ul><li>SpringSource の中核技術の1つ </li></ul><ul><li>RAD ツールのしての競合 </li></ul><ul><ul><li>RoR </li></ul></ul><ul><ul><li>Dolteng ( Seaser2 の Eclipse プラグイン) </li></ul></ul><ul><ul><li>・・・ </li></ul></ul><ul><li>クラウドと Roo </li></ul>
  8. 8. Roo の構成要素 <ul><li>構成 </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>SpringFramework </li></ul></ul><ul><ul><li>Spring MVC </li></ul></ul><ul><ul><li>JSP </li></ul></ul><ul><ul><li>JPA </li></ul></ul><ul><ul><li>AspectJ </li></ul></ul><ul><li>WEB アーキテクチャ </li></ul><ul><ul><li>RESTful </li></ul></ul><ul><li>テスト </li></ul><ul><ul><li>JUnit </li></ul></ul><ul><ul><li>Selenium </li></ul></ul><ul><li>ビルド </li></ul><ul><ul><li>Maven </li></ul></ul>枯れた技術!
  9. 9. nTier アーキテクチャ <ul><li>Goodbye DAOs </li></ul>View Action ※1 Service DAO 従来 Roo View Controller Entity ※ 1 Spring MVC の場合は Controller
  10. 10. Roo の機能–自動生成 <ul><li>コマンドを打つ↓ </li></ul><ul><li>ファイルを生成 </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>JSP </li></ul></ul><ul><ul><li>Spring の設定ファイル </li></ul></ul><ul><ul><li>メッセージ properties ファイル </li></ul></ul><ul><ul><li>Maven の pom ファイル </li></ul></ul><ul><ul><li>etc. </li></ul></ul>Usable !
  11. 11. Roo の機能 - コマンド <ul><li>コマンドなんて覚えられない! </li></ul><ul><li>hint コマンド </li></ul><ul><li>Tab キー </li></ul>Learnable !
  12. 12. 自動生成 <ul><li>個人的なお話ですが </li></ul>自動生成で 得をしたことがない! 痛い目には いっぱいあった(;;)
  13. 13. よく聞くお話 <ul><li>開発者 A さん「 Excel で書かれた○ × 設計書から </li></ul><ul><li>           Javaのコードを自動生成して...」 </li></ul><ul><li>自動生成 -> 修正 -> 再度生成 </li></ul>修正した内容 消えちゃった o (>△<) o
  14. 14. 自動生成の問題点を考える <ul><li>ジェネレーションギャップ </li></ul><ul><li>生成にかかるコスト(時間) </li></ul><ul><ul><li>開発のリズム </li></ul></ul><ul><li>完璧なコードの生成は難しい! </li></ul><ul><ul><li>可読性の確保 </li></ul></ul><ul><ul><ul><li>空行とかインデントって結構大事 </li></ul></ul></ul><ul><ul><li>ビジネスロジックは自動生成できない! </li></ul></ul>
  15. 15. Roo の自動生成 <ul><li>× 設計書から自動生成 </li></ul><ul><li>プログラムベース </li></ul><ul><ul><li>自動生成して終わりではない </li></ul></ul><ul><ul><li>プログラミングは必要 </li></ul></ul><ul><ul><li>基本的な CRUD を生成( Scaffold ) </li></ul></ul><ul><ul><li>プログラムのテンプレートを生成 </li></ul></ul><ul><li>ジェネレーションギャップ </li></ul><ul><ul><li>AspectJ </li></ul></ul><ul><ul><li>生成した「変更しない部分」を .aj ファイルに隠ぺい </li></ul></ul>
  16. 16. デモ <ul><li>チュートリアル </li></ul>
  17. 17. なんとなく分かった <ul><li>気になる点 </li></ul><ul><ul><li>エンタプライズは scaffold だけでは成り立たない </li></ul></ul><ul><ul><li>機能を追加するのは簡単? </li></ul></ul><ul><ul><li>画面とかどうやって追加するの? </li></ul></ul><ul><ul><li>コントローラの実装は? </li></ul></ul><ul><ul><li>・ ・ ・ </li></ul></ul>実務で使えるの?
  18. 18. 実際にやってみた <ul><li>評価期間:3週間 </li></ul><ul><li>作業者:2人 </li></ul><ul><li>評価内容: </li></ul><ul><ul><li>簡単な Web アプリケーション(ちょっとしたゲーム)を開発 </li></ul></ul><ul><ul><li>困った点、良かった点をまとめる </li></ul></ul>
  19. 19. 調べられなかった点 調べられなかった点 使用される技術 他システム連携 JMS Entity の拡張 JPA 複雑な トランザクション制御 SpringFramework セキュリティ SpringSecurity View (非同期) Spring JS(Dojo) クラウド (GWT) GWT
  20. 20. 困った点 <ul><li>やりたいことの実現方法を探せない </li></ul><ul><ul><li>日本語のドキュメントが皆無 </li></ul></ul><ul><li>開発のリズムがつかみにくい </li></ul><ul><ul><li>hotdeploy に未対応、( tc サーバ再起動) </li></ul></ul><ul><ul><li>In メモリ DB は再起動すると。。。 </li></ul></ul><ul><li>JSP がなじまない </li></ul><ul><ul><li>SpringMVC のお話だけど </li></ul></ul><ul><li>STS が。。。 </li></ul><ul><ul><li>チュートリアルをまともに動かすのに1週間かかった </li></ul></ul><ul><ul><li>コマンドラインならすぐだったけどね </li></ul></ul>
  21. 21. 良かった点 ごめんなさい(><) よく分かりませんでした。
  22. 22. Roo のアドバンテージ① <ul><li>Java ・ Spring ベースである </li></ul><ul><ul><li>タイプセーフの利点 </li></ul></ul><ul><ul><ul><li>大規模開発に向く </li></ul></ul></ul><ul><ul><li>JavaEE に比べて Lightweight </li></ul></ul><ul><ul><ul><li>クラウド環境に向く </li></ul></ul></ul><ul><ul><li>枯れた技術 </li></ul></ul><ul><ul><ul><li>堅牢 </li></ul></ul></ul><ul><ul><ul><li>学習コストの短縮 </li></ul></ul></ul>
  23. 23. Roo のアドバンテージ② <ul><li>非ランタイム </li></ul><ul><ul><li>実行時に必要な jar ファイルを含める必要がない </li></ul></ul><ul><ul><li>war の肥大化を防ぐ </li></ul></ul><ul><ul><li>無駄にメモリを消費しない </li></ul></ul><ul><ul><li>動的プロクシが介在しないのでそれによる性能低下が起きない </li></ul></ul>
  24. 24. Roo のアドバンテージ③ <ul><li>一貫性のある開発スタイル </li></ul><ul><ul><li>アプリケーションの構造・開発方法がおのずと決まってくる </li></ul></ul><ul><li>プログラムを書く時間を短縮できる </li></ul><ul><ul><li>ドメインのモデリングにその分時間をさける </li></ul></ul><ul><li>add-on ベース </li></ul><ul><ul><li>今後もさまざまな add-on が追加される </li></ul></ul><ul><ul><li>自分で追加することも可能 </li></ul></ul><ul><li>springsource の中核技術 </li></ul><ul><ul><li>今後もメンテナンスが期待できる </li></ul></ul>
  25. 25. 感想① <ul><li>大規模開発で使用するには... </li></ul><ul><ul><li>ドキュメントの難 </li></ul></ul><ul><ul><li>例外的な機能などへの戦略 </li></ul></ul><ul><ul><li>大勢集まった開発者 </li></ul></ul><ul><ul><ul><li>短期間で roo の流儀を徹底できるか </li></ul></ul></ul>
  26. 26. 感想② <ul><li>開発中に部分部分で使用する手もあるかも </li></ul><ul><ul><li>最初に機能のテンプレートを作ってそれを拡張する </li></ul></ul><ul><ul><ul><li>テンプレートの作成に roo を </li></ul></ul></ul><ul><ul><li>独自フレームワークの基礎に </li></ul></ul><ul><ul><ul><li>ソフトウェアアーキテクト </li></ul></ul></ul><ul><ul><ul><li>フレームワークエンジニア </li></ul></ul></ul>
  27. 27. Happy Roo Life !
  28. 28. ご清聴ありがとうございました
  29. 29. ライセンスについて <ul><li>JSUG マスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 </li></ul><ul><li>非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 </li></ul><ul><li>本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。 </li></ul>

×