Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Roo
Search
terahide
August 01, 2011
Technology
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Roo
2011/08/01のJSUGでプレゼンテーションした資料です。
terahide
August 01, 2011
More Decks by terahide
See All by terahide
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
720
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.3k
コミュニケーション不全はなぜ起きるか
terahide
0
170
オレオレになりがちなテスト計画を見直した話
terahide
0
200
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
51
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
170
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
100
Att
terahide
0
51
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
53
Other Decks in Technology
See All in Technology
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
510
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
340
家のリアーキテクト・リファクタリング
suguruooki
0
120
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
200
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
120
20260912_スクラムにジェネラリストは必要か
ryugen04
0
370
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
650
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
120
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
270
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
0
130
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
120
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
Typedesign – Prime Four
hannesfritz
42
3.2k
The Cult of Friendly URLs
andyhume
79
7k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Test your architecture with Archunit
thirion
2
2.4k
Transcript
1 Spring Rooのご紹介 日本Springユーザ会 てらひで
自己紹介 • 寺島 秀樹 – 所属 • 株式会社アクシスウェア(http://www.axisware.co.jp) • ソフトウェアデザイン事業部
• チーフアーキテクト – アーキテクトとして全体最適や標準化を行う – 連絡先 •
[email protected]
• mixi:てらひで!!(ID:3315992)
最近の興味 • 社内勉強会 – 社内の技術者の教育 – 他社の社内勉強会の実情 – 勉強会の円滑な運営 –
社内講師はどうすれば育成できるか? • 意見交換させて頂ければ幸いです。 3 ご参考: http://www.slideshare.net/terahide/ss-8600885
今回のお話をお受けするにあたり • JSUGでRooのお話をする機会を頂いた • テーマ「大規模開発でRooは使えるか」 • Webで調べながら1カ月で評価すればいいや • 1週間後→ チュートリアルが動かない
• 日本語の記事がほぼ皆無であると気づく • テーマ変更「Rooを触ってみたお」 • 今青ざめた自分がここにいる。。。 4 や ば さ 指 数
Spring Roo • RADツール • コマンドベース • 自動生成 • Usable
and Learnable 5 http://www.springsource.org/roo
SpringSourceの戦略 • Framework ベンダを脱却して Java エンタプライズ システムのAll In One企業へ –
ビルド • etc. – 実行 • etc. – 管理 • Hyperic etc. • パブリッククラウド で エンタープライズを! 6
Rooの位置づけ • SpringSourceの中核技術の1つ • RADツールのしての競合 – RoR – Dolteng(Seaser2のEclipseプラグイン) –
・・・ • クラウドとRoo 7
Rooの構成要素 • 構成 – Java – SpringFramework – Spring MVC
– JSP – JPA – AspectJ 8 • WEBアーキテクチャ – RESTful • テスト – JUnit – Selenium • ビルド – Maven 枯れた技術!
nTier アーキテクチャ • Goodbye DAOs 9 View Action ※1 Service
DAO 従来 Roo View Controller Entity ※1 Spring MVCの場合はController
Rooの機能–自動生成 • コマンドを打つ↓ • ファイルを生成 – Java – JSP –
Springの設定ファイル – メッセージpropertiesファイル – Mavenのpomファイル – etc. 10 Usable !
Rooの機能-コマンド • コマンドなんて覚えられない! • hint コマンド • Tabキー 11 Learnable!
自動生成 • 個人的なお話ですが 12 自動生成で 得をしたことがない! 痛い目には いっぱいあった(;;)
よく聞くお話 • 開発者Aさん「Excelで書かれた◦×設計書から Javaのコードを自動生成して...」 • 自動生成 → 修正 → 再度生成
13 修正した内容 消えちゃったo(>△<)o
自動生成の問題点を考える • ジェネレーションギャップ • 生成にかかるコスト(時間) – 開発のリズム • 完璧なコードの生成は難しい! –
可読性の確保 • 空行とかインデントって結構大事 – ビジネスロジックは自動生成できない! 14
Rooの自動生成 • ×設計書から自動生成 • プログラムベース – 自動生成して終わりではない – プログラミングは必要 –
基本的なCRUDを生成(Scaffold) – プログラムのテンプレートを生成 • ジェネレーションギャップ – AspectJ – 生成した「変更しない部分」を.ajファイルに隠ぺい 15
デモ • チュートリアル 16
なんとなく分かった • 気になる点 – エンタプライズはscaffoldだけでは成り立たない – 機能を追加するのは簡単? – 画面とかどうやって追加するの? –
コントローラの実装は? – ・ ・ ・ 17 実務で使えるの?
実際にやってみた • 評価期間:3週間 • 作業者:2人 • 評価内容: – 簡単なWebアプリケーション(ちょっとしたゲーム)を開発 –
困った点、良かった点をまとめる 18
調べられなかった点 調べられなかった点 使用される技術 他システム連携 JMS Entityの拡張 JPA 複雑な トランザクション制御 SpringFramework
セキュリティ SpringSecurity View(非同期) Spring JS(Dojo) クラウド(GWT) GWT 19
困った点 • やりたいことの実現方法を探せない – 日本語のドキュメントが皆無 • 開発のリズムがつかみにくい – hotdeployに未対応、(tcサーバ再起動) –
InメモリDBは再起動すると。。。 • JSPがなじまない – SpringMVCのお話だけど • STSが。。。 – チュートリアルをまともに動かすのに1週間かかった – コマンドラインならすぐだったけどね 20
良かった点 21 ごめんなさい(><) よく分かりませんでした。
Rooのアドバンテージ① • Java・Springベースである – タイプセーフの利点 • 大規模開発に向く – JavaEEに比べてLightweight •
クラウド環境に向く – 枯れた技術 • 堅牢 • 学習コストの短縮 22
Rooのアドバンテージ② • 非ランタイム – 実行時に必要なjarファイルを含める必要がない – warの肥大化を防ぐ – 無駄にメモリを消費しない –
動的プロクシが介在しないのでそれによる性能低下が起 きない 23
Rooのアドバンテージ③ • 一貫性のある開発スタイル – アプリケーションの構造・開発方法がおのずと決まってく る • プログラムを書く時間を短縮できる – ドメインのモデリングにその分時間をさける
• add-onベース – 今後もさまざまなadd-onが追加される – 自分で追加することも可能 • springsourceの中核技術 – 今後もメンテナンスが期待できる 24
感想① • 大規模開発で使用するには... – ドキュメントの難 – 例外的な機能などへの戦略 – 大勢集まった開発者 •
短期間でrooの流儀を徹底できるか 25
感想② • 開発中に部分部分で使用する手もあるかも – 最初に機能のテンプレートを作ってそれを拡張する • テンプレートの作成にrooを – 独自フレームワークの基礎に •
ソフトウェアアーキテクト • フレームワークエンジニア 26
Happy Roo Life ! 27
28 ご清聴ありがとうございました
29 ライセンスについて • JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生 作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。