Spring4-DevLove発表資料

2,958 views

Published on

2/5 DevLoveの発表資料です。
Spring関係の他愛もないハナシ。

Published in: Technology

Spring4-DevLove発表資料

  1. 1. 迎春2014
 Spring4.0 日本Springユーザ会 1
  2. 2. 発表者 •  長谷川 裕一 –  JSUG(日本Springユーザ会)会長 –  Starlight&Storm LLC 代表社員 •  Springに強い独立系のSI企業、フリーエン ジニアとお知り合いになりたい 2
  3. 3. もくじ •  社会的なハナシ •  Spring4的なハナシ •  現実的なハナシ 3
  4. 4. 社会的なハナシ 4
  5. 5. JSUG(日本Springユーザ会) •  最近は色々あって勉強会が開催されていない… –  色々の内訳の幾つか •  ネタが思いつかない(Projectが多すぎて、興味の範 囲が絞り切れない) •  発表者がいない(主要スタッフが栄転) – 募集中! •  開催会場が確保できない。BEA、Oracle、VMwareか らPivotal(EMC)!? •  今後、Pivotalが積極的にユーザ会をバックアップ!? –  シンガポールのユーザ会に、日本の流行ネタを提供 5
  6. 6. Spring.io 6
  7. 7. Pivotal •  EMCとVMware、GEの出資 –  EMC傘下のPivotal Labs(アジャイル開発サービス企業 )+ VMwareの製品(Spring、Gemfire、SQLfire、 RabbitMQ、Cloud Foundry...etc) •  Paul Maritz(CEO) –  Rod JohnsonはSpringSource(VMware)を去って Typesafeへ。Twitterでは@SpringRod!? •  Pivotal One –  2013/12/12 正式リリース •  今後に期待! 7
  8. 8. Spring4的なハナシ 8
  9. 9. Springの歴史 •  •  •  •  •  •  •  2004/3 Spring1.0 DIxAOP登場 2005/5 Spring1.5 DTDからXMLスキーマへ 2006/10 Spring2.0 アノテーション登場、JPA...etc 2007/11 Spring2.5 更なるアノテーション強化 2009/12 Spring3.0 もっとアノテーション強化 2011/11 Spring3.1 クラウドを意識し始める 2013/12 Spring4.0 今日ここ! 9
  10. 10. Spring4.0 •  2013/12/12 リリース –  Spring3(2009)以来のメジャーバージョンアップ –  Java6以上必要 •  主な追加機能 –  Java 8のサポート –  WebSocketの実装 –  Java EE 7 関連 •  主な削除機能 –  Struts API(org.springframework.web.struts) –  iBatis API(org.springframework.orm.ibatis) 10
  11. 11. ワンポイント:Java8のサポート •  lambda –  SpringはTemplateを良く使うので役に立つ!? •  Spring JDBCとか… jdbcTemplate.query("SELECT * FROM person WHERE dep = ?", ps -> ps.setString(1, "Sales"), (rs, rowNum) -> new Person(rs.getString(1), rs.getString(2))); 11
  12. 12. ワンポイント: WebSockeの実装 •  概要 –  HTML5からのスピンアウト •  JavaEE7 WebSocketの採用(JSR-356) –  クライアント/サーバ間で双方向の全二重通信で高パフォーマンス –  真実のMVC •  Spring –  org.springframework.web.socketパッケージ •  TextWebSocketHandler :文字列を扱う場合 •  BinaryWebSocketHandler :文字列以外を扱う場合 –  SockJSの提供 •  古いブラウザでWebSocketを利用する場合 •  試す –  Tomcat7.0.47以上、GlassFish4.0以上、Jetty9.0以上 12
  13. 13. ワンポイント: Java EE 7 関連 •  JTA1.2 –  javax.transaction.Transactionalが利用可能 •  Bean Validation(JSR-349) –  メソッドの引数と戻り値、コンストラクタの引数でValidation 可能 @NotNull @Valid public Employee getEmployee(@NotNull String id) {//...} –  メッセージ内でEL式の利用が可能 13
  14. 14. 参考にどうぞ •  Spring4 –  正しいスライド •  http://www.slideshare.net/ZeroTurnaround/juergenhoellerspring4onjava8-24613140 –  サンプルコード •  https://github.com/olivergierke/spring4-guided-tour •  Springを試すなら –  STS •  http://spring.io/tools 14
  15. 15. 現実的なハナシ 15
  16. 16. Springの実際 •  案件増えてます –  人が足りません •  SpringのProjectの達人 •  オブジェクト指向やアーキテクチャが分かってる人 •  企業のFramework(JSUGで過去に発表したもの) –  NTTデータ –  日本ユニシス –  CSK(発表当時。現在SCSK) –  日本アクセンチュア 16
  17. 17. 今そこにある問題 •  現在は、DIxAOPとかレイヤ構成は当たり前 –  でも、設計とかイマイチ… –  モデリングとかもサッパリ… •  Projectの選択と組合せも問題 –  Project多すぎ –  そもそも、そのProjectは実績あるの? –  そして、使いこなせる人は? 17
  18. 18. Projects 18
  19. 19. JSUGで作る予定!? プレゼン層のテキトーな例 Strutsが大好き No 独立した単体の 画面を作成する 画面ごとにアク セス制限を設定 する SpringMVC + Security SpringMVC YES Good Bye ウィザード形式 等の複数画面で 構成される機能 を作成する 画面ごとにアク セス制限を設定 する Web Flow + Security Web Flow 19
  20. 20. ご清聴ありがとうございました 20
  21. 21. ライセンスについて •  JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生 作品)の複製・頒布・表示・上演を認めます。 •  非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。 •  本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。 21

×