SlideShare a Scribd company logo
1 of 28
Spring
Framework
が大好きなおはなし
Future Architect
木佐貫 智
本日お伝えしたいこと
 Framework war is Over !?
 SpringはOracle 公認 !?
 Spring Frameworkはすごく楽しい
 カジュアルに旬のテクノロジーを採用できる
2イントロダクション(1/3)
Java Frameworkのおさらい
フレームワーク 開発元 特徴
Spring Framework Pivotal
(DELL/VMWare
傘下)
Spring MVC, DI/AOP, RESTful,
トランザクション マネジメント、メッセージング
他のOSSとの連携に優れている
Java EE Oracle Webアプリケーションを開発するためのライブラリ、
フレームワーク、アプリケーションサーバの仕様の策定
Play Framework Zengularity
(フランスの会社)
ステートレス・アーキテクチャ(サーバに情報を持たない)
Reactive Stream
Struts Apache
Foundation
2008年に開発終了
Viewとロジックの分離に成功したフレームワーク
XMLにバリデーション、URLマッピングを行う
3イントロダクション(2/3)
Spring Project の紹介
4
プロジェクト名 特徴
Spring Framework Spring MVC, DI/AOP, RESTful, トランザクション マネジメント、メッセージング
他のOSSとの連携に優れている
Spring Boot よりカジュアルにWebアプリケーションを作成できるようにするためのフレームワーク
設定ファイルをXMLではなく、コードで書けるようにしている
Spring Security 認証・認可を行うための巨大なサーブレット・フィルター
セキュリティを担保するための機能も充実(CSRF対策・XSS対策)
Spring Cloud AWS Amazonのサービス(SQS・ElastiCache・S3)をSpring Wayで記述できるように
したライブラリ群
Spring Cloud Netflix マイクロサービスを実現するためには、複数のデザインパターンを用いる必要があるが、
デザインパターンの適応が即座にできるようにしたライブラリ群
Spring Data Gemfire インメモリデータグリッド(Pivotal GemFire)を扱うためのライブラリ群
Spring Integration Enterprise Integration Patternsを適応したフレームワーク
プロトコル変換、フィルター、変換、Publish/Subscribe
Spring AMQP RabbitMQを扱うためのライブラリ
Spring XD リアルタイム解析、バッチ処理、データ収集をシンプルにするためのアプリケーション
イントロダクション(3/3)
なぜ、季節の名前なの?
5Framework war is Over !? (1/10)
冬のJ2EE 時代(1999~2006)
~フレームワーク戦争の原点 ~
6Framework war is Over !? (2/10)
フレームワーク戦争に春が訪れた?
7Framework war is Over !? (3/10)
フレームワーク戦争に春が訪れた?
8
Oracle
Framework war is Over !? (4/10)
フレームワーク戦争に春が訪れた?
9
Oracle
Duke
Framework war is Over !? (5/10)
フレームワーク戦争に春が訪れた?
10
Oracle
Duke
Spring Boot !!
Framework war is Over !? (6/10)
フレームワーク戦争の勝利者は!?
11
The fact that Spring has
essentially won the framework
wars
Java Magazine 英語版 Framework war is Over !? (7/10)
フレームワーク戦争の勝利者は!?
12
Java Magazine 日本語
Spring が大人気のサード・パーティ・
フレームワークとして頭角を・・・
Framework war is Over !? (8/10)
Google先生に聞いてみた
13Framework war is Over !? (9/10)
諸説あるようです
14Framework war is Over !? (10/10)
Java EE リリースは遅い
~Java SEリリースの2年遅れ~
15
出典:初めてのJava EE 6──第1回 Java EEとは、
どのようなフレームワークか?(ZDNet)
Java SE7
2011年3月
Java SE6
2006年12月
J2SE 5.0
2004年9月
J2SE 1.4
2002年2月
J2SE 1.3
2002年2月
J2SE 1.2
1998年12月
J2SE 1.1
1997年2月
Spring Framework は楽しい・筋が良い技術(1/11)
Java EE リリースは遅い
~Java SEリリースの2年遅れ~
16
出典:初めてのJava EE 6──第1回 Java EEとは、
どのようなフレームワークか?(ZDNet)
Java SE7
2011年3月
Java SE6
2006年12月
J2SE 5.0
2004年9月
J2SE 1.4
2002年2月
J2SE 1.3
2002年2月
J2SE 1.2
1998年12月
J2SE 1.1
1997年2月
Java SE8
2014年3月
Java EE8
2016 4Q?
使ってみたい技術
はあるけど、リリー
スされない・・・
2,3年前に規格さ
れた技術は忘れ
る・・・
何年も前にSpring
で実装済み・・・
MVC1.0
& HTTP/2
Spring Framework は楽しい・筋が良い技術(2/11)
Spring は Java9 Ready
Java SEと同じリリースタイミング
17
Spring JIRA
Java9
Spring Framework は楽しい・筋が良い技術(3/11)
18
Java9
Q4 2016
Q4 2016
Spring JIRA Spring Framework は楽しい・筋が良い技術(4/11)
Spring は Java9 Ready
Java SEと同じリリースタイミング
19
Java9
Q4 2016
Q4 2016
開発遅延で・・・
Q1 2017
Spring JIRA Spring Framework は楽しい・筋が良い技術(5/11)
Spring は Java9 Ready
Java SEより早くリリース!????
フライング
リリース!??
( OpenJDK利用? )
SpringをJava EEが標準仕様として認める
~ 筋の良い技術は生き残る ~
Java EE
Spring FrameworkとJava EEの関係
バージョン 機能 リリース
Java EE 8 MVC1.0 4Q 2016
Spring MVCを標準化した仕様
Spring MVC 3.1 は 1Q 2012 リリース
Java EE 7 jBatch 2Q 2013
Spring Batchを標準化した仕様
Spring Batch 2.1 は 2010 リリース
Java EE 6 DI/AOP 2Q 2009
Spring DI/AOP, Google Guiceを標準化し
た仕様
DI/AOPは、2005年ごろ
20Spring Framework は楽しい・筋が良い技術(6/11)
エンタープライズITを構築するための
豊富なプロジェクト
21
プロジェクト名 特徴
Spring Framework Spring MVC, DI/AOP, RESTful, トランザクション マネジメント、メッセージング
他のOSSとの連携に優れている
Spring Boot よりカジュアルにWebアプリケーションを作成できるようにするためのフレームワーク
設定ファイルをXMLではなく、コードで書けるようにしている
Spring Security 認証・認可を行うための巨大なサーブレット・フィルター
セキュリティを担保するための機能も充実(CSRF対策・XSS対策)
Spring Cloud AWS Amazonのサービス(SQS・ElastiCache・S3)をSpring Wayで記述できるように
したライブラリ群
Spring Cloud Netflix マイクロサービスを実現するためには、複数のデザインパターンを用いる必要があるが、
デザインパターンの適応が即座にできるようにしたライブラリ群
Spring Data Gemfire インメモリデータグリッド(Pivotal GemFire)を扱うためのライブラリ群
Spring Integration Enterprise Integration Patternsを適応したフレームワーク
プロトコル変換、フィルター、変換、Publish/Subscribe
Spring AMQP RabbitMQを扱うためのライブラリ
Spring XD リアルタイム解析、バッチ処理、データ収集をシンプルにするためのアプリケーション
Spring Framework は楽しい・筋が良い技術(7/11)
どんな技術もSpring Wayで
カジュアルに扱える
 非同期もアノテーションで簡単実装
