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
49
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
680
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.3k
コミュニケーション不全はなぜ起きるか
terahide
0
160
オレオレになりがちなテスト計画を見直した話
terahide
0
190
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
49
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
160
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
94
Att
terahide
0
42
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
47
Other Decks in Technology
See All in Technology
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
190
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
120
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
150
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
520
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
960
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
110
Claude Codeをどのように キャッチアップしているか
oikon48
12
7.6k
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
630
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
230
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
190
GraphQLとの向き合い方2022年版
quramy
50
15k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Scaling GitHub
holman
464
140k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
ラッコキーワード サービス紹介資料
rakko
1
3.6M
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Ethics towards AI in product and experience design
skipperchong
2
310
Paper Plane
katiecoart
PRO
1
51k
Leo the Paperboy
mayatellez
7
1.8k
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マスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生 作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。