少し前にJava EE 8に関する情報が色々まとまっていて、ウォッチするのにいいなぁと思ったページがありました。
javaee8.zeef.com
それで「ZEEF」って単語を何となく覚えていたのですが昨日Twitterで
というのをみて「え!WildFlyで動いてるの!?」とびっくりしました。で、さらにびっくりしたのは、なんとこのサイト、フロントがJSFで作られているっていう。
トップ画面の上段にオートコンプリート付きのテキストボックスあるんですけど
この辺はPrimeFaces使ってるっぽいです!
昔、@aoetkさんが
aoe-tk.hatenablog.com
で色々紹介されていたように、オープンなサイトを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作ってるのと同じ所ですね。
www.ocpsoft.org
自分もOmniFaces使ってたり
kikutaro777.hatenablog.com
PrimeFacesもガッツリなので
kikutaro777.hatenablog.com
なんか日本では浮いてる感じなのかなぁ…(そもそも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.
とのことで
ですね。サーバのスペックまでは書かれてないですが、それほどパワフルではないとのこと。
で、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関連のベンチマークも紹介されてたので、読みたいところです。
他にも色々細かい説明書かれているので、Java EEな方々には参考になるのではないでしょうか。英語で細かいニュアンスいまいちわからない所もありますが、めっちゃ面白かったです。