"Spring Dataの神髄を語る"に行ってきました。

普段SpringDataを使ってMongoDBでホゲホゲしているのですが、
そのコアディベロッパーのOliverGierke(@olivergierke)さんが来日ということで、
日曜の夕方でしたが行ってきました→[ATND]Spring Dataの神髄を語る

ちなみに、Oliverさんはドイツで働いている方ですが、
ほぼ丸一日しか東京に滞在しない&次の日インドに行って
講演という感じで、非常に強行軍の中、ありがとうございました。
 
今回の勉強会は、同時通訳付きということで、ミドルウエアの名前を訳そうと
してしまったりとかありましたが、もし、あまりコレ系の技術について
明るくない方だったのであれば、凄いクオリティだったなと思いました。
 
■ メモ
 
・RDBMS&ORマッパー
 ツリー構造なデータを保存しようとしたらあんまりフィットしないとか。

・MongoDBとかNeo4jの話。
 コードで見ると非常に使い方は明快だけど、2つのプロダクトでAPIが結構違う。
 統一したインターフェース欲しくね?っていう。
 JPAってのがあるけども、ObjectRelationalなMappingにガッツリ。
 JPAの説明の最初にもそう書いてある。
 MongoDBのある地点から2キロ半とかってのをJPAで扱う?
 
・SpringDataはどういうアプローチ?
 各プロダクトによって一貫性のある感じ。
 - KVS: Riak, Redis
 - Document: MongoDB, CouchDB,
 - その他: Hadoop, neo4j
 - もちろんRDMBSも。
 
 Springは多数のDeveloperが馴染みがある。
 JDBCやJMSのテンプレートはみんな使ってるよね、と。
 機能はだいぶ違うわけだけど、テンプレート使えばわかるはず。
 
 ということで、それ用のアノテーションで〜というアプローチ。
 MongoDBだったらDocumentアノテーション。
 Neo4JだったらNodeEntityってアノテーション。GraphIdとかRelatedToとか。
 
 もちろんNativeなAPIを叩く口も。execute(ほげほげ、コールバック)的な。
 例外とかもちゃんと扱えてナイスな感じで。
 
・Repository
 @Repositoryとかって感じで突っ込んでやって、
 ↓こんな感じで自分とこのパッケージを指定してやると、
 <jpa:repositories base-package=”com.acme.repositories” />
 Springがコンポーネントをスキャンしてくれて、
 STSがコード補完とか、そんなプロパティ無いとかしてくれる。
 
・QueryDsl
 これならMongoDBだろうがLuceneだろうがなんでもいける。
 柔軟にクエリを発行出来る。条件を追加したいとかも。
 あんまりちゃんと理解出来なかったけど、コレもRepository同様アツいっぽい。
 
・REST exporter
 リソースをREST形式で。curlとかWebブラウザとかからアクセス出来る。
 今風っぽい感じがしますね。
 
で、まぁ、総じて言うと、↓のSpringData本買って読んでね!って感じですかねw

 
■ QA
・Cassandraのサポートは?
→現時点ではプランは無い。需要があれば。オープンソースなのでやりたければ(ry
 
・ページネーション用コンポーネントのインターフェースについて
→(質問の意図とはちょっとあれだけど)DDD本に沿って実装したよ、と。
 こういうコード書く人たちはちゃんと本読んで勉強してるんだなって。
 

Springは創始者のロッドジョンソンがいなくなっちゃったり、
↓この辺とかで、VMwareから抜けて、EMS傘下の別会社に〜って事で
イロイロと物議を醸しているところですが、これからも頑張って欲しいです。
http://gigaom.com/cloud/remember-that-vmware-spin-off-its-baaa-aack/
http://www.infoq.com/jp/news/2012/12/vmware-spins-out-spring
 
また、この勉強会には↓の著者の方たちもいらっしゃってて、2名の方がプレゼントされてました!

Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ
長谷川 裕一 大野 渉 土岐 孝平
技術評論社
売り上げランキング: 7118

シェアする

  • このエントリーをはてなブックマークに追加

フォローする