少し前にJava EE 8に関する情報が色々まとまっていて、ウォッチするのにいいなぁと思ったページがありました。
それで「ZEEF」って単語を何となく覚えていたのですが昨日Twitterで
https://t.co/ehu2NZ7wijは WildFly で動いてるらしい。JSF エキスパートの BalusC さんも開発に参加してんだ
http://t.co/TOlCKOjj8Q
— 肉アンド魚肉 (@emaggame) 2015, 5月 14
というのをみて「え!WildFlyで動いてるの!?」とびっくりしました。で、さらにびっくりしたのは、なんとこのサイト、フロントがJSFで作られているっていう。
トップ画面の上段にオートコンプリート付きのテキストボックスあるんですけど
Image may be NSFW.
Clik here to view.
この辺はPrimeFaces使ってるっぽいです!
Image may be NSFW.
Clik here to view.
昔、@aoetkさんが
で色々紹介されていたように、オープンなサイトをJSFで、というのはあるにはあるのですが…(^^;
で、このzeef.comのアーキテクチャについてAdam Bienさんがブログでインタビュー回答みたいな形式で書かれていて非常に興味深いです。
A Java EE Startup: Filtering Information with zeef.com : Adam Bien's Weblog
Java SE 8、Java EE 7の組合せでアプリケーションサーバはWildFly 8.2。そしてアプリはWARじゃなくてEAR形式とのこと。そういえば自分、EARで固めたことないなぁ(^^;
先ほども書きましたが、フロントはJSFで、CDI管理BeanやBean Validationや一部JSFのバリデータを利用してるとのこと。
EJB(Stateless以外にEJBTimerなんかも使ってるようです)やJPA,JAX-RSも使って、ガチなJava EE構成っぽいです。セキュリティはJASPIC(Java Authentication Service Provider Interface for Containers)、ただしJASPIC自身はlow-levelなので、higher levelなのは作る手間もあったようで、それがモチベーションとなってJava EE 8 securityのExpert Groupに参加されてるそうです。って、書くとさらっとしてるけど、すごいなぁ(^^;;
で、JSF周辺ですが
OmniFacesやPrimeFaces、PrettyTimeなどを使っているそうです。
PrettyTimeって初めて知りました(^^;これPrettyFaces作ってるのと同じ所ですね。
自分もOmniFaces使ってたり
PrimeFacesもガッツリなので
なんか日本では浮いてる感じなのかなぁ…(そもそもJSFとかね)みたいに結構ネガティブだったのですが、あながち間違った選択してないんじゃー、的な気持ちになって嬉しかったです(^^)
その他、Markdownの処理にはPegDown、HTMLのパーサにJSoup、RSS/AtomはROME、画像周辺はImage4J、mgscalr、Batik、他にもGoogle API client libraryやキャッシュやJPA以外のエンティティにInfinispan、Hibernate Searchも使っているようです。
Java技術てんこ盛り!使ったことないライブラリも多々あるので少しずつ触ってみたいなぁ。
パフォーマンスどうなの?って辺りには
Java EE is incredible fast. The website itself is now doing over 120k views a month and as mentioned above is running on a single server basically, which is not even that powerful.
とのことで
@kikutaro_ちょうどそのパフォーマンスのところに 120k views a month とありますね。1 日平均 4 k PV ? ですかね。サーバ 1 台でさばいてるみたいですね
— 肉アンド魚肉 (@emaggame) 2015, 5月 14
ですね。サーバのスペックまでは書かれてないですが、それほどパワフルではないとのこと。
で、JSFにも触れてます。
You occasionally hear that JSF is supposedly not suited for public web sites, since it would be slow and using a lot of memory. We found however that this is absolutely not the case.
これは自分がJSFやり始めた頃にもよく聞いて、「JSFは速度やメモリ的にオープンなサイトにはあんまり向かない」と教えられて育ったので結構衝撃的な一文でした(^^;
あわせてJSF関連のベンチマークも紹介されてたので、読みたいところです。
- http://content.jsfcentral.com/c/journal/view_article_content?cmd=view&groupId=35702&articleId=73398&version=1.8#.VVYFAfntlBc
- WildFly 8 benchmarked | J-Development
他にも色々細かい説明書かれているので、Java EEな方々には参考になるのではないでしょうか。英語で細かいニュアンスいまいちわからない所もありますが、めっちゃ面白かったです。