22
@Asyncって書くだけ
Spring Framework は楽しい・筋が良い技術(8/11)
どんな技術もSpring Wayで
カジュアルに扱える
 RabbitMQ(再実行担保の非同期)も簡単に
23Spring Framework は楽しい・筋が良い技術(9/11)
どんな技術もSpring Wayで
カジュアルに扱える
 RabbitMQ(再実行担保の非同期)も簡単に
24Spring Framework は楽しい・筋が良い技術(10/11)
リアルタイム集計は、
Spring XD で Spark をカジュアルに
 ウインドウ集計(例:5分間隔の売上)はSparkで
25Spring Framework は楽しい・筋が良い技術(11/11)
Spring Projectは
書籍・ドキュメントが豊富です
26クロージング(1/3)
NTTデータ
開発ガイドライン
Spring 公式
ドキュメント
Future コンポーネントの
アーキテクチャ理解にも最適
27
NTTデータ
開発ガイドライン
Spring 公式
ドキュメント
クロージング(2/3)
トランザクションスコープを考慮
して記載しており、オススメ
より良いエンタープライズITを
Springを駆使して作ってみませんか?
28クロージング(3/3)

More Related Content

What's hot

Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_cccPivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_cccMasatoshi Tada
 
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Akito Tsukahara
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」yoshiaki iwanaga
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント土岐 孝平
 
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービューMasatoshi Tada
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのかreact-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか暁 三宅
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう土岐 孝平
 
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!オラクルエンジニア通信
 
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)NTT DATA Technology & Innovation
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解Masahito Zembutsu
 
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメSatoshi Takami
 

