Spring4-DevLove発表資料

21
1 迎春2014 Spring4.0 日本Springユーザ会

description

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

Transcript of Spring4-DevLove発表資料

Page 1: Spring4-DevLove発表資料

1

迎春2014Spring4.0

日本Springユーザ会

Page 2: Spring4-DevLove発表資料

発表者

•  長谷川 裕一 – JSUG(日本Springユーザ会)会長

– Starlight&Storm LLC 代表社員 • Springに強い独立系のSI企業、フリーエン

ジニアとお知り合いになりたい

2

Page 3: Spring4-DevLove発表資料

もくじ

•  社会的なハナシ •  Spring4的なハナシ •  現実的なハナシ

3

Page 4: Spring4-DevLove発表資料

社会的なハナシ

4

Page 5: Spring4-DevLove発表資料

JSUG(日本Springユーザ会)

•  最近は色々あって勉強会が開催されていない… –  色々の内訳の幾つか

•  ネタが思いつかない(Projectが多すぎて、興味の範囲が絞り切れない)

•  発表者がいない(主要スタッフが栄転) – 募集中!

•  開催会場が確保できない。BEA、Oracle、VMwareからPivotal(EMC)!?

•  今後、Pivotalが積極的にユーザ会をバックアップ!? –  シンガポールのユーザ会に、日本の流行ネタを提供

5

Page 6: Spring4-DevLove発表資料

Spring.io

6

Page 7: Spring4-DevLove発表資料

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

Page 8: Spring4-DevLove発表資料

Spring4的なハナシ

8

Page 9: Spring4-DevLove発表資料

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

Page 10: Spring4-DevLove発表資料

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

Page 11: Spring4-DevLove発表資料

ワンポイント:Java8のサポート

•  lambda –  SpringはTemplateを良く使うので役に立つ!?

•  Spring JDBCとか…

11

jdbcTemplate.query("SELECT * FROM person WHERE dep = ?", ps -> ps.setString(1, "Sales"), (rs, rowNum) -> new Person(rs.getString(1), rs.getString(2)));

Page 12: Spring4-DevLove発表資料

ワンポイント: WebSockeの実装 •  概要

–  HTML5からのスピンアウト •  JavaEE7 WebSocketの採用(JSR-356)

–  クライアント/サーバ間で双方向の全二重通信で高パフォーマンス –  真実のMVC

•  Spring –  org.springframework.web.socketパッケージ

•  TextWebSocketHandler :文字列を扱う場合 •  BinaryWebSocketHandler :文字列以外を扱う場合

–  SockJSの提供 •  古いブラウザでWebSocketを利用する場合

•  試す –  Tomcat7.0.47以上、GlassFish4.0以上、Jetty9.0以上

12

Page 13: Spring4-DevLove発表資料

ワンポイント: Java EE 7 関連

•  JTA1.2 –  javax.transaction.Transactionalが利用可能

•  Bean Validation(JSR-349) –  メソッドの引数と戻り値、コンストラクタの引数でValidation

可能

–  メッセージ内でEL式の利用が可能

13

@NotNull @Valid public Employee getEmployee(@NotNull String id) {//...}

Page 14: Spring4-DevLove発表資料

参考にどうぞ

•  Spring4 –  正しいスライド

•  http://www.slideshare.net/ZeroTurnaround/juergen-hoellerspring4onjava8-24613140

–  サンプルコード •  https://github.com/olivergierke/spring4-guided-tour

•  Springを試すなら –  STS

•  http://spring.io/tools

14

Page 15: Spring4-DevLove発表資料

現実的なハナシ

15

Page 16: Spring4-DevLove発表資料

Springの実際

•  案件増えてます –  人が足りません

•  SpringのProjectの達人 •  オブジェクト指向やアーキテクチャが分かってる人

•  企業のFramework(JSUGで過去に発表したもの)

–  NTTデータ –  日本ユニシス –  CSK(発表当時。現在SCSK) –  日本アクセンチュア

16

Page 17: Spring4-DevLove発表資料

今そこにある問題

•  現在は、DIxAOPとかレイヤ構成は当たり前 –  でも、設計とかイマイチ… –  モデリングとかもサッパリ…

•  Projectの選択と組合せも問題 –  Project多すぎ –  そもそも、そのProjectは実績あるの? –  そして、使いこなせる人は?

17

Page 18: Spring4-DevLove発表資料

Projects

18

Page 19: Spring4-DevLove発表資料

JSUGで作る予定!?

19

Strutsが大好き 独立した単体の画面を作成する

ウィザード形式等の複数画面で構成される機能

を作成する

画面ごとにアクセス制限を設定

する

画面ごとにアクセス制限を設定

する

SpringMVC +

Security

SpringMVC

Web Flow +

Security

Web Flow

Good Bye

プレゼン層のテキトーな例

YES

No

Page 20: Spring4-DevLove発表資料

20

ご清聴ありがとうございました

Page 21: Spring4-DevLove発表資料

21

ライセンスについて •  JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生

作品)の複製・頒布・表示・上演を認めます。

•  非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。

•  本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。