@thorikiriのてょりっき

@thorikiriがWebとかAndroidとかの技術ネタや本を読んだブログです

GlassFish Users Group Japan 勉強会 June 2012に行ってきました #glassfishjp

GlassFish使ったこと無いけど…。でも興味は持ったので、選べる機会があれば選んでみようかなと思いますよ。
遅刻しましたけど。

Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)

Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)

GlassFishを4年間使ってきて思う事

資料:GlassFish & JavaEE by Masuji Katoda on Prezi
途中から聞きましたけど、メモを。

  • Jenkins使ってる。
    • 周りの人にも使っていいよと言ってるけど、使ってくれてない。
  • 今V2だけど、V3にしたらやりたいこと
    • JAX-RS, CDI
    • 組み込み可能コンテナ
    • まだ標準化されてないけどWebSocket
  • V4になったら
    • Java EE7を視野に。
    • 2013年1Q〜2Qの時期

JavaEE6 First Application

資料:JavaEE6 First Application #glassfishjp
CRUDアプリを作ってその解説。すごく簡単。ぶっちゃけEntityを作ってフィールド追加してGetter/Setter作っただけで動いちゃう。

  • JSFはManagedBeanの戻り値をnullなら自画面遷移。
  • CDI使う場合には、beans.xmlが必要。beans.xmlを置くと使えるようになる。忘れずに。
  • 後は金魚本を読んでください。

Glassfishと他の (OSS) APP Server の取り巻く状況の比較

資料:Application Server 紹介 #glassfishjp
アプリケーションサーバのコミュニティの状況とかを調べて比べてみた。
Issueの消化状況をグラフ化しててすごく新鮮だった。

  • Glassfish
    • ドキュメントの類もIssueで管理されている。
    • JavaEE対応が最も速い
    • WebLogicと棲み分け
    • 管理コンソールが使いやすい
  • JBoss
    • Issueが優秀
    • EAPが出るとアップデートが停止する
    • なのでセキュリティの面で少し不安がある
  • Geronimo
    • メインだったIBMが撤退したので止まってる
    • WebSphere使えってことだと思う
  • TomEE
    • 新機能のIssueが多くバグのIssueは少ない
    • まだまだ始まったばかり
  • Tomcat
    • 惰性で使ってる人が多いんじゃないかな
    • 特に困ってない人は使い続けるのかな(PM的にも)
    • リリースも安定してる

GlassFishユーザー認証ワンポイントレッスン

資料は見当たらなかった。まだ上がってないのかな。
認証と認可のお話。Glassfishではどうなの的なこと。

  • 認証と認可
    • 認証は本人かどうか確かめることで、サーバがやる。
    • 認可は権限があるかどうかを確かめることで、アプリがやる。
  • Realm
    • 色々選べるけど、デフォルトはファイルRealmです。WebLogicLDAP Realmがデフォルトです。
    • パスワードは暗号化されてます。管理コンソールで編集する。管理コンソール用のRealmもある。
  • JDBC Realm
    • どのテーブルのどのカラムなの?の定義を設定する。
    • パスワードはSHA-256のハッシュじゃないとダメです。昔はMD5でした。
  • LDAP Realm
    • ActiveDirectoryの場合は認証設定が必要です。
  • PAM Realm, Solaris Realm
  • ファイルかJDBCLDAPがおすすめ。
    • JAAS(カスタム)は推奨しないそうです。理由は忘れました。
  • UserRoleMapping
    • sun_web.xmlとかglassfish_web.xmlとかで編集します。
    • とは言え、XMLは嫌なので管理コンソールから、どこかにチェックを入れると楽です。
    • ルールが各アプリケーションで共通になってしまうので、異なるルールの場合はXMLじゃないとダメです。
    • チェックを入れてから、デプロイされたものにしか有効にならないので、再度デプロイするのを忘れないように。

Pure Java EE or Spring?

資料:Pure JavaEE or Spring #glassfishjp
なかなかぶっちゃけ話が出てきて面白かったです。
Pure Java EEかSpringかって話ですが、甲乙つけがたいとの結論。
慣れてるの使えばいいよと言うのは本当にその通りで、集まった開発者達っていうのも、アーキテクチャ上の制約になるのは当然のことかと思います。
jarをどうするかって言うメリデメは単純に聞いてて面白かったです。
Springとかであれば、自己責任でJarを入れ替えられるよね。でも、自分で用意しないといけないし、warが大きくなるよね。逆にJavaEEであればアプリケーションサーバが持ってるからwarに含めなくて良いけど、選べないよねって言う。
宗教論争は盛り上がるけど、それ言ってても仕方ないよねって言うお話でした。政治と宗教と野球の話はしないほうがいいね!