What's hot (20)

Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_cccPivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
 
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
 
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのかreact-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
 
SpringBootTest入門
SpringBootTest入門SpringBootTest入門
SpringBootTest入門
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
 
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
 
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
 
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~Java11へのマイグレーションガイド ~Apache Hadoopの事例~
Java11へのマイグレーションガイド ~Apache Hadoopの事例~
 

Similar to Spring frameworkが大好きなおはなし

株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料leverages_event
 
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpPure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpToshiaki Maki
 
JJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynoteJJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynote心 谷本
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門minazou67
 
Play!framework2.0 introduction
Play!framework2.0 introductionPlay!framework2.0 introduction
Play!framework2.0 introductionmasahitojp
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編Asami Abe
 
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyBeginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyToshiaki Maki
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発Kota Mizushima
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用de:code 2017
 
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)Daisuke Nishino
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2Y Watanabe
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門minazou67
 
福井イベント
福井イベント福井イベント
福井イベントYoshio Terada
 

Similar to Spring frameworkが大好きなおはなし (20)

株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料株式会社インタースペース 沖本様 登壇資料
株式会社インタースペース 沖本様 登壇資料
 
Apex Test Plusの紹介
Apex Test Plusの紹介Apex Test Plusの紹介
Apex Test Plusの紹介
 
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpPure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjp
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
JJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynoteJJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynote
 
110409 slintky lt
110409 slintky lt110409 slintky lt
110409 slintky lt
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門
 
Play!framework2.0 introduction
Play!framework2.0 introductionPlay!framework2.0 introduction
Play!framework2.0 introduction
 
Spring.project
Spring.projectSpring.project
Spring.project
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyBeginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門
 
福井イベント
福井イベント福井イベント
福井イベント
 
Groovyコンファレンス
GroovyコンファレンスGroovyコンファレンス
Groovyコンファレンス
 

Spring frameworkが大好きなおはなし

