Spring4-DevLove発表資料
-
Upload
hasegawa-yuichi -
Category
Technology
-
view
2.188 -
download
0
description
Transcript of Spring4-DevLove発表資料
1
迎春2014Spring4.0
日本Springユーザ会
発表者
• 長谷川 裕一 – JSUG(日本Springユーザ会)会長
– Starlight&Storm LLC 代表社員 • Springに強い独立系のSI企業、フリーエン
ジニアとお知り合いになりたい
2
もくじ
• 社会的なハナシ • Spring4的なハナシ • 現実的なハナシ
3
社会的なハナシ
4
JSUG(日本Springユーザ会)
• 最近は色々あって勉強会が開催されていない… – 色々の内訳の幾つか
• ネタが思いつかない(Projectが多すぎて、興味の範囲が絞り切れない)
• 発表者がいない(主要スタッフが栄転) – 募集中!
• 開催会場が確保できない。BEA、Oracle、VMwareからPivotal(EMC)!?
• 今後、Pivotalが積極的にユーザ会をバックアップ!? – シンガポールのユーザ会に、日本の流行ネタを提供
5
Spring.io
6
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
Spring4的なハナシ
8
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
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
ワンポイント: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)));
ワンポイント: WebSockeの実装 • 概要
– HTML5からのスピンアウト • JavaEE7 WebSocketの採用(JSR-356)
– クライアント/サーバ間で双方向の全二重通信で高パフォーマンス – 真実のMVC
• Spring – org.springframework.web.socketパッケージ
• TextWebSocketHandler :文字列を扱う場合 • BinaryWebSocketHandler :文字列以外を扱う場合
– SockJSの提供 • 古いブラウザでWebSocketを利用する場合
• 試す – Tomcat7.0.47以上、GlassFish4.0以上、Jetty9.0以上
12
ワンポイント: Java EE 7 関連
• JTA1.2 – javax.transaction.Transactionalが利用可能
• Bean Validation(JSR-349) – メソッドの引数と戻り値、コンストラクタの引数でValidation
可能
– メッセージ内でEL式の利用が可能
13
@NotNull @Valid public Employee getEmployee(@NotNull String id) {//...}
参考にどうぞ
• Spring4 – 正しいスライド
• http://www.slideshare.net/ZeroTurnaround/juergen-hoellerspring4onjava8-24613140
– サンプルコード • https://github.com/olivergierke/spring4-guided-tour
• Springを試すなら – STS
• http://spring.io/tools
14
現実的なハナシ
15
Springの実際
• 案件増えてます – 人が足りません
• SpringのProjectの達人 • オブジェクト指向やアーキテクチャが分かってる人
• 企業のFramework(JSUGで過去に発表したもの)
– NTTデータ – 日本ユニシス – CSK(発表当時。現在SCSK) – 日本アクセンチュア
16
今そこにある問題
• 現在は、DIxAOPとかレイヤ構成は当たり前 – でも、設計とかイマイチ… – モデリングとかもサッパリ…
• Projectの選択と組合せも問題 – Project多すぎ – そもそも、そのProjectは実績あるの? – そして、使いこなせる人は?
17
Projects
18
JSUGで作る予定!?
19
Strutsが大好き 独立した単体の画面を作成する
ウィザード形式等の複数画面で構成される機能
を作成する
画面ごとにアクセス制限を設定
する
画面ごとにアクセス制限を設定
する
SpringMVC +
Security
SpringMVC
Web Flow +
Security
Web Flow
Good Bye
プレゼン層のテキトーな例
YES
No
20
ご清聴ありがとうございました
21
ライセンスについて • JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生
作品)の複製・頒布・表示・上演を認めます。
• 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認めます。
• 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。