"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