wicket体験談

24
Wicket 第第第 LT 第第第第 Wicket 第第第 第第第第第第第第第 第第 第第 Gishi id:gishi_yama

Upload: hiroto-yamakawa

Post on 12-Jun-2015

2.468 views

Category:

Documents


5 download

DESCRIPTION

第1回Wicket勉強会のライトニングトーク発表資料

TRANSCRIPT

Page 1: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

Wicketによる社内用システム開発・運用体験談Gishi ( id:gishi_yama )

Page 2: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

自己紹介•Gishi ( id:gishi_yama )

•地方の大学で社内 SE 的職員をやってます

•主に文科省認定プロジェクトに関わる教育システムの開発・運用学生の研究開発のマネージメントを担当してます

•Wicket を使いはじめて6ヶ月目です

Page 3: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

私が発表できること•実際の運用で大丈夫、という一例•Wicket で幸せになりました

といった体験談。

特殊な社内システムのケースなのでうすーい内容なのですが、どうかご容赦ください。

Page 4: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

私が社内で開発しているシステム•授業支援グループウェア

▫ グループの管理▫ コミュニケーションとその管理▫ 授業情報の公開と管理▫ アンケートの集計と管理▫ 教職員スケジュールの公開と管理

Wicket の基本的なコンポーネントで

作ってます

Page 5: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

Wicketに至る経緯 

Page 6: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

ことのはじまり•2006 年から授業支援グループウェアを開発することになりました(文科省認定プロジェクト)

•外注ではなく独自開発することになりました▫開発期間が限られている▫実践研究を兼ねており、運用中の仕様変更・再実装を手軽にしたい

▫独自開発した教育用システムの運用実績がある

Page 7: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

開発当初•開発要員は私と大学4年生2人~5人(学生は卒業し、毎年初心者に入れ替わる)

•それまで使っていた Struts + Tiles 環境に伴う膨大な xml の存在が負担増

新たなフレームワークに希望を見いだしたくてJSF ( MyFaces ) +Spring1.5 を採用

限られた工数・人材の中でできるだけ開発効率を上げたい!

Page 8: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

2 年近くかかって開発しました

• グループ管理機能• コミュニケーション機能• 授業情報管理機能• アンケート機能

2006.02

2006.09

2007.04

• 仕様策定(2ヶ月)• JSF,Spring 習得・教育(5ヶ月)

• 運用開始• 機能改良開始• JSF,Spring 教育(4ヶ月)

• スケジューラ機能2007.12

Page 9: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

JSF(+Spring1.5)の苦痛• xml の行数は減ったものの、結果として約 2000 行• JSP の UI タグとブラウザの表示イメージが結びつかない• コンポーネントに癖がある( h:datatable など)• 開発中に MyFaces の仕様が大きく変更( h:form など)

開発・修正に思った以上に時間がかかる

教育コストが高い

コーディング速度も開発効率が上がらない……カスタムコンポーネントも xml が付きまとう……使いこなすのが大変だ ……orz

Page 10: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

2007年 12月改良への要求に開発が追いつかなくなる•インターフェースの改善・機能改良が主な課題•与えられた期間は4ヶ月、開発者は私のみ

教職員(ユーザ)

登録画面の整理をしてほしいなあ

アンケートの選択項目ごとに自由記入欄がほしいなあ

UI コンポーネントにバグが………

……

etc

Page 11: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

途方に暮れていた私に救いの手

id:mdgw さん(兄弟子)

使いやすいフレームワークがメジャーになってきたよなんたってページ遷移に xmlを使わないんだ

その名も wicket だ

Page 12: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

Wicketと出会って 

Page 13: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

触ってみてすぐに利点と感じた事• ページ遷移・構成に xml を使わない開発中に Java (と HTML )から目を離さなくていい

• データモデルを扱いやすいPropertyModel や CompoundPropertyModel で快適

• コンポーネント用に特別なタグや属性が(ほぼ)いらないあっても非常にシンプル

• Ajax コンポーネントの存在Ajax 実装未経験者でも一瞬でリッチUI に

• Panel コンポーネントの存在カスタムコンポーネントもその使い回しも簡単

Page 14: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

特殊なアンケートの様なビューも簡単

Panel クラスで既存のコンポーネントを組み合わせてカスタムコンポーネント化

1クラスだけで実現( 100 行程度)

Page 15: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

出会った当時心配だったこと

•ドキュメントが英語だけしかない……

•実際の教育コストはどうなるだろう……

•運用実績が無い……

Page 16: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

ドキュメントが英語だけしかない……

•基本的なコンポーネントを使う上では、▫先駆者の皆さんのドキュメント▫Wicket examplesだけで、疑問点の解決がほぼ可能だった

英語が苦手な開発者でも割と安心できる事例やサンプルが出揃ってきている

Page 17: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

実際の教育コストはどうなるだろう……

•今年度入社したプログラマさんで実験してみた▫ 大学卒、大学の授業で Java を学習したことがある▫ 以後、一般企業で組み込み系( C 言語・ MVC 開発経験者)のプログラマを4年間経験

約 1 ヶ月程度で問題なく開発を開始( JAVA )プログラミング経験者なら敷居は低い

Wicket を全く知らない状態で“Enjoying Web Development with Wicket” を渡してみた

Page 18: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

運用実績が無い……•全ユーザ数 約 1000名のグループウェア•これまでの最大同時利用人数 164名

• Wicket 1.3 + Guice• Tomcat 5.5• PostgreSQL v8.3•サーバスペック

▫Xeon3 GHz メモリ 8GB SAS-Raid 5▫JVMヒープ領域2 GB

運用開始から今日まで約3ヶ月間、 Wicket に起因するトラブル無し、パフォーマンスへの苦情なし

Page 19: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

ただ、どうしても困ったこともあります

Page 20: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

結論Wicketでどれだけ幸せになったか

 

Page 21: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

結局、ほぼ一人でシステムを全て丸ごと作りなおしました

• グループ管理機能• コミュニケーション機能

• 授業情報管理機能• アンケート機能• スケジュール機能

2008.01

2008.03

2008.05

• 仕様策定(1ヶ月)• Wicket 習得(1ヶ月)

• 運用開始• 改良開始

Page 22: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

開発・修正期間の短縮JSF Version Wicket Version

• 学習(教育)期間▫ 約5ヶ月

• 1機能あたりの開発期間▫ 約1ヶ月

• システム全体の開発期間▫ 約7ヶ月

• 1バグあたりの修正期間▫平均3日

• 学習(教育)期間▫ 約1ヶ月

• 1機能あたりの開発期間▫ 約0.5ヶ月弱

• システム全体の開発期間▫ 約2.5ヶ月

• 1バグあたりの修正期間▫平均1日

Page 23: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

開発・修正期間の短縮JSF Version Wicket Version

• 私の残業時間(システム開発のみ)

▫平均130時間

• 私の残業時間(システム開発のみ)

▫平均60時間

とっても幸せを感じています

Page 24: Wicket体験談

第1回 Wicket 勉強会 LT 発表資料

ご静聴誠にありがとうございました。