Download - Wicket体験談
![Page 1: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/1.jpg)
第1回 Wicket 勉強会 LT 発表資料
Wicketによる社内用システム開発・運用体験談Gishi ( id:gishi_yama )
![Page 2: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/2.jpg)
第1回 Wicket 勉強会 LT 発表資料
自己紹介•Gishi ( id:gishi_yama )
•地方の大学で社内 SE 的職員をやってます
•主に文科省認定プロジェクトに関わる教育システムの開発・運用学生の研究開発のマネージメントを担当してます
•Wicket を使いはじめて6ヶ月目です
![Page 3: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/3.jpg)
第1回 Wicket 勉強会 LT 発表資料
私が発表できること•実際の運用で大丈夫、という一例•Wicket で幸せになりました
といった体験談。
特殊な社内システムのケースなのでうすーい内容なのですが、どうかご容赦ください。
![Page 4: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/4.jpg)
第1回 Wicket 勉強会 LT 発表資料
私が社内で開発しているシステム•授業支援グループウェア
▫ グループの管理▫ コミュニケーションとその管理▫ 授業情報の公開と管理▫ アンケートの集計と管理▫ 教職員スケジュールの公開と管理
Wicket の基本的なコンポーネントで
作ってます
![Page 5: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/5.jpg)
第1回 Wicket 勉強会 LT 発表資料
Wicketに至る経緯
![Page 6: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/6.jpg)
第1回 Wicket 勉強会 LT 発表資料
ことのはじまり•2006 年から授業支援グループウェアを開発することになりました(文科省認定プロジェクト)
•外注ではなく独自開発することになりました▫開発期間が限られている▫実践研究を兼ねており、運用中の仕様変更・再実装を手軽にしたい
▫独自開発した教育用システムの運用実績がある
![Page 7: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/7.jpg)
第1回 Wicket 勉強会 LT 発表資料
開発当初•開発要員は私と大学4年生2人~5人(学生は卒業し、毎年初心者に入れ替わる)
•それまで使っていた Struts + Tiles 環境に伴う膨大な xml の存在が負担増
新たなフレームワークに希望を見いだしたくてJSF ( MyFaces ) +Spring1.5 を採用
限られた工数・人材の中でできるだけ開発効率を上げたい!
![Page 8: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/8.jpg)
第1回 Wicket 勉強会 LT 発表資料
2 年近くかかって開発しました
• グループ管理機能• コミュニケーション機能• 授業情報管理機能• アンケート機能
2006.02
2006.09
2007.04
• 仕様策定(2ヶ月)• JSF,Spring 習得・教育(5ヶ月)
• 運用開始• 機能改良開始• JSF,Spring 教育(4ヶ月)
• スケジューラ機能2007.12
![Page 9: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/9.jpg)
第1回 Wicket 勉強会 LT 発表資料
JSF(+Spring1.5)の苦痛• xml の行数は減ったものの、結果として約 2000 行• JSP の UI タグとブラウザの表示イメージが結びつかない• コンポーネントに癖がある( h:datatable など)• 開発中に MyFaces の仕様が大きく変更( h:form など)
開発・修正に思った以上に時間がかかる
教育コストが高い
コーディング速度も開発効率が上がらない……カスタムコンポーネントも xml が付きまとう……使いこなすのが大変だ ……orz
![Page 10: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/10.jpg)
第1回 Wicket 勉強会 LT 発表資料
2007年 12月改良への要求に開発が追いつかなくなる•インターフェースの改善・機能改良が主な課題•与えられた期間は4ヶ月、開発者は私のみ
教職員(ユーザ)
登録画面の整理をしてほしいなあ
アンケートの選択項目ごとに自由記入欄がほしいなあ
UI コンポーネントにバグが………
……
etc
![Page 11: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/11.jpg)
第1回 Wicket 勉強会 LT 発表資料
途方に暮れていた私に救いの手
id:mdgw さん(兄弟子)
使いやすいフレームワークがメジャーになってきたよなんたってページ遷移に xmlを使わないんだ
その名も wicket だ
![Page 12: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/12.jpg)
第1回 Wicket 勉強会 LT 発表資料
Wicketと出会って
![Page 13: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/13.jpg)
第1回 Wicket 勉強会 LT 発表資料
触ってみてすぐに利点と感じた事• ページ遷移・構成に xml を使わない開発中に Java (と HTML )から目を離さなくていい
• データモデルを扱いやすいPropertyModel や CompoundPropertyModel で快適
• コンポーネント用に特別なタグや属性が(ほぼ)いらないあっても非常にシンプル
• Ajax コンポーネントの存在Ajax 実装未経験者でも一瞬でリッチUI に
• Panel コンポーネントの存在カスタムコンポーネントもその使い回しも簡単
![Page 14: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/14.jpg)
第1回 Wicket 勉強会 LT 発表資料
特殊なアンケートの様なビューも簡単
Panel クラスで既存のコンポーネントを組み合わせてカスタムコンポーネント化
1クラスだけで実現( 100 行程度)
![Page 15: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/15.jpg)
第1回 Wicket 勉強会 LT 発表資料
出会った当時心配だったこと
•ドキュメントが英語だけしかない……
•実際の教育コストはどうなるだろう……
•運用実績が無い……
![Page 16: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/16.jpg)
第1回 Wicket 勉強会 LT 発表資料
ドキュメントが英語だけしかない……
•基本的なコンポーネントを使う上では、▫先駆者の皆さんのドキュメント▫Wicket examplesだけで、疑問点の解決がほぼ可能だった
英語が苦手な開発者でも割と安心できる事例やサンプルが出揃ってきている
![Page 17: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/17.jpg)
第1回 Wicket 勉強会 LT 発表資料
実際の教育コストはどうなるだろう……
•今年度入社したプログラマさんで実験してみた▫ 大学卒、大学の授業で Java を学習したことがある▫ 以後、一般企業で組み込み系( C 言語・ MVC 開発経験者)のプログラマを4年間経験
約 1 ヶ月程度で問題なく開発を開始( JAVA )プログラミング経験者なら敷居は低い
Wicket を全く知らない状態で“Enjoying Web Development with Wicket” を渡してみた
![Page 18: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/18.jpg)
第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体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/19.jpg)
第1回 Wicket 勉強会 LT 発表資料
ただ、どうしても困ったこともあります
![Page 20: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/20.jpg)
第1回 Wicket 勉強会 LT 発表資料
結論Wicketでどれだけ幸せになったか
![Page 21: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/21.jpg)
第1回 Wicket 勉強会 LT 発表資料
結局、ほぼ一人でシステムを全て丸ごと作りなおしました
• グループ管理機能• コミュニケーション機能
• 授業情報管理機能• アンケート機能• スケジュール機能
2008.01
2008.03
2008.05
• 仕様策定(1ヶ月)• Wicket 習得(1ヶ月)
• 運用開始• 改良開始
![Page 22: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/22.jpg)
第1回 Wicket 勉強会 LT 発表資料
開発・修正期間の短縮JSF Version Wicket Version
• 学習(教育)期間▫ 約5ヶ月
• 1機能あたりの開発期間▫ 約1ヶ月
• システム全体の開発期間▫ 約7ヶ月
• 1バグあたりの修正期間▫平均3日
• 学習(教育)期間▫ 約1ヶ月
• 1機能あたりの開発期間▫ 約0.5ヶ月弱
• システム全体の開発期間▫ 約2.5ヶ月
• 1バグあたりの修正期間▫平均1日
![Page 23: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/23.jpg)
第1回 Wicket 勉強会 LT 発表資料
開発・修正期間の短縮JSF Version Wicket Version
• 私の残業時間(システム開発のみ)
▫平均130時間
• 私の残業時間(システム開発のみ)
▫平均60時間
とっても幸せを感じています
![Page 24: Wicket体験談](https://reader034.vdocuments.mx/reader034/viewer/2022052620/557ad7d7d8b42a85648b474d/html5/thumbnails/24.jpg)
第1回 Wicket 勉強会 LT 発表資料
ご静聴誠にありがとうございました。