spring frameworkが大好きなおはなし
TRANSCRIPT
Spring Framework が大好きなおはなしFuture Architect木佐貫 智
2
本日お伝えしたいこと
Framework war is Over !? Spring は Oracle 公認 !?
Spring Framework はすごく楽しい カジュアルに旬のテクノロジーを採用で
きる
イントロダクション (1/3)
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 マッピングを行う
イントロダクション (2/3)
4
Spring Project の紹介プロジェクト名 特徴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)
5
なぜ、季節の名前なの ?
Framework war is Over !? (1/10)
6
冬の J2EE 時代 (1999 ~ 2006)
~フレームワーク戦争の原点 ~
Framework war is Over !? (2/10)
7
フレームワーク戦争に春が訪れた ?
Framework war is Over !? (3/10)
8
フレームワーク戦争に春が訪れた ?
Oracle
Framework war is Over !? (4/10)
9
フレームワーク戦争に春が訪れた ?
OracleDuke
Framework war is Over !? (5/10)
10
フレームワーク戦争に春が訪れた ?
OracleDuke
Spring Boot !!
Framework war is Over !? (6/10)
11
フレームワーク戦争の勝利者は !?
The fact that Spring has essentially won the
framework warsJava Magazine 英語版
Framework war is Over !? (7/10)
12
フレームワーク戦争の勝利者は !?
Java Magazine 日本語
Spring が大人気のサード・パーティ・フレームワークとして頭角
を・・・Framework war is Over !? (8/10)
13
Google 先生に聞いてみた
Framework war is Over !? (9/10)
14
諸説あるようです
Framework war is Over !? (10/10)
15
Java EE リリースは遅い~ Java SE リリースの2年遅
れ~
出典 : 初めての Java EE 6── 第 1 回 Java EEとは、どのようなフレームワークか? (ZDNet)
Java SE72011 年 3月
Java SE62006 年 12月
J2SE 5.02004 年 9月
J2SE 1.42002 年 2月
J2SE 1.32002 年 2月
J2SE 1.21998 年 12月
J2SE 1.11997 年 2月
Spring Framework は楽しい・筋が良い技術(1/11)
16
Java EE リリースは遅い~ Java SE リリースの2年遅
れ~
出典 : 初めての Java EE 6── 第 1 回 Java EEとは、どのようなフレームワークか? (ZDNet)
Java SE72011 年 3月
Java SE62006 年 12月
J2SE 5.02004 年 9月
J2SE 1.42002 年 2月
J2SE 1.32002 年 2月
J2SE 1.21998 年 12月
J2SE 1.11997 年 2月
Java SE82014 年 3月
Java EE8
2016 4Q?
使ってみたい技術はあるけど、リリースされな
い・・・
2 ,3 年前に規格された技術は忘
れる・・・
何年も前にSpring で実装済
み・・・
MVC1.0& HTTP/2
Spring Framework は楽しい・筋が良い技術(2/11)
17
Spring は Java9 ReadyJava SE と同じリリースタイミング
Spring JIRA
Java9
Spring Framework は楽しい・筋が良い技術(3/11)
18
Java9
Q4 2016
Q4 2016
Spring JIRASpring Framework は楽しい・筋が良い技術(4/11)
Spring は Java9 ReadyJava SE と同じリリースタイミング
19
Java9
Q4 2016
Q4 2016
開発遅延で・・・Q1 2017
Spring JIRASpring Framework は楽しい・筋が良い技術(5/11)
Spring は Java9 ReadyJava SE より早くリリース !????
フライングリリース !??
( OpenJDK 利用 ? )
20
Spring を Java EE が標準仕様として認める
~ 筋の良い技術は生き残る ~Java EE
Spring Framework と Java EE の関係バージョ
ン 機能 リリース
Java EE 8 MVC1.0 4Q 2016Spring 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 2009Spring DI/AOP, Google Guice を標準化した仕様DI/AOP は、 2005 年ごろ
Spring Framework は楽しい・筋が良い技術(6/11)
21
エンタープライズ IT を構築するための
豊富なプロジェクトプロジェクト名 特徴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)
22
どんな技術も Spring Way でカジュアルに扱える
非同期もアノテーションで簡単実装
@Async って書くだけ
Spring Framework は楽しい・筋が良い技術(8/11)
23
どんな技術も Spring Way でカジュアルに扱える
RabbitMQ( 再実行担保の非同期 ) も簡単に
Spring Framework は楽しい・筋が良い技術(9/11)
24
どんな技術も Spring Way でカジュアルに扱える
RabbitMQ( 再実行担保の非同期 ) も簡単に
Spring Framework は楽しい・筋が良い技術(10/11)
25
リアルタイム集計は、Spring XD で Spark をカジュ
アルにウインドウ集計 ( 例 :5 分間隔の売上 ) は
Spark で
Spring Framework は楽しい・筋が良い技術(11/11)
26
Spring Project は書籍・ドキュメントが豊富で
す
クロージング(1/3)
NTT データ開発ガイドライン
Spring 公式ドキュメント
27
Future コンポーネントのアーキテクチャ理解にも最適
NTT データ開発ガイドライン
Spring 公式ドキュメント
クロージング(2/3)
トランザクションスコープを考慮して記載してお
り、オススメ
28
より良いエンタープライズ IT をSpring を駆使して作ってみませ
んか ?
クロージング(3/3)