SeasarConfarence2009White行ってきますたw

家庭持ちな私ですが、
 『土曜ですけど、、
  WhiteDayですけど、、、
  お勉強で終日出かけるね』
と家庭内稟議を通していってきますたww


強い風雨の中、前日福岡出張に向かわれたid:bose999さんは
戻れるのか心配しながら東西線に乗り込んで会場に多分2,3番目についてました^^;
※係の人とか数人しかいなかったorz


今回は撮影されないということのなのでお手伝いはなしで
聴衆側で楽しませて頂きました。


ということで参加したセッションのメモをいつもながらまとめてみました。
他のセッション分は、資料をネットで漁って聞いた気になってみようと思います^^;

2009/03/14 S2Con

0.活動報告 S305

 ・募集しているもの
  ・会員(1000円/1口)

  ・教育をしてくれる企業
   ⇒ナレッジDBを提供

  ・商用サポートしてくれる企業
   ⇒ナレッジDBを提供

  ・認定試験してくれる企業
   ⇒ナレッジDBを提供

 ・Seasarの資金で目指すもの
  SeasarをはじめとするOSS活動の活発化

1.id:t_yanoさん Wicketシステム開発の現場 S306

 ・自己紹介
  ・フリーのプログラマ
  ・ニコニコ動画で有名なDwangoでバックエンドの開発をしている
  ・Wicket-jaを運営
 ・なぜ新しいF/Wなのか?
  ・ユーザーの要望は変化していく
  ・最近の要望
   ・JavaScriptがでまわったことな動的な画面がよにあふれているのでそれにあったものを求める
    ⇒F/Wで対応したものがあれば・・・
  ・状況が変化してきているのでF/Wも変わってくる
   ⇒覚えるのが大変><
 ・Wicketとは?
  ・特徴
   ・オブジェクト指向のF/W
    Java自体オブジェクト指向だが、そこは、プリミティブなオブジェクト指向
    組み方がオブジェクト指向
    ※Servletは、プログラミングは手続き型言語
   ・オブジェクト指向のプログラミング環境
    ・オブジェクトをオブジェクトとして開発するのではなくF/Wが管理してくれる
    ・アプリケーションの制御をプログラミング
     ⇒設定ファイルがない
   ・コンポーネント
    ・他との違い
     コンポーネントをjar化して提供することも可能にする
 ・オブジェクト指向
  ・Webアプリケーションでは手続き型がほとんど
   ・ステートを維持できない
    ⇒プログラマがセッションを維持管理
    ※WicketではF/Wが管理してくれる
 ・Wicket採用時の心理的な壁
  ・いままでにない技法・概念
   人を集められるの?
   ⇒教育コストが・・・
   ・覚えることが多くなる
  ・採用されている概念はもともとJavaにある概念
   ⇒ServletJSPでは出てこない技法
    ⇒Appletの時代は普通に使っていた
    ⇒Swingでも同様に使われてきた
   ・やったことがないと混同してはいけない
    ⇒技術的に難しいのとは違う
  ・ユーザーの要望と値率して先に進まない
 ・人は集められるの?
  ⇒最近でてきたF/Wなので経験者は少ない
   ⇒なにをやってほしいのかを考える
   ※役割分担重要
    ⇒そこを意識することで集めやすくなる
 ・Wivketとオブジェクト指向
  ・デザインとオブジェクトの作成のレイアを分けている
  ・オブジェクト(クラス)の使用
   ⇒作る人と使う人が実質分かれている
    ⇒コンポーネント化の基本
     ⇒オブジェクト指向の優位点
  ・作業分担できるのでやはり役割分担重要
 ・教育コストが。。。
  ・教育コストを払うのは当たり前
   ⇒一週間程度は研修を!
   ※Wicketだけではなく
  ・新しい技術を採用するのと教育コストはトレードオフを考慮
  ・日本語情報が少ない
   ・書籍、トラブル情報の蓄積
    ⇒あたらしいF/Wではしょうがない><
   ・書籍は、昨日出版されました^^
   ・トラブル情報はwicket-jaでw
 ・Wicketの利点
  ・各分離がある
   ・リスナとコンポーネント
  ・パッケージングと再利用
   ・jar化
   ・使う側は詳細を知る必要はない
  ・ビヘイビア
   ・コンポーネントに追加できるプラグイン的なもの
   ・基底の機能を持ったものに機能だけを追加できる
   通常の継承したクラス拡張ではない!
  ・リスナ
   ・イベント通知の為のJavaの考え
   ・各種イベントの通知
  ・リスナとビヘイビアを組み合わせて追加する
   リスナを使ってイベントを取得し、ビヘイビアを利用して機能を追加し、実行する
   ※作業分担の要
 ・Dwangoでの事例
  ・請求データ等の管理
  ・基幹システムとの連携
  ・構成
   Wicket<コア・F/W<サービス、データアクセス<サブシステム
   F/W  共通機能               アプリ
  ・HTML先行
   ・先にHTMLモックを作成し、ユーザーの要望を固める
   ・HTMLはそのままアプリに利用
   ・動かしては変更するアジャイルな開発
  ・自動化
   ・コンピュータにやってもらえるものはコンピュータにやってもらう
    ・Railsのようにマスタメンテは自動生成
    ・Velocityを利用してWicketのソースを生成
   ・リスナによりGuiceを統合
   ・リクエストパラメータ注入
    ・処理は結構面倒
     ⇒リスナで検知して勝手にインジェクション
     @Paramアノテーションを開発
    ・DBエンティティ注入
     @Paramで指定されたものをキーとしてオブジェクトを取得してインジェクション
   ・コンポーネント
    ・ページング対応
     ・ページ遷移をAjaxで移動できるようにしたコンポーネント
    ・テーブルのソート用ヘッダ
     ・Ajaxでソートが変更できるコンポーネント
    ※Ajaxを利用してTableタグ部分のみ対応
   ・アプリケーショントランザクション
    ・ビジネス関係なくても美辞エストランザクションというがちょっと嫌><
    ・画面遷移の間がトランザクションの範囲
     ・検索〜入力、確認、完了
     これらをWicketのキャッシュ機能を利用して分離確保
    ※@ObjectContextNameアノテーション
     ・コンテキストを分けることでキャッシュ機能を分離できる
   ・バリデーションの自動登録
    ・Wicketでは入力コンポーネントに制約オブジェクトを設定する
    ⇒ちょっとうざったい><
     ⇒面倒なことは自動化^^
     ※バリデーションは表(Excel)で管理するもの・・・
      ⇒その表を利用してそのままバリデーションを自動で設定
     ※同じことを2度やらない=Dry=正義
   ・確認フォームの自動生成
    ・まったく同じ構成の画面を2度つくるのはうざい><
     ⇒Wicketはオブジェクトで前の画面を次の画面にコンポーネントとしてわたすことが可能
      画面内のコンポーネントを捜査するAPIもある⇒自動生成するようにした^^
   ・自動テストCI:hudson
    ・WicketTester単体テストツール
     ⇒アプリケーションの振る舞い自体をテストできる
     hudson+WicetTester⇒かなり強力
 ・誰がWicketにむているか
  ・自分たちで機能を増やしていきたい人
  ・前に進みたい人
 ・Wicketを使うと
  ・べーすにある機能が結構あるのでやれることが多くなる
 ・F/Wは足かせではなく、土台!
 ・豊富な拡張ポイントがあり、拡張がやりやすい
 ・Wicket本が出たよ
  ・1.4RC2準拠