Editor's Notes

  1. フューチャーアーキテクト 木佐貫です。 石橋さんの後でとても緊張しておりますが、 私からは Spring Frameworkについてお話したいと思います。
  2. 7分という短い時間ですので、 ・ Framework war is Over ・ Spring Framework は凄く楽しい の2つのテーマをお伝えします。
  3. Java Frameworkのおさらいから。 Java フレームワークは複数の種類が存在致しますが、 現在、Spring / Java EE / Play Framework  が有力です。 エンタープライズITとして選択されるのは、 Spring Framework 、Java EEがあげられます。 Spring Frameworkは、VMWare傘化のPivotalという会社がメインで5-6名で作成しています。 Pivotalは、VMWareがAWS・GoogleAppエンジンのようなPaaSの世界を目指して作った組織で、 PaaSサービスを提供しています。
  4. Spring Projectについても先に説明致します。 Spring は複数のプロジエクトが存在します。 Spring Frameworkは、Springの一プロジェクトです。 Spring Frameworkは、Java EEの代替を目指して開発されていたフレームワークです。 なお、Spring Projectは50以上ありますが、 個人的に面白いと感じているプロジェクトをこちらのスライドに記載しています。 Spring Boot という言葉をお聞きすることも多いと思いますが、、 Spring Frameworkをベースに、よりカジュアルにWebアプリケーションを作成できるようにしたプロジェクトです。 他にも、 巨大サーブレットフィルターのSpringSecurity、 AWSのサービスをSpring Wayで記載できるようになる Spring Cloud AWS マイクロサービスを実現するためのライブラリ、Spring Cloud Netflix 証券系で使われる技術である、インメモリデータグリッドを簡単に扱えるSpring Data Gemfire と諸々ございます。 Spring Integrationは、Futureコンポーネントでいうと、CORE-Sに該当します。 エンタープライズのシステム連携に必要なコンポーネントを集約したプロジェクトです。 Springには、このように、さまざまなアーキテクチャに対応するためのプロジェクトがあり、 柔軟に組み合わせ、Spring Wayと呼ばれる表現で統一した書き方が出来るのが最大の魅力です。
  5. 話は変わりますが、なぜSpringと季節の名前が入っているかご存知ですか?
  6. 理由は、Javaフレームワークに冬の時代があったからです。 J2EEの仕様がまだまだ未成熟で、J2EEのアンチテーゼとして様々なフレームワークが作られていきました。 フレームワーク戦争が始まった原点です。
  7. J2EEから始まったフレームワーク戦争ですが、 戦況に大きい変化が見られました。
  8. 4月だからSpring Boot特集??
  9. 英語ページを開いてみると、、、、 Spring has won the framework wars と記載されています
  10. 日本語ページ もしかかして、私の英語力弱い!????
  11. ちょっと納得できないので、 Google 先生に訊いてみました
  12. 諸説あるようです
  13. Java EEと Spring の比較をしましょう。 Java EEは年々開発が遅れており、Java SEのリリースから二年半程度かかっております。
  14. Java EEの仕様策定から、リリースまで二年半もあきがあるため、 出たころには陳腐化しているのが現実です。。。。。
  15. Spring Framework では、新しい技術がすぐに使えるように、 JavaSEのリリースタイミングと合わせています。
  16. Java 9 のリリーススケジュールが変更となったため、 Java 9 出ていないけど、Java9対応のSpring Frameworkが出るという不思議な現象がみられるかもしれません。
  17. 標準以外のフレームワークを使って大丈夫か? と感じられると思いますが、大丈夫です。 Spring Frameworkで作り上げた仕様を、Java EEが追認しているのが実態です。 また、Java EEで策定された仕様はSpring に反映されているため、標準技術は基本的に使用できます。 Framework War is Over はこの辺りからも言われています。
  18. 何より、SpringはエンタープライズITを構築するための豊富なプロジェクトがあります。
  19. そして、どんな技術もSpring Wayでカジュアルに扱えます。 アノテーションひとつで非同期は実現出来ます。 Procinfを書く必要はありません。
  20. Rabbit MQもカジュアルに扱えます。
  21. パラメータークラスを作る必要もありません。 Procinfを書く必要はありません。 ヌルポも発生しません。
  22. リアルタイム集計は、Sparkを使いましょう。 5分当たりの売上をリアルタイムに知りたいなどは、Sparkの得意分野です
  23. 何より、Spring Projectは書籍・ドキュメントが豊富です。
  24. Springは、アーキテクチャを理解して、Spring Wayで書くのが流儀です。 Springのドキュメントはアーキテクチャを必ず説明します。 Future コンポーネントのアーキテクチャ理解にも最適です。
  25. わくわくしませんでしたか? より良いエンタープライズITを Springを駆使して作ってみませんか? ご清聴ありがとうございました。