JavaOne 2007 での Spring Framework 事情

日立ソフトウェアエンジニアリング 河村 嘉之

今回の JavaOne の Spring Framework に関連する動きをレポートします。

前回の JavaOne では、DI の考え方が Java EE 5 に取り入れられたため、非常に注目を集めていた Spring Framework ですが、今回はもう落ち着いていると思っていました。しかし、実際に会場に行ってみると、Spring Framework に関するセッションはどれも人気があり、セッションの事前登録ですでに満員になっているセッションもいくつかありました。

今回の JavaOne では、Interface21 のメンバーを中心に Spring Framework に関連するセッションが 6 つありましたが、その中で私が出たセッションの様子をレポートします。

まずはじめに Rod Johnson が話した Spring Framework に関する中心のセッションから。

TS-7755 Advanced Spring Framework

予想していたよりも大盛況で、セッション会場は本格的に満員でした。セッション開始前に空いている椅子にかばんを置かないでっていうアナウンスがかかっていました。

セッションの内容は、

  • Spring って何?
  • Spring の拡張ポイント
  • Spring 2.1
  • Spring のスケールアウト

という内容。

Spring って何?という話ですが、Universal POJO Programming Model だと位置づけていました。

Springの拡張ポイントとしては、

  • AOP
  • IoC の拡張ポイントととして、FactoryBean、BeanPostProcessor、BeanFactoryPostProcessor、 BeanDefinition
  • Spring 2.0から導入されたカスタムネームスペース

など、いろいろなレイヤのものが紹介されていました。

Spring 2.1 ですが、

  • アノテーションによる設定 (XML との併用可)
  • JCA 1.5のサポート
  • JPAサポートのエンハンス

あたりです。

そして、Spring のスケールアウトとしては、

  • Grid環境への適用 (Tangosol、Teracottaなど)
  • SCA (Any Spring Application is SCA-Ready)
  • Spring OSGi (Spring Applicationのエクスポートとインポート)

をあげていました。

次に、Spring Frameworkに関連するほかのセッションから

TS-6821 Spring Web Flow: A Next-Generation Web Application Controller Technology

Spring Web Flow の紹介。JSF と連携させた話が中心でした。一昔前に試したときは、JSF との連携はあまりうまく動かず、やっぱり Web Flow 使うには Spring Web MVC でなくてはいけないのかと思いましたが、今回のセッションを見てみるとかなり良くなってるとおもいました。

今回はバージョン 1.0 の話題が中心でしたが、次期バージョンの 1.1 では、Ajax 対応として ICEFaces と Ajax4JSF と連携する、Acegi (Spring Security) と連携するあたりが挙げられていました。

TS-76950 Taking Java Technology to New Frontiers: Enterprise Batch Processing with Spring Batch

Spring を使ってバッチを動かすというもの。アクセンチュアと Interface21 でやっているプロジェクトです。Spring が持つトランザクションなどがつかえるのがメリット。また、バッチも Template を使う Spring のパターンが使われています。

最後に、Rod Johnson のセッションで、Spring2.1 は今週金曜日に M1 がダウンロード可能になると宣言していました。実際には、今週の日曜日(日本時間では月曜日)にアナウンスが流されて入手可能になっています。