Archive for the 'Guice' Category

WicketとGuiceとActiveObjectsで作ったTwitterを使ったMashUpアプリを公開するよ

Twitterをコミュニケーションインフラとして使うMashUpを、Wicket-Guice-ActiveObjectsで作りました。

ランチオフったー
http://server.mesolabs.com/lunchofftter/

プロトタイプとして作った上、使ってるライブラリも安定版じゃなくテストも不十分なので、まったく安定してないと思いますが、ぜひ使ってみてくださいな。

Twitterをコミュニケーションインフラとして使うことで、こちらとしては個人情報を預かるというリスクを避けることができ、ユーザも個人情報を預けるというリスクを避けることができます。
また、結果をオープンに知らせることで、さらにランチオフの輪を広げることができるんじゃないかなとも思ってTwitterを使うことに決めました。

ソースコードはオープンにする予定ですが、ちょっと人様に見せられるように修正するまでお待ちください。

感想・意見・疑問・苦情・要望・非難等は、このブログかTwitterにお願いします。

Wicket-Guiceに合うORMは?

Wicket-Guiceが出来ましたね。

まあ、詳しくは矢野さんの記事読んでください。

ここのまとめでも書かれているように、GuiceはWicketのようにJavaの利点を最大限に活用したDIコンテナなので、Wicketとの相性はとてもいいはずです。

ってことで、標準ガチガチ準拠のWebアプリを作成しなければいけない場合以外は、もう、Wicket-Guiceで僕の中では確定です。
言語がJavaである場合は、ですが(笑)

で、こうなると、パーシステンス層をどうしましょ?ってことになりますよね。

S2Wicket-Seasar2ならばS2Daoで確定でいいし、Wicket-SpringならSpringとの連携がしやすいもの(例えばHibernate)でいいでしょうし、Wicket-javaeeならJPA準拠のORMならなんでもいいでしょう。

しかし、せっかくWicketとGuiceというXMLがまったく要らない構成できたんだから、パーシステンス層もXMLなしのものにしたくないですか?

というわけでいくつか選択肢を。

これらは、全てXMLによる設定ファイルが必要ありません。
っていうか、BeanKeeper、pBeansに至ってはDB設計すら必要ありませんし、NeoDatis ODBはRDBではなくOODB(オブジェクトデータベース)なので、DB設計という概念すらありません。

4つともに言えることが、使い方がとても簡単であること。

ただし、簡単であるが故に犠牲にしている部分もあって、BeanKeeperとかpBeansは自動で生成されたテーブルにこちらが意図しないORMが内部的に使うカラムが作成されちゃって見苦しいし、恐らくパフォーマンス的にも他のORMに比べて見劣りするのではないかと想像します(パフォーマンスを売り文句にしてないので)。
NeoDatis ODBは培ってきたRDBの知識が活かせません。ってか導入するよう上司(or顧客)を説得できるとは思えません・・・。

そこでMr.Persisterですよ。
こいつは知名度はいまいちですが、更新系でHibernateよりも圧倒的に優れたパフォーマンスをはじき出しています。DB設計をしなくてはいけないというのは、逆に言うとテーブルやカラムの構成を自分の思うとおりにできるということだし、なんといっても検索系をチューニングしたいときに、素のSQLが使えます。HibernateのHQLに腹を立てる毎日とはもうおさらばです。

というわけで僕的には、Mr.Persisterが一押しです。
現在、次の安定版である4.0.0の前の最後のβ版である3.9.9が出てる状態です。

WicketもApache Incubatorを卒業することが決定したのでWicket1.3が出るのももうすぐでしょう。

というわけで、Mr.Persister4.0.0とWicket1.3が出たら、Wicket-Guice-Mr.PersisterというXMLを(web.xml以外)一切使わない構成でまた何か作ってみようと思います。

次のページ »