Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Roo
Search
terahide
August 01, 2011
Technology
0
42
Roo
2011/08/01のJSUGでプレゼンテーションした資料です。
terahide
August 01, 2011
Tweet
Share
More Decks by terahide
See All by terahide
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
430
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.1k
コミュニケーション不全はなぜ起きるか
terahide
0
130
オレオレになりがちなテスト計画を見直した話
terahide
0
130
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
39
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
100
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
53
Att
terahide
0
24
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
38
Other Decks in Technology
See All in Technology
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
180
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
9
4.3k
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
130
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
280
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
21k
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
160
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.1k
United Airlines Customer Service– Call 1-833-341-3142 Now!
airhelp
0
170
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.6k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Speed Design
sergeychernyshev
32
1k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
YesSQL, Process and Tooling at Scale
rocio
173
14k
Become a Pro
speakerdeck
PRO
29
5.4k
We Have a Design System, Now What?
morganepeng
53
7.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
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マスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生 作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。