2.id:masataka_kさん OSSの今後 S304
 ・OSS
  ・OSSの理想と現実
  
  ・OSS
   ソースが公開されている
   利用方法に制限がない
   配布方法に制限がない
   
  ・知的財産件の当たらし考え方
  ・共同作業方法の新しい考え方
  
  ・OSSライセンス
  
  ・OSS開発コミュニティ
  
  ・OSSの発生・成長
   ・OSSのエコシステム
   ・OSSとはフリーなソフトウェアがという認識のみが広まっている⇒発展がなかなかなされない
  
  ・実体
   ・利用:タダだから利用
   ・コミュニティは成熟しない
   ・OSSが開発されない
   
  ・Seasarの不思議
   ・カンファレンスに多数参加
   ・開発/メンテナンスが続く
    ※やや停滞感がある
   ※栗原さんがいるから!!!
  
  ・OSSの背景にある価値観
   ・ノウスフィアの開墾
   
   レイモンドの問題提起
    ・二次創作の自由?
 
 ※電源なしの為、、、メモここまで
  OSS活動を一般利用する側から頑張るゾナ

3.id:bose999さん JBossApplicationServer入門 S307
 ・JBossとは
  ・EJBを使えるもの
  ・J2EE準拠のプロダクト
  ・今では、周辺ミドルウェアが提供されている
 ・EAPとorg
  ・OSS版のorg
   そこでのフィードバックをEAP
  ・有償なEAP
   ディストリビュート
   サポートがあるから有償
 ・なぜJBoss
  ・TomcatJavaEEフル実装されていない
   ・JBossだったら助かった
  ・必要な機能をカスタマイズして利用可能
   ・必要なコンフィグを変更する必要はある
  ・Timer的な動きをするもの
   ・Tomcatだと直接的なものがない
   ・JBossだとメッセージキューのようなものやQuarts等がある
  ・Tomcatの開発者がJBoss開発者になった人がおおい
   ・Tomcatの代わりに使っても十分いい機能が提供されている
 ・マイクロカーネルアーキテクチャ
  ・プラグイン構造の主要アーキテクチャ
   ・MBeanがベースとなるプラグイン
    ・Webコンテナ
    ・EJBコンテナ
    ・MessagingService
    ・Webサービス
    etc
  ・5.0以降は
   ・ブートストラップ、コアサービスがのっかった状態
   ・DIコンテナの技術POJOでサービスを開発可能になった
   ・J2EE5に準拠
   ・5.0.1が最新
 ・Seasar2の稼動状況
  ・1.4まではデフォルトで稼動
  ・5.0.0.GAからVFSというファイル形式になったので稼動しない
   ⇒Seasar2.4.3でダメ
   ※現在対応するように対応中
    ⇒S2VFSというもので対応しようとしたが、コンテナとして対応することとなった
     ⇒武田さんも参加している
    ※koichikさんありがとうw
     ⇒現在warであれば5.0.0.GAでは稼動できたことが確認できた
      5.0.1.GAではwarのあま動かない状態
      多分次の5.0.2.GAで対応されるはず、、こうご期待!
 ・5.0.0.GAの稼動サンプル
  ・JVMによってZipが違うので注意!
  ・インストールはZipファイルを解凍するのみ
  ・構成を理解
   ・docにはマニュアルではなくサンプルが入っている
   ・server/minimal:最小構成
   ・server/default:通常利用するもの
   ・server/web:Tomcat相当(JavaEE6のWebプロファイル相当
   ・server/all:全部のせ(クラスタまで^^
   ・server/product:EAP版のみ
  ・Seasarのライブラリを取得
   ⇒SNAPSHOTの最新を取得
    ※Hudsonで毎晩最新のものを継続的にビルドしている
  ・既存のアプリのライブラリと差し替える
   ⇒S2コンテナーを改修しているため設定は不要
  ・S2JTA
   ・TomcatのようなJTAの実装のない環境の為にそれ相当のもの
   ・2フェーズコミットも対応
   ※JBossは持っているのでこれを使わないように設定する
   ※ロールバックの実装がBEAの著作権の問題で完全にできていない
    ⇒S2JTAでは問題がない部分ではある。
  ・geronimo*.jarが入っているものも排除する
   ⇒geronimoのライブラリでJBossのきょどうがおかしくなる可能性がある
  ・データソース設定
   ⇒docs/example/jca内に各DBのサンプルが存在する
  ・S2JDBC設定
   ⇒jta.dicnonをjta-jboss42.diconに差し替える
   ※jta-jboss42.diconは、HPにあるサンプルそのままで作成
  ・jdbc.dicon内
   ⇒FromJNDIの部分をカスタマイズ
  ・JBossの起動
   ⇒run.bat -b XXX.XXX.XXX.XXX
    ⇒デフォルトでlocalhostにバインドされている為
 ・Teedaで動かす時の注意点
  ・TeedaJSFを持っている
   ⇒web.xmlJBossJSFを使わないように設定する
 ・Apacheとの連携はmod_jk
  ・例ではスティッキーセッションのロードバランス
 ・mod_jkコンパイル
  ・RHELのApcheを入れてデフォルトで持っていないので要コンパイル
 ・あとは、bose999でググってネ^^
  ・月曜までには資料はアップするよ!

4.id:daisuke-mさん DIことはじめ S305
 ・DIの基礎
  ・DI:依存性注入
 ・オブジェクト指向の基礎
  ・依存性:依存先がなくなるとコンパイルできない
 ・実装ではなく仕様に依存
 ※資料見ると確実にDIの基本を押さえられる^^

5.LT S305
 1.id:kompiro 斜め上行くリッチクライアントの考え方(仮)
  ・アジャイルは、人だ。 イベントあり
  ・WebとデスクトップをちょっけつするJAM Circle
 
 2.小原さん もてるソースコードリーディング
  ・オープンソースを読むともてる
  ・ソースにはネタが落ちているwww
  ・普通にイケメンだからもててる by米林さん
 
 3.三上さん(EnogunoCap) 下っ端OSS採用工作
  ・秋の定時退社の人
   ・誰にアピール
   ・情報公開
 
 4.id:happy_ryo S2Configってなぁに
   ・diconの設定が違う場合
   ・テストの為のdicon
   ・DTOの設定を変えたい
  ・解決するのがS2Config
   ・サーバー上の設定ファイルからdiconへ値をDIできる
   ・環境ごとのdiconの違いを気にさせない
  ・リリースされます!
   ・S2Configを覚えておく!
  ・ja-netbeansは、人を求めている
 
 5.id:hashimoto エクセルを使ってポン
  ・escafeRule S2Ebi
  ・Excelを基本とした命令
  ・ルール外だしツール
  ・デシジョンテーブル
  ・いろんな意味でいろいろある
 
 6.片山さん Webコンテナ無限地獄
  ・T2の中の人
  ・SDLoader
   ・自動ポート検出機能:使っていないポートを検出して利用
  ・今回のチャレンジ
   ・SDLoader起動
   ・アプレットダウンロード
   ・アプレット起動
    ・アプレットでSDLoader起動
    ・アプレットをダウンロード
    ・アプレット起動
    ※無限
 
 7.id:Yoshioriさん Outputzで自分管理
  ・サイボウズ・ラボのサービス
  ・投稿文字数をカウントします
  ・見える化
  

最後のLTではひとつ部屋にたくさんの人が集まった状態を見ると
Seasarは日本で最大級のOSSコミュティだということが
肌で感じられました。
参加登録人数500名超えってすごくねぇ


LTの最後にソフトバンク クリエイティブの方のお話と
じゃんけん大会(本プレゼント)でしたw
※負けちゃいましたけどね。。。残念><


お約束の。。。ソフトバンク クリエイティブ パネェ!!