Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Wicket による 社内用システム開発・運用体験談 Gishi  ( id:gishi_yama )
自己紹介 <ul><li>Gishi ( id:gishi_yama ) </li></ul><ul><li>地方の大学で社内 SE 的職員をやってます </li></ul><ul><li>主に文科省認定プロジェクトに関わる 教育システムの開発...
私が発表できること <ul><li>実際の運用で大丈夫、という一例 </li></ul><ul><li>Wicket で幸せになりました </li></ul><ul><li>といった体験談。 特殊な社内システムのケースなので うすーい内容なので...
私が社内で開発しているシステム <ul><li>授業支援グループウェア </li></ul><ul><ul><li>グループの管理 </li></ul></ul><ul><ul><li>コミュニケーションとその管理 </li></ul></ul...
Wicket に至る経緯  
ことのはじまり <ul><li>2006 年から授業支援グループウェアを開発することになりました(文科省認定プロジェクト) </li></ul><ul><li>外注ではなく独自開発することになりました </li></ul><ul><ul><li...
開発当初 <ul><li>開発要員は私と大学4年生2人~5人 (学生は卒業し、毎年初心者に入れ替わる) </li></ul><ul><li>それまで使っていた Struts + Tiles 環境に伴う膨大な xml の存在が負担増 </li><...
2 年近くかかって開発しました 2006.02 2006.09 2007.04 2007.12 <ul><li>グループ管理機能 </li></ul><ul><li>コミュニケーション機能 </li></ul><ul><li>授業情報管理機能 ...
JSF ( +Spring1.5 )の苦痛 <ul><li>xml の行数は減ったものの、結果として約 2000 行 </li></ul><ul><li>JSP の UI タグとブラウザの表示イメージが結びつかない </li></ul><ul>...
2007 年 12 月 改良への要求に開発が追いつかなくなる <ul><li>インターフェースの改善・機能改良が主な課題 </li></ul><ul><li>与えられた期間は4ヶ月、開発者は私のみ </li></ul>教職員(ユーザ) ……… ...
途方に暮れていた私に救いの手 id:mdgw さん(兄弟子) 使いやすいフレームワークが メジャーになってきたよ なんたってページ遷移に xml を使わないんだ その名も  wicket   だ
Wicket と出会って  
触ってみてすぐに利点と感じた事 <ul><li>ページ遷移・構成に xml を使わない 開発中に Java (と HTML )から目を離さなくていい </li></ul><ul><li>データモデルを扱いやすい PropertyModel や ...
特殊なアンケートの様なビューも簡単 Panel クラスで既存のコンポーネントを組み合わせてカスタムコンポーネント化 1クラスだけで実現 ( 100 行程度)
出会った当時心配だったこと <ul><li>ドキュメントが英語だけしかない…… </li></ul><ul><li>実際の教育コストはどうなるだろう…… </li></ul><ul><li>運用実績が無い…… </li></ul>
ドキュメントが英語だけしかない…… <ul><li>基本的なコンポーネントを使う上では、 </li></ul><ul><ul><li>先駆者の皆さんのドキュメント </li></ul></ul><ul><ul><li>Wicket exampl...
実際の教育コストはどうなるだろう…… <ul><li>今年度入社したプログラマさんで実験してみた </li></ul><ul><ul><li>大学卒、大学の授業で Java を学習したことがある </li></ul></ul><ul><ul><...
運用実績が無い…… <ul><li>全ユーザ数 約 1000 名のグループウェア </li></ul><ul><li>これまでの最大同時利用人数 164 名 </li></ul><ul><li>Wicket 1.3 + Guice </li><...
ただ、 どうしても困ったこともあります
結論 Wicket でどれだけ幸せになったか  
結局、ほぼ一人で システムを全て丸ごと作りなおしました 2008.01 2008.03 2008.05 <ul><li>グループ管理機能 </li></ul><ul><li>コミュニケーション 機能 </li></ul><ul><li>授業情報...
開発・修正期間の短縮 <ul><li>JSF  Version </li></ul><ul><li>Wicket Version </li></ul><ul><li>学習(教育)期間 </li></ul><ul><ul><li>約5ヶ月 </l...
開発・修正期間の短縮 <ul><li>JSF  Version </li></ul><ul><li>Wicket Version </li></ul><ul><li>私の残業時間(システム開発のみ) </li></ul><ul><ul><li>...
ご静聴 誠にありがとうございました。
Upcoming SlideShare
Loading in …5
×

Wicket体験談

3,871 views

Published on

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

  • Be the first to comment

Wicket体験談

